From 34fb11cee283bf7e5ca4874e2e9209889d26b91c Mon Sep 17 00:00:00 2001 From: "Contributor @ WeblineIndia" <38062303+partners-wli@users.noreply.github.com> Date: Fri, 24 Jul 2020 19:36:46 +0530 Subject: [PATCH] :initial commit --- .editorconfig | 9 + .eslintignore | 5 + .eslintrc | 33 ++ .gitignore | 32 ++ .prettierrc | 10 + .travis.yml | 4 + CHANGELOG.md | 2 + README.md | 130 ++++- dist/index.css | 9 + dist/index.js | 1183 ++++++++++++++++++++++++++++++++++++++ dist/index.js.map | 1 + dist/index.modern.js | 1167 +++++++++++++++++++++++++++++++++++++ dist/index.modern.js.map | 1 + editor.gif | Bin 0 -> 325250 bytes index.js | 8 + package.json | 67 +++ src/.eslintrc | 5 + src/index.js | 103 ++++ src/index.test.js | 7 + src/styles.module.css | 9 + src/util.js | 56 ++ 21 files changed, 2840 insertions(+), 1 deletion(-) create mode 100644 .editorconfig create mode 100644 .eslintignore create mode 100644 .eslintrc create mode 100644 .gitignore create mode 100644 .prettierrc create mode 100644 .travis.yml create mode 100644 CHANGELOG.md create mode 100644 dist/index.css create mode 100644 dist/index.js create mode 100644 dist/index.js.map create mode 100644 dist/index.modern.js create mode 100644 dist/index.modern.js.map create mode 100644 editor.gif create mode 100644 index.js create mode 100644 package.json create mode 100644 src/.eslintrc create mode 100644 src/index.js create mode 100644 src/index.test.js create mode 100644 src/styles.module.css create mode 100644 src/util.js diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..9d08a1a --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..a804767 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,5 @@ +build/ +dist/ +node_modules/ +.snapshots/ +*.min.js \ No newline at end of file diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000..530000c --- /dev/null +++ b/.eslintrc @@ -0,0 +1,33 @@ +{ + "parser": "babel-eslint", + "extends": [ + "standard", + "standard-react", + "plugin:prettier/recommended", + "prettier/standard", + "prettier/react" + ], + "env": { + "node": true + }, + "parserOptions": { + "ecmaVersion": 2020, + "ecmaFeatures": { + "legacyDecorators": true, + "jsx": true + } + }, + "settings": { + "react": { + "version": "16" + } + }, + "rules": { + "space-before-function-paren": 0, + "react/prop-types": 0, + "react/jsx-handler-names": 0, + "react/jsx-fragments": 0, + "react/no-unused-prop-types": 0, + "import/export": 0 + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..da3f7a9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,32 @@ +# OS Files +.DS_Store +Thumbs.db + +# Dependencies +node_modules/ + +# Dev/Build Artifacts +/tests/e2e/videos/ +/tests/e2e/screenshots/ +/tests/unit/coverage/ +jsconfig.json + +# Local Env Files +.env.local +.env.*.local + +# Log Files +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Unconfigured Editors +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw* +#Yarn +yarn.lock diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..a9646d4 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,10 @@ +{ + "singleQuote": true, + "jsxSingleQuote": true, + "semi": false, + "tabWidth": 2, + "bracketSpacing": true, + "jsxBracketSameLine": false, + "arrowParens": "always", + "trailingComma": "none" +} diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..c66a67b --- /dev/null +++ b/.travis.yml @@ -0,0 +1,4 @@ +language: node_js +node_js: + - 12 + - 10 diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..5bd8fa1 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,2 @@ +1.0.0 (JULY 24, 2020) +Initial release \ No newline at end of file diff --git a/README.md b/README.md index fca2e29..3c1cb0b 100644 --- a/README.md +++ b/README.md @@ -1 +1,129 @@ -# ReactJS-CK-Editor \ No newline at end of file +# ReactJS - CKEditor / WYSIWYG Editor + +A simple, native and easy-to-use WYSIWYG / Rich Text editor built in Quill.js and React.js + +## Table of contents + +- [Browser Support](#browser-support) +- [Demo](#demo) +- [Getting started](#getting-started) +- [Usage](#usage) +- [Available Props](#available-props) +- [Methods](#methods) +- [Want to Contribute?](#want-to-contribute) +- [Collection of Components](#collection-of-components) +- [Changelog](#changelog) +- [Credits](#credits) +- [License](#license) +- [Keywords](#Keywords) + +## Browser Support + +| ![Chrome](https://raw.github.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png) | ![Firefox](https://raw.github.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png) | ![Safari](https://raw.github.com/alrra/browser-logos/master/src/safari/safari_48x48.png) | ![Edge](https://raw.github.com/alrra/browser-logos/master/src/edge/edge_48x48.png) | ![IE](https://raw.github.com/alrra/browser-logos/master/src/archive/internet-explorer_9-11/internet-explorer_9-11_48x48.png) | +| ---------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | +| 83.0 ✔ | 77.0 ✔ | 13.1.1 ✔ | 83.0 ✔ | 11.9 ✔ | + +## Demo + +[![](editor.gif)](https://github.com/weblineindia/ReactJS-CK-Editor/editor.gif) + +## Getting started + +Install the npm package: + +```bash +npm install react-weblineindia-ck-editor +#OR +yarn add react-weblineindia-ck-editor +``` + +## Usage + +Use the `` component: + +```js +import React, { Component } from "react"; +import Editor from "react-weblineindia-ck-editor"; +class Test extends Component { + constructor(props) { + super(props); + this.state = { + editorHtml :'' + } + handleChange(html){ + this.setState({ + editorHtml : html + }) + } + render(){ + return( +
+ +
+ ) + } +} +export default Test; + +``` + +## Available Props + +| Name | Type | Default | Description | +| --------------------- | ------- | ---------------------------------------------------- | -------------------------------------------------------------------------------------- | +| id | String | quill-container | Set the id (necessary if multiple editors in the same view) | +| placeholder | String | - | Placeholder text for the editor | +| value | String | - | Set value to the the content or data property you wish to bind it to | +| modules | object | | Set modules | +| toolbar | Array | | Set toolbar | +| formats | Array | | Set formats | + +## Methods + +| Name | Parameters | Description | +| ---------------- | ---------------------------- | ----------------------------------------------------------------------------------- | +| blur | quill | Emitted on `blur` event | +| focus | quill | Emitted on `focus` event | +| onChange | | Emitted on `change` event | +| onKeyPress | | Emitted on `keypress` event | +| onKeyDown | | Emitted on `keydown` event | +| onKeyUp | | Emitted on `keyup` event | + +## Want to Contribute? + +- Created something awesome, made this code better, added some functionality, or whatever (this is the hardest part). +- [Fork it](http://help.github.com/forking/). +- Create new branch to contribute your changes. +- Commit all your changes to your branch. +- Submit a [pull request](http://help.github.com/pull-requests/). + +--- + +## Collection of Components + +We have built many other components and free resources for software development in various programming languages. Kindly click here to view our [Free Resources for Software Development](https://www.weblineindia.com/software-development-resources.html) + +--- + +## Changelog + +Detailed changes for each release are documented in [CHANGELOG.md](./CHANGELOG.md). + +## Credits + +react-weblineindia-ck-editor is inspired by [react-quill](https://www.npmjs.com/package/react-quill). + +## License + +[MIT](LICENSE) + +[mit]: https://github.com/weblineindia/ReactJS-CK-Editor/blob/master/LICENSE + +## Keywords + +react-weblineindia-ck-editor, react-ck-editor, reactjs-ck-editor, react-editor, react-ckeditor, rich-text-editor, wysiwyg-editor, reactjs-wysiwyg diff --git a/dist/index.css b/dist/index.css new file mode 100644 index 0000000..aeca916 --- /dev/null +++ b/dist/index.css @@ -0,0 +1,9 @@ +/* add css module styles here (optional) */ + +._styles-module__test__3ybTi { + margin: 2em; + padding: 0.5em; + border: 2px solid #000; + font-size: 2em; + text-align: center; +} diff --git a/dist/index.js b/dist/index.js new file mode 100644 index 0000000..92ff3fa --- /dev/null +++ b/dist/index.js @@ -0,0 +1,1183 @@ +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var React = _interopDefault(require('react')); +var ReactQuill = _interopDefault(require('react-quill')); +require('react-quill/dist/quill.snow.css'); + +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + subClass.__proto__ = superClass; +} + +function createCommonjsModule(fn, module) { + return module = { exports: {} }, fn(module, module.exports), module.exports; +} + +/** @license React v16.13.1 + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p=b?Symbol.for("react.suspense"):60113,q=b? +Symbol.for("react.suspense_list"):60120,r=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.block"):60121,w=b?Symbol.for("react.fundamental"):60117,x=b?Symbol.for("react.responder"):60118,y=b?Symbol.for("react.scope"):60119; +function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}var AsyncMode=l;var ConcurrentMode=m;var ContextConsumer=k;var ContextProvider=h;var Element=c;var ForwardRef=n;var Fragment=e;var Lazy=t;var Memo=r;var Portal=d; +var Profiler=g;var StrictMode=f;var Suspense=p;var isAsyncMode=function(a){return A(a)||z(a)===l};var isConcurrentMode=A;var isContextConsumer=function(a){return z(a)===k};var isContextProvider=function(a){return z(a)===h};var isElement=function(a){return "object"===typeof a&&null!==a&&a.$$typeof===c};var isForwardRef=function(a){return z(a)===n};var isFragment=function(a){return z(a)===e};var isLazy=function(a){return z(a)===t}; +var isMemo=function(a){return z(a)===r};var isPortal=function(a){return z(a)===d};var isProfiler=function(a){return z(a)===g};var isStrictMode=function(a){return z(a)===f};var isSuspense=function(a){return z(a)===p}; +var isValidElementType=function(a){return "string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};var typeOf=z; + +var reactIs_production_min = { + AsyncMode: AsyncMode, + ConcurrentMode: ConcurrentMode, + ContextConsumer: ContextConsumer, + ContextProvider: ContextProvider, + Element: Element, + ForwardRef: ForwardRef, + Fragment: Fragment, + Lazy: Lazy, + Memo: Memo, + Portal: Portal, + Profiler: Profiler, + StrictMode: StrictMode, + Suspense: Suspense, + isAsyncMode: isAsyncMode, + isConcurrentMode: isConcurrentMode, + isContextConsumer: isContextConsumer, + isContextProvider: isContextProvider, + isElement: isElement, + isForwardRef: isForwardRef, + isFragment: isFragment, + isLazy: isLazy, + isMemo: isMemo, + isPortal: isPortal, + isProfiler: isProfiler, + isStrictMode: isStrictMode, + isSuspense: isSuspense, + isValidElementType: isValidElementType, + typeOf: typeOf +}; + +var reactIs_development = createCommonjsModule(function (module, exports) { + + + +if (process.env.NODE_ENV !== "production") { + (function() { + +// The Symbol used to tag the ReactElement-like types. If there is no native Symbol +// nor polyfill, then a plain number is used for performance. +var hasSymbol = typeof Symbol === 'function' && Symbol.for; +var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; +var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; +var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; +var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; +var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; +var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; +var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary +// (unstable) APIs that have been removed. Can we remove the symbols? + +var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf; +var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; +var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; +var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; +var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8; +var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; +var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; +var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9; +var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5; +var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6; +var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7; + +function isValidElementType(type) { + return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. + type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE); +} + +function typeOf(object) { + if (typeof object === 'object' && object !== null) { + var $$typeof = object.$$typeof; + + switch ($$typeof) { + case REACT_ELEMENT_TYPE: + var type = object.type; + + switch (type) { + case REACT_ASYNC_MODE_TYPE: + case REACT_CONCURRENT_MODE_TYPE: + case REACT_FRAGMENT_TYPE: + case REACT_PROFILER_TYPE: + case REACT_STRICT_MODE_TYPE: + case REACT_SUSPENSE_TYPE: + return type; + + default: + var $$typeofType = type && type.$$typeof; + + switch ($$typeofType) { + case REACT_CONTEXT_TYPE: + case REACT_FORWARD_REF_TYPE: + case REACT_LAZY_TYPE: + case REACT_MEMO_TYPE: + case REACT_PROVIDER_TYPE: + return $$typeofType; + + default: + return $$typeof; + } + + } + + case REACT_PORTAL_TYPE: + return $$typeof; + } + } + + return undefined; +} // AsyncMode is deprecated along with isAsyncMode + +var AsyncMode = REACT_ASYNC_MODE_TYPE; +var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE; +var ContextConsumer = REACT_CONTEXT_TYPE; +var ContextProvider = REACT_PROVIDER_TYPE; +var Element = REACT_ELEMENT_TYPE; +var ForwardRef = REACT_FORWARD_REF_TYPE; +var Fragment = REACT_FRAGMENT_TYPE; +var Lazy = REACT_LAZY_TYPE; +var Memo = REACT_MEMO_TYPE; +var Portal = REACT_PORTAL_TYPE; +var Profiler = REACT_PROFILER_TYPE; +var StrictMode = REACT_STRICT_MODE_TYPE; +var Suspense = REACT_SUSPENSE_TYPE; +var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated + +function isAsyncMode(object) { + { + if (!hasWarnedAboutDeprecatedIsAsyncMode) { + hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint + + console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.'); + } + } + + return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE; +} +function isConcurrentMode(object) { + return typeOf(object) === REACT_CONCURRENT_MODE_TYPE; +} +function isContextConsumer(object) { + return typeOf(object) === REACT_CONTEXT_TYPE; +} +function isContextProvider(object) { + return typeOf(object) === REACT_PROVIDER_TYPE; +} +function isElement(object) { + return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; +} +function isForwardRef(object) { + return typeOf(object) === REACT_FORWARD_REF_TYPE; +} +function isFragment(object) { + return typeOf(object) === REACT_FRAGMENT_TYPE; +} +function isLazy(object) { + return typeOf(object) === REACT_LAZY_TYPE; +} +function isMemo(object) { + return typeOf(object) === REACT_MEMO_TYPE; +} +function isPortal(object) { + return typeOf(object) === REACT_PORTAL_TYPE; +} +function isProfiler(object) { + return typeOf(object) === REACT_PROFILER_TYPE; +} +function isStrictMode(object) { + return typeOf(object) === REACT_STRICT_MODE_TYPE; +} +function isSuspense(object) { + return typeOf(object) === REACT_SUSPENSE_TYPE; +} + +exports.AsyncMode = AsyncMode; +exports.ConcurrentMode = ConcurrentMode; +exports.ContextConsumer = ContextConsumer; +exports.ContextProvider = ContextProvider; +exports.Element = Element; +exports.ForwardRef = ForwardRef; +exports.Fragment = Fragment; +exports.Lazy = Lazy; +exports.Memo = Memo; +exports.Portal = Portal; +exports.Profiler = Profiler; +exports.StrictMode = StrictMode; +exports.Suspense = Suspense; +exports.isAsyncMode = isAsyncMode; +exports.isConcurrentMode = isConcurrentMode; +exports.isContextConsumer = isContextConsumer; +exports.isContextProvider = isContextProvider; +exports.isElement = isElement; +exports.isForwardRef = isForwardRef; +exports.isFragment = isFragment; +exports.isLazy = isLazy; +exports.isMemo = isMemo; +exports.isPortal = isPortal; +exports.isProfiler = isProfiler; +exports.isStrictMode = isStrictMode; +exports.isSuspense = isSuspense; +exports.isValidElementType = isValidElementType; +exports.typeOf = typeOf; + })(); +} +}); + +var reactIs = createCommonjsModule(function (module) { + +if (process.env.NODE_ENV === 'production') { + module.exports = reactIs_production_min; +} else { + module.exports = reactIs_development; +} +}); + +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ +/* eslint-disable no-unused-vars */ +var getOwnPropertySymbols = Object.getOwnPropertySymbols; +var hasOwnProperty = Object.prototype.hasOwnProperty; +var propIsEnumerable = Object.prototype.propertyIsEnumerable; + +function toObject(val) { + if (val === null || val === undefined) { + throw new TypeError('Object.assign cannot be called with null or undefined'); + } + + return Object(val); +} + +function shouldUseNative() { + try { + if (!Object.assign) { + return false; + } + + // Detect buggy property enumeration order in older V8 versions. + + // https://bugs.chromium.org/p/v8/issues/detail?id=4118 + var test1 = new String('abc'); // eslint-disable-line no-new-wrappers + test1[5] = 'de'; + if (Object.getOwnPropertyNames(test1)[0] === '5') { + return false; + } + + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test2 = {}; + for (var i = 0; i < 10; i++) { + test2['_' + String.fromCharCode(i)] = i; + } + var order2 = Object.getOwnPropertyNames(test2).map(function (n) { + return test2[n]; + }); + if (order2.join('') !== '0123456789') { + return false; + } + + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test3 = {}; + 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { + test3[letter] = letter; + }); + if (Object.keys(Object.assign({}, test3)).join('') !== + 'abcdefghijklmnopqrst') { + return false; + } + + return true; + } catch (err) { + // We don't expect any of the above to throw, but better to be safe. + return false; + } +} + +var objectAssign = shouldUseNative() ? Object.assign : function (target, source) { + var from; + var to = toObject(target); + var symbols; + + for (var s = 1; s < arguments.length; s++) { + from = Object(arguments[s]); + + for (var key in from) { + if (hasOwnProperty.call(from, key)) { + to[key] = from[key]; + } + } + + if (getOwnPropertySymbols) { + symbols = getOwnPropertySymbols(from); + for (var i = 0; i < symbols.length; i++) { + if (propIsEnumerable.call(from, symbols[i])) { + to[symbols[i]] = from[symbols[i]]; + } + } + } + } + + return to; +}; + +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; + +var ReactPropTypesSecret_1 = ReactPropTypesSecret; + +var printWarning = function() {}; + +if (process.env.NODE_ENV !== 'production') { + var ReactPropTypesSecret$1 = ReactPropTypesSecret_1; + var loggedTypeFailures = {}; + var has = Function.call.bind(Object.prototype.hasOwnProperty); + + printWarning = function(text) { + var message = 'Warning: ' + text; + if (typeof console !== 'undefined') { + console.error(message); + } + try { + // --- Welcome to debugging React --- + // This error was thrown as a convenience so that you can use this stack + // to find the callsite that caused this warning to fire. + throw new Error(message); + } catch (x) {} + }; +} + +/** + * Assert that the values match with the type specs. + * Error messages are memorized and will only be shown once. + * + * @param {object} typeSpecs Map of name to a ReactPropType + * @param {object} values Runtime values that need to be type-checked + * @param {string} location e.g. "prop", "context", "child context" + * @param {string} componentName Name of the component for error messages. + * @param {?Function} getStack Returns the component stack. + * @private + */ +function checkPropTypes(typeSpecs, values, location, componentName, getStack) { + if (process.env.NODE_ENV !== 'production') { + for (var typeSpecName in typeSpecs) { + if (has(typeSpecs, typeSpecName)) { + var error; + // Prop type validation may throw. In case they do, we don't want to + // fail the render phase where it didn't fail before. So we log it. + // After these have been cleaned up, we'll let them throw. + try { + // This is intentionally an invariant that gets caught. It's the same + // behavior as without this statement except with a better message. + if (typeof typeSpecs[typeSpecName] !== 'function') { + var err = Error( + (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + ); + err.name = 'Invariant Violation'; + throw err; + } + error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret$1); + } catch (ex) { + error = ex; + } + if (error && !(error instanceof Error)) { + printWarning( + (componentName || 'React class') + ': type specification of ' + + location + ' `' + typeSpecName + '` is invalid; the type checker ' + + 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' + + 'You may have forgotten to pass an argument to the type checker ' + + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + + 'shape all require an argument).' + ); + } + if (error instanceof Error && !(error.message in loggedTypeFailures)) { + // Only monitor this failure once because there tends to be a lot of the + // same error. + loggedTypeFailures[error.message] = true; + + var stack = getStack ? getStack() : ''; + + printWarning( + 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '') + ); + } + } + } + } +} + +/** + * Resets warning cache when testing. + * + * @private + */ +checkPropTypes.resetWarningCache = function() { + if (process.env.NODE_ENV !== 'production') { + loggedTypeFailures = {}; + } +}; + +var checkPropTypes_1 = checkPropTypes; + +var has$1 = Function.call.bind(Object.prototype.hasOwnProperty); +var printWarning$1 = function() {}; + +if (process.env.NODE_ENV !== 'production') { + printWarning$1 = function(text) { + var message = 'Warning: ' + text; + if (typeof console !== 'undefined') { + console.error(message); + } + try { + // --- Welcome to debugging React --- + // This error was thrown as a convenience so that you can use this stack + // to find the callsite that caused this warning to fire. + throw new Error(message); + } catch (x) {} + }; +} + +function emptyFunctionThatReturnsNull() { + return null; +} + +var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) { + /* global Symbol */ + var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; + var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec. + + /** + * Returns the iterator method function contained on the iterable object. + * + * Be sure to invoke the function with the iterable as context: + * + * var iteratorFn = getIteratorFn(myIterable); + * if (iteratorFn) { + * var iterator = iteratorFn.call(myIterable); + * ... + * } + * + * @param {?object} maybeIterable + * @return {?function} + */ + function getIteratorFn(maybeIterable) { + var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]); + if (typeof iteratorFn === 'function') { + return iteratorFn; + } + } + + /** + * Collection of methods that allow declaration and validation of props that are + * supplied to React components. Example usage: + * + * var Props = require('ReactPropTypes'); + * var MyArticle = React.createClass({ + * propTypes: { + * // An optional string prop named "description". + * description: Props.string, + * + * // A required enum prop named "category". + * category: Props.oneOf(['News','Photos']).isRequired, + * + * // A prop named "dialog" that requires an instance of Dialog. + * dialog: Props.instanceOf(Dialog).isRequired + * }, + * render: function() { ... } + * }); + * + * A more formal specification of how these methods are used: + * + * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...) + * decl := ReactPropTypes.{type}(.isRequired)? + * + * Each and every declaration produces a function with the same signature. This + * allows the creation of custom validation functions. For example: + * + * var MyLink = React.createClass({ + * propTypes: { + * // An optional string or URI prop named "href". + * href: function(props, propName, componentName) { + * var propValue = props[propName]; + * if (propValue != null && typeof propValue !== 'string' && + * !(propValue instanceof URI)) { + * return new Error( + * 'Expected a string or an URI for ' + propName + ' in ' + + * componentName + * ); + * } + * } + * }, + * render: function() {...} + * }); + * + * @internal + */ + + var ANONYMOUS = '<>'; + + // Important! + // Keep this list in sync with production version in `./factoryWithThrowingShims.js`. + var ReactPropTypes = { + array: createPrimitiveTypeChecker('array'), + bool: createPrimitiveTypeChecker('boolean'), + func: createPrimitiveTypeChecker('function'), + number: createPrimitiveTypeChecker('number'), + object: createPrimitiveTypeChecker('object'), + string: createPrimitiveTypeChecker('string'), + symbol: createPrimitiveTypeChecker('symbol'), + + any: createAnyTypeChecker(), + arrayOf: createArrayOfTypeChecker, + element: createElementTypeChecker(), + elementType: createElementTypeTypeChecker(), + instanceOf: createInstanceTypeChecker, + node: createNodeChecker(), + objectOf: createObjectOfTypeChecker, + oneOf: createEnumTypeChecker, + oneOfType: createUnionTypeChecker, + shape: createShapeTypeChecker, + exact: createStrictShapeTypeChecker, + }; + + /** + * inlined Object.is polyfill to avoid requiring consumers ship their own + * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is + */ + /*eslint-disable no-self-compare*/ + function is(x, y) { + // SameValue algorithm + if (x === y) { + // Steps 1-5, 7-10 + // Steps 6.b-6.e: +0 != -0 + return x !== 0 || 1 / x === 1 / y; + } else { + // Step 6.a: NaN == NaN + return x !== x && y !== y; + } + } + /*eslint-enable no-self-compare*/ + + /** + * We use an Error-like object for backward compatibility as people may call + * PropTypes directly and inspect their output. However, we don't use real + * Errors anymore. We don't inspect their stack anyway, and creating them + * is prohibitively expensive if they are created too often, such as what + * happens in oneOfType() for any type before the one that matched. + */ + function PropTypeError(message) { + this.message = message; + this.stack = ''; + } + // Make `instanceof Error` still work for returned errors. + PropTypeError.prototype = Error.prototype; + + function createChainableTypeChecker(validate) { + if (process.env.NODE_ENV !== 'production') { + var manualPropTypeCallCache = {}; + var manualPropTypeWarningCount = 0; + } + function checkType(isRequired, props, propName, componentName, location, propFullName, secret) { + componentName = componentName || ANONYMOUS; + propFullName = propFullName || propName; + + if (secret !== ReactPropTypesSecret_1) { + if (throwOnDirectAccess) { + // New behavior only for users of `prop-types` package + var err = new Error( + 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + + 'Use `PropTypes.checkPropTypes()` to call them. ' + + 'Read more at http://fb.me/use-check-prop-types' + ); + err.name = 'Invariant Violation'; + throw err; + } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') { + // Old behavior for people using React.PropTypes + var cacheKey = componentName + ':' + propName; + if ( + !manualPropTypeCallCache[cacheKey] && + // Avoid spamming the console because they are often not actionable except for lib authors + manualPropTypeWarningCount < 3 + ) { + printWarning$1( + 'You are manually calling a React.PropTypes validation ' + + 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' + + 'and will throw in the standalone `prop-types` package. ' + + 'You may be seeing this warning due to a third-party PropTypes ' + + 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.' + ); + manualPropTypeCallCache[cacheKey] = true; + manualPropTypeWarningCount++; + } + } + } + if (props[propName] == null) { + if (isRequired) { + if (props[propName] === null) { + return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.')); + } + return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.')); + } + return null; + } else { + return validate(props, propName, componentName, location, propFullName); + } + } + + var chainedCheckType = checkType.bind(null, false); + chainedCheckType.isRequired = checkType.bind(null, true); + + return chainedCheckType; + } + + function createPrimitiveTypeChecker(expectedType) { + function validate(props, propName, componentName, location, propFullName, secret) { + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== expectedType) { + // `propValue` being instance of, say, date/regexp, pass the 'object' + // check, but we can offer a more precise error message here rather than + // 'of type `object`'. + var preciseType = getPreciseType(propValue); + + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.')); + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createAnyTypeChecker() { + return createChainableTypeChecker(emptyFunctionThatReturnsNull); + } + + function createArrayOfTypeChecker(typeChecker) { + function validate(props, propName, componentName, location, propFullName) { + if (typeof typeChecker !== 'function') { + return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.'); + } + var propValue = props[propName]; + if (!Array.isArray(propValue)) { + var propType = getPropType(propValue); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.')); + } + for (var i = 0; i < propValue.length; i++) { + var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret_1); + if (error instanceof Error) { + return error; + } + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createElementTypeChecker() { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + if (!isValidElement(propValue)) { + var propType = getPropType(propValue); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.')); + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createElementTypeTypeChecker() { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + if (!reactIs.isValidElementType(propValue)) { + var propType = getPropType(propValue); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.')); + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createInstanceTypeChecker(expectedClass) { + function validate(props, propName, componentName, location, propFullName) { + if (!(props[propName] instanceof expectedClass)) { + var expectedClassName = expectedClass.name || ANONYMOUS; + var actualClassName = getClassName(props[propName]); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.')); + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createEnumTypeChecker(expectedValues) { + if (!Array.isArray(expectedValues)) { + if (process.env.NODE_ENV !== 'production') { + if (arguments.length > 1) { + printWarning$1( + 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' + + 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).' + ); + } else { + printWarning$1('Invalid argument supplied to oneOf, expected an array.'); + } + } + return emptyFunctionThatReturnsNull; + } + + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + for (var i = 0; i < expectedValues.length; i++) { + if (is(propValue, expectedValues[i])) { + return null; + } + } + + var valuesString = JSON.stringify(expectedValues, function replacer(key, value) { + var type = getPreciseType(value); + if (type === 'symbol') { + return String(value); + } + return value; + }); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.')); + } + return createChainableTypeChecker(validate); + } + + function createObjectOfTypeChecker(typeChecker) { + function validate(props, propName, componentName, location, propFullName) { + if (typeof typeChecker !== 'function') { + return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.'); + } + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== 'object') { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.')); + } + for (var key in propValue) { + if (has$1(propValue, key)) { + var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret_1); + if (error instanceof Error) { + return error; + } + } + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createUnionTypeChecker(arrayOfTypeCheckers) { + if (!Array.isArray(arrayOfTypeCheckers)) { + process.env.NODE_ENV !== 'production' ? printWarning$1('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0; + return emptyFunctionThatReturnsNull; + } + + for (var i = 0; i < arrayOfTypeCheckers.length; i++) { + var checker = arrayOfTypeCheckers[i]; + if (typeof checker !== 'function') { + printWarning$1( + 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' + + 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.' + ); + return emptyFunctionThatReturnsNull; + } + } + + function validate(props, propName, componentName, location, propFullName) { + for (var i = 0; i < arrayOfTypeCheckers.length; i++) { + var checker = arrayOfTypeCheckers[i]; + if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret_1) == null) { + return null; + } + } + + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.')); + } + return createChainableTypeChecker(validate); + } + + function createNodeChecker() { + function validate(props, propName, componentName, location, propFullName) { + if (!isNode(props[propName])) { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.')); + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createShapeTypeChecker(shapeTypes) { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== 'object') { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); + } + for (var key in shapeTypes) { + var checker = shapeTypes[key]; + if (!checker) { + continue; + } + var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret_1); + if (error) { + return error; + } + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createStrictShapeTypeChecker(shapeTypes) { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== 'object') { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); + } + // We need to check all keys in case some are required but missing from + // props. + var allKeys = objectAssign({}, props[propName], shapeTypes); + for (var key in allKeys) { + var checker = shapeTypes[key]; + if (!checker) { + return new PropTypeError( + 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' + + '\nBad object: ' + JSON.stringify(props[propName], null, ' ') + + '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ') + ); + } + var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret_1); + if (error) { + return error; + } + } + return null; + } + + return createChainableTypeChecker(validate); + } + + function isNode(propValue) { + switch (typeof propValue) { + case 'number': + case 'string': + case 'undefined': + return true; + case 'boolean': + return !propValue; + case 'object': + if (Array.isArray(propValue)) { + return propValue.every(isNode); + } + if (propValue === null || isValidElement(propValue)) { + return true; + } + + var iteratorFn = getIteratorFn(propValue); + if (iteratorFn) { + var iterator = iteratorFn.call(propValue); + var step; + if (iteratorFn !== propValue.entries) { + while (!(step = iterator.next()).done) { + if (!isNode(step.value)) { + return false; + } + } + } else { + // Iterator will provide entry [k,v] tuples rather than values. + while (!(step = iterator.next()).done) { + var entry = step.value; + if (entry) { + if (!isNode(entry[1])) { + return false; + } + } + } + } + } else { + return false; + } + + return true; + default: + return false; + } + } + + function isSymbol(propType, propValue) { + // Native Symbol. + if (propType === 'symbol') { + return true; + } + + // falsy value can't be a Symbol + if (!propValue) { + return false; + } + + // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol' + if (propValue['@@toStringTag'] === 'Symbol') { + return true; + } + + // Fallback for non-spec compliant Symbols which are polyfilled. + if (typeof Symbol === 'function' && propValue instanceof Symbol) { + return true; + } + + return false; + } + + // Equivalent of `typeof` but with special handling for array and regexp. + function getPropType(propValue) { + var propType = typeof propValue; + if (Array.isArray(propValue)) { + return 'array'; + } + if (propValue instanceof RegExp) { + // Old webkits (at least until Android 4.0) return 'function' rather than + // 'object' for typeof a RegExp. We'll normalize this here so that /bla/ + // passes PropTypes.object. + return 'object'; + } + if (isSymbol(propType, propValue)) { + return 'symbol'; + } + return propType; + } + + // This handles more types than `getPropType`. Only used for error messages. + // See `createPrimitiveTypeChecker`. + function getPreciseType(propValue) { + if (typeof propValue === 'undefined' || propValue === null) { + return '' + propValue; + } + var propType = getPropType(propValue); + if (propType === 'object') { + if (propValue instanceof Date) { + return 'date'; + } else if (propValue instanceof RegExp) { + return 'regexp'; + } + } + return propType; + } + + // Returns a string that is postfixed to a warning about an invalid type. + // For example, "undefined" or "of type array" + function getPostfixForTypeWarning(value) { + var type = getPreciseType(value); + switch (type) { + case 'array': + case 'object': + return 'an ' + type; + case 'boolean': + case 'date': + case 'regexp': + return 'a ' + type; + default: + return type; + } + } + + // Returns class name of the object, if any. + function getClassName(propValue) { + if (!propValue.constructor || !propValue.constructor.name) { + return ANONYMOUS; + } + return propValue.constructor.name; + } + + ReactPropTypes.checkPropTypes = checkPropTypes_1; + ReactPropTypes.resetWarningCache = checkPropTypes_1.resetWarningCache; + ReactPropTypes.PropTypes = ReactPropTypes; + + return ReactPropTypes; +}; + +function emptyFunction() {} +function emptyFunctionWithReset() {} +emptyFunctionWithReset.resetWarningCache = emptyFunction; + +var factoryWithThrowingShims = function() { + function shim(props, propName, componentName, location, propFullName, secret) { + if (secret === ReactPropTypesSecret_1) { + // It is still safe when called from React. + return; + } + var err = new Error( + 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + + 'Use PropTypes.checkPropTypes() to call them. ' + + 'Read more at http://fb.me/use-check-prop-types' + ); + err.name = 'Invariant Violation'; + throw err; + } shim.isRequired = shim; + function getShim() { + return shim; + } // Important! + // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`. + var ReactPropTypes = { + array: shim, + bool: shim, + func: shim, + number: shim, + object: shim, + string: shim, + symbol: shim, + + any: shim, + arrayOf: getShim, + element: shim, + elementType: shim, + instanceOf: getShim, + node: shim, + objectOf: getShim, + oneOf: getShim, + oneOfType: getShim, + shape: getShim, + exact: getShim, + + checkPropTypes: emptyFunctionWithReset, + resetWarningCache: emptyFunction + }; + + ReactPropTypes.PropTypes = ReactPropTypes; + + return ReactPropTypes; +}; + +var propTypes = createCommonjsModule(function (module) { +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +if (process.env.NODE_ENV !== 'production') { + var ReactIs = reactIs; + + // By explicitly using `prop-types` you are opting into new development behavior. + // http://fb.me/prop-types-in-prod + var throwOnDirectAccess = true; + module.exports = factoryWithTypeCheckers(ReactIs.isElement, throwOnDirectAccess); +} else { + // By explicitly using `prop-types` you are opting into new production behavior. + // http://fb.me/prop-types-in-prod + module.exports = factoryWithThrowingShims(); +} +}); + +var Editor = /*#__PURE__*/function (_React$Component) { + _inheritsLoose(Editor, _React$Component); + + function Editor(props) { + var _this; + + _this = _React$Component.call(this, props) || this; + _this.state = {}; + return _this; + } + + var _proto = Editor.prototype; + + _proto.handleChange = function handleChange(html) { + this.props.handleChange(html); + }; + + _proto.handleThemeChange = function handleThemeChange(newTheme) { + if (newTheme === "core") newTheme = null; + this.props.handleThemeChange(newTheme); + }; + + _proto.render = function render() { + return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(ReactQuill, { + theme: this.props.theme, + onChange: this.handleChange.bind(this), + value: this.props.value, + modules: this.props.modules, + formats: this.props.formats, + bounds: ".app", + placeholder: this.props.placeholder + })); + }; + + return Editor; +}(React.Component); + +Editor.propTypes = { + toolbar: propTypes.any, + formats: propTypes.any, + placeholder: propTypes.string, + value: propTypes.any, + handleThemeChange: propTypes.func, + handleChange: propTypes.func, + modules: propTypes.any, + theme: propTypes.string +}; +Editor.defaultProps = { + theme: 'snow', + handleThemeChange: function handleThemeChange() {}, + handleChange: function handleChange() {}, + value: "", + placeholder: "Type Something", + modules: { + toolbar: [[{ + header: "1" + }, { + header: "2" + }, { + font: [] + }], [{ + size: [] + }], ["bold", "italic", "underline", "strike", "blockquote"], [{ + list: "ordered" + }, { + list: "bullet" + }, { + indent: "-1" + }, { + indent: "+1" + }], ["link", "image", "video"], ["clean"]] + }, + toolbar: [[{ + header: "1" + }, { + header: "2" + }, { + font: [] + }], [{ + size: [] + }], ["bold", "italic", "underline", "strike", "blockquote"], [{ + list: "ordered" + }, { + list: "bullet" + }, { + indent: "-1" + }, { + indent: "+1" + }], ["link", "image", "video"], ["clean"]], + formats: ["header", "font", "size", "bold", "italic", "underline", "strike", "blockquote", "list", "bullet", "indent", "link", "image", "video"] +}; + +module.exports = Editor; +//# sourceMappingURL=index.js.map diff --git a/dist/index.js.map b/dist/index.js.map new file mode 100644 index 0000000..15ecf39 --- /dev/null +++ b/dist/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/cjs/react-is.development.js","../node_modules/react-is/index.js","../node_modules/object-assign/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../src/index.js"],"sourcesContent":["/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar has = Function.call.bind(Object.prototype.hasOwnProperty);\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport ReactQuill from \"react-quill\";\nimport \"react-quill/dist/quill.snow.css\";\n/*\n * Simple editor component that takes placeholder text as a prop\n */\nclass Editor extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n };\n }\n\n handleChange(html) {\n this.props.handleChange(html);\n }\n\n handleThemeChange(newTheme) {\n if (newTheme === \"core\") newTheme = null;\n this.props.handleThemeChange(newTheme);\n }\n\n render() {\n return (\n
\n \n
\n );\n }\n}\n\nEditor.propTypes = {\n toolbar: PropTypes.any,\n formats: PropTypes.any,\n placeholder: PropTypes.string,\n value: PropTypes.any,\n handleThemeChange: PropTypes.func,\n handleChange: PropTypes.func,\n modules: PropTypes.any,\n theme:PropTypes.string\n};\nEditor.defaultProps = {\n theme:'snow',\n handleThemeChange: function () {},\n handleChange: function () {},\n value: \"\",\n placeholder: \"Type Something\",\n modules: {\n toolbar: [\n [{ header: \"1\" }, { header: \"2\" }, { font: [] }],\n [{ size: [] }],\n [\"bold\", \"italic\", \"underline\", \"strike\", \"blockquote\"],\n [\n { list: \"ordered\" },\n { list: \"bullet\" },\n { indent: \"-1\" },\n { indent: \"+1\" },\n ],\n [\"link\", \"image\", \"video\"],\n [\"clean\"],\n ],\n },\n toolbar: [\n [{ header: \"1\" }, { header: \"2\" }, { font: [] }],\n [{ size: [] }],\n [\"bold\", \"italic\", \"underline\", \"strike\", \"blockquote\"],\n [\n { list: \"ordered\" },\n { list: \"bullet\" },\n { indent: \"-1\" },\n { indent: \"+1\" },\n ],\n [\"link\", \"image\", \"video\"],\n [\"clean\"],\n ],\n formats: [\n \"header\",\n \"font\",\n \"size\",\n \"bold\",\n \"italic\",\n \"underline\",\n \"strike\",\n \"blockquote\",\n \"list\",\n \"bullet\",\n \"indent\",\n \"link\",\n \"image\",\n \"video\",\n ],\n};\n\nexport default Editor;\n"],"names":["require$$0","require$$1","ReactPropTypesSecret","has","printWarning","ReactIs","assign","checkPropTypes","require$$2","Editor","props","state","handleChange","html","handleThemeChange","newTheme","render","theme","bind","value","modules","formats","placeholder","React","Component","propTypes","toolbar","PropTypes","any","string","func","defaultProps","header","font","size","list","indent"],"mappings":"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"} \ No newline at end of file diff --git a/dist/index.modern.js b/dist/index.modern.js new file mode 100644 index 0000000..9c7acbc --- /dev/null +++ b/dist/index.modern.js @@ -0,0 +1,1167 @@ +import React from 'react'; +import ReactQuill from 'react-quill'; +import 'react-quill/dist/quill.snow.css'; + +function createCommonjsModule(fn, module) { + return module = { exports: {} }, fn(module, module.exports), module.exports; +} + +/** @license React v16.13.1 + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p=b?Symbol.for("react.suspense"):60113,q=b? +Symbol.for("react.suspense_list"):60120,r=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.block"):60121,w=b?Symbol.for("react.fundamental"):60117,x=b?Symbol.for("react.responder"):60118,y=b?Symbol.for("react.scope"):60119; +function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}var AsyncMode=l;var ConcurrentMode=m;var ContextConsumer=k;var ContextProvider=h;var Element=c;var ForwardRef=n;var Fragment=e;var Lazy=t;var Memo=r;var Portal=d; +var Profiler=g;var StrictMode=f;var Suspense=p;var isAsyncMode=function(a){return A(a)||z(a)===l};var isConcurrentMode=A;var isContextConsumer=function(a){return z(a)===k};var isContextProvider=function(a){return z(a)===h};var isElement=function(a){return "object"===typeof a&&null!==a&&a.$$typeof===c};var isForwardRef=function(a){return z(a)===n};var isFragment=function(a){return z(a)===e};var isLazy=function(a){return z(a)===t}; +var isMemo=function(a){return z(a)===r};var isPortal=function(a){return z(a)===d};var isProfiler=function(a){return z(a)===g};var isStrictMode=function(a){return z(a)===f};var isSuspense=function(a){return z(a)===p}; +var isValidElementType=function(a){return "string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};var typeOf=z; + +var reactIs_production_min = { + AsyncMode: AsyncMode, + ConcurrentMode: ConcurrentMode, + ContextConsumer: ContextConsumer, + ContextProvider: ContextProvider, + Element: Element, + ForwardRef: ForwardRef, + Fragment: Fragment, + Lazy: Lazy, + Memo: Memo, + Portal: Portal, + Profiler: Profiler, + StrictMode: StrictMode, + Suspense: Suspense, + isAsyncMode: isAsyncMode, + isConcurrentMode: isConcurrentMode, + isContextConsumer: isContextConsumer, + isContextProvider: isContextProvider, + isElement: isElement, + isForwardRef: isForwardRef, + isFragment: isFragment, + isLazy: isLazy, + isMemo: isMemo, + isPortal: isPortal, + isProfiler: isProfiler, + isStrictMode: isStrictMode, + isSuspense: isSuspense, + isValidElementType: isValidElementType, + typeOf: typeOf +}; + +var reactIs_development = createCommonjsModule(function (module, exports) { + + + +if (process.env.NODE_ENV !== "production") { + (function() { + +// The Symbol used to tag the ReactElement-like types. If there is no native Symbol +// nor polyfill, then a plain number is used for performance. +var hasSymbol = typeof Symbol === 'function' && Symbol.for; +var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; +var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; +var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; +var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; +var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; +var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; +var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary +// (unstable) APIs that have been removed. Can we remove the symbols? + +var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf; +var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; +var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; +var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; +var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8; +var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; +var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; +var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9; +var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5; +var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6; +var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7; + +function isValidElementType(type) { + return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. + type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE); +} + +function typeOf(object) { + if (typeof object === 'object' && object !== null) { + var $$typeof = object.$$typeof; + + switch ($$typeof) { + case REACT_ELEMENT_TYPE: + var type = object.type; + + switch (type) { + case REACT_ASYNC_MODE_TYPE: + case REACT_CONCURRENT_MODE_TYPE: + case REACT_FRAGMENT_TYPE: + case REACT_PROFILER_TYPE: + case REACT_STRICT_MODE_TYPE: + case REACT_SUSPENSE_TYPE: + return type; + + default: + var $$typeofType = type && type.$$typeof; + + switch ($$typeofType) { + case REACT_CONTEXT_TYPE: + case REACT_FORWARD_REF_TYPE: + case REACT_LAZY_TYPE: + case REACT_MEMO_TYPE: + case REACT_PROVIDER_TYPE: + return $$typeofType; + + default: + return $$typeof; + } + + } + + case REACT_PORTAL_TYPE: + return $$typeof; + } + } + + return undefined; +} // AsyncMode is deprecated along with isAsyncMode + +var AsyncMode = REACT_ASYNC_MODE_TYPE; +var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE; +var ContextConsumer = REACT_CONTEXT_TYPE; +var ContextProvider = REACT_PROVIDER_TYPE; +var Element = REACT_ELEMENT_TYPE; +var ForwardRef = REACT_FORWARD_REF_TYPE; +var Fragment = REACT_FRAGMENT_TYPE; +var Lazy = REACT_LAZY_TYPE; +var Memo = REACT_MEMO_TYPE; +var Portal = REACT_PORTAL_TYPE; +var Profiler = REACT_PROFILER_TYPE; +var StrictMode = REACT_STRICT_MODE_TYPE; +var Suspense = REACT_SUSPENSE_TYPE; +var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated + +function isAsyncMode(object) { + { + if (!hasWarnedAboutDeprecatedIsAsyncMode) { + hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint + + console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.'); + } + } + + return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE; +} +function isConcurrentMode(object) { + return typeOf(object) === REACT_CONCURRENT_MODE_TYPE; +} +function isContextConsumer(object) { + return typeOf(object) === REACT_CONTEXT_TYPE; +} +function isContextProvider(object) { + return typeOf(object) === REACT_PROVIDER_TYPE; +} +function isElement(object) { + return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; +} +function isForwardRef(object) { + return typeOf(object) === REACT_FORWARD_REF_TYPE; +} +function isFragment(object) { + return typeOf(object) === REACT_FRAGMENT_TYPE; +} +function isLazy(object) { + return typeOf(object) === REACT_LAZY_TYPE; +} +function isMemo(object) { + return typeOf(object) === REACT_MEMO_TYPE; +} +function isPortal(object) { + return typeOf(object) === REACT_PORTAL_TYPE; +} +function isProfiler(object) { + return typeOf(object) === REACT_PROFILER_TYPE; +} +function isStrictMode(object) { + return typeOf(object) === REACT_STRICT_MODE_TYPE; +} +function isSuspense(object) { + return typeOf(object) === REACT_SUSPENSE_TYPE; +} + +exports.AsyncMode = AsyncMode; +exports.ConcurrentMode = ConcurrentMode; +exports.ContextConsumer = ContextConsumer; +exports.ContextProvider = ContextProvider; +exports.Element = Element; +exports.ForwardRef = ForwardRef; +exports.Fragment = Fragment; +exports.Lazy = Lazy; +exports.Memo = Memo; +exports.Portal = Portal; +exports.Profiler = Profiler; +exports.StrictMode = StrictMode; +exports.Suspense = Suspense; +exports.isAsyncMode = isAsyncMode; +exports.isConcurrentMode = isConcurrentMode; +exports.isContextConsumer = isContextConsumer; +exports.isContextProvider = isContextProvider; +exports.isElement = isElement; +exports.isForwardRef = isForwardRef; +exports.isFragment = isFragment; +exports.isLazy = isLazy; +exports.isMemo = isMemo; +exports.isPortal = isPortal; +exports.isProfiler = isProfiler; +exports.isStrictMode = isStrictMode; +exports.isSuspense = isSuspense; +exports.isValidElementType = isValidElementType; +exports.typeOf = typeOf; + })(); +} +}); + +var reactIs = createCommonjsModule(function (module) { + +if (process.env.NODE_ENV === 'production') { + module.exports = reactIs_production_min; +} else { + module.exports = reactIs_development; +} +}); + +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ +/* eslint-disable no-unused-vars */ +var getOwnPropertySymbols = Object.getOwnPropertySymbols; +var hasOwnProperty = Object.prototype.hasOwnProperty; +var propIsEnumerable = Object.prototype.propertyIsEnumerable; + +function toObject(val) { + if (val === null || val === undefined) { + throw new TypeError('Object.assign cannot be called with null or undefined'); + } + + return Object(val); +} + +function shouldUseNative() { + try { + if (!Object.assign) { + return false; + } + + // Detect buggy property enumeration order in older V8 versions. + + // https://bugs.chromium.org/p/v8/issues/detail?id=4118 + var test1 = new String('abc'); // eslint-disable-line no-new-wrappers + test1[5] = 'de'; + if (Object.getOwnPropertyNames(test1)[0] === '5') { + return false; + } + + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test2 = {}; + for (var i = 0; i < 10; i++) { + test2['_' + String.fromCharCode(i)] = i; + } + var order2 = Object.getOwnPropertyNames(test2).map(function (n) { + return test2[n]; + }); + if (order2.join('') !== '0123456789') { + return false; + } + + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test3 = {}; + 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { + test3[letter] = letter; + }); + if (Object.keys(Object.assign({}, test3)).join('') !== + 'abcdefghijklmnopqrst') { + return false; + } + + return true; + } catch (err) { + // We don't expect any of the above to throw, but better to be safe. + return false; + } +} + +var objectAssign = shouldUseNative() ? Object.assign : function (target, source) { + var from; + var to = toObject(target); + var symbols; + + for (var s = 1; s < arguments.length; s++) { + from = Object(arguments[s]); + + for (var key in from) { + if (hasOwnProperty.call(from, key)) { + to[key] = from[key]; + } + } + + if (getOwnPropertySymbols) { + symbols = getOwnPropertySymbols(from); + for (var i = 0; i < symbols.length; i++) { + if (propIsEnumerable.call(from, symbols[i])) { + to[symbols[i]] = from[symbols[i]]; + } + } + } + } + + return to; +}; + +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; + +var ReactPropTypesSecret_1 = ReactPropTypesSecret; + +var printWarning = function() {}; + +if (process.env.NODE_ENV !== 'production') { + var ReactPropTypesSecret$1 = ReactPropTypesSecret_1; + var loggedTypeFailures = {}; + var has = Function.call.bind(Object.prototype.hasOwnProperty); + + printWarning = function(text) { + var message = 'Warning: ' + text; + if (typeof console !== 'undefined') { + console.error(message); + } + try { + // --- Welcome to debugging React --- + // This error was thrown as a convenience so that you can use this stack + // to find the callsite that caused this warning to fire. + throw new Error(message); + } catch (x) {} + }; +} + +/** + * Assert that the values match with the type specs. + * Error messages are memorized and will only be shown once. + * + * @param {object} typeSpecs Map of name to a ReactPropType + * @param {object} values Runtime values that need to be type-checked + * @param {string} location e.g. "prop", "context", "child context" + * @param {string} componentName Name of the component for error messages. + * @param {?Function} getStack Returns the component stack. + * @private + */ +function checkPropTypes(typeSpecs, values, location, componentName, getStack) { + if (process.env.NODE_ENV !== 'production') { + for (var typeSpecName in typeSpecs) { + if (has(typeSpecs, typeSpecName)) { + var error; + // Prop type validation may throw. In case they do, we don't want to + // fail the render phase where it didn't fail before. So we log it. + // After these have been cleaned up, we'll let them throw. + try { + // This is intentionally an invariant that gets caught. It's the same + // behavior as without this statement except with a better message. + if (typeof typeSpecs[typeSpecName] !== 'function') { + var err = Error( + (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + ); + err.name = 'Invariant Violation'; + throw err; + } + error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret$1); + } catch (ex) { + error = ex; + } + if (error && !(error instanceof Error)) { + printWarning( + (componentName || 'React class') + ': type specification of ' + + location + ' `' + typeSpecName + '` is invalid; the type checker ' + + 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' + + 'You may have forgotten to pass an argument to the type checker ' + + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + + 'shape all require an argument).' + ); + } + if (error instanceof Error && !(error.message in loggedTypeFailures)) { + // Only monitor this failure once because there tends to be a lot of the + // same error. + loggedTypeFailures[error.message] = true; + + var stack = getStack ? getStack() : ''; + + printWarning( + 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '') + ); + } + } + } + } +} + +/** + * Resets warning cache when testing. + * + * @private + */ +checkPropTypes.resetWarningCache = function() { + if (process.env.NODE_ENV !== 'production') { + loggedTypeFailures = {}; + } +}; + +var checkPropTypes_1 = checkPropTypes; + +var has$1 = Function.call.bind(Object.prototype.hasOwnProperty); +var printWarning$1 = function() {}; + +if (process.env.NODE_ENV !== 'production') { + printWarning$1 = function(text) { + var message = 'Warning: ' + text; + if (typeof console !== 'undefined') { + console.error(message); + } + try { + // --- Welcome to debugging React --- + // This error was thrown as a convenience so that you can use this stack + // to find the callsite that caused this warning to fire. + throw new Error(message); + } catch (x) {} + }; +} + +function emptyFunctionThatReturnsNull() { + return null; +} + +var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) { + /* global Symbol */ + var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; + var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec. + + /** + * Returns the iterator method function contained on the iterable object. + * + * Be sure to invoke the function with the iterable as context: + * + * var iteratorFn = getIteratorFn(myIterable); + * if (iteratorFn) { + * var iterator = iteratorFn.call(myIterable); + * ... + * } + * + * @param {?object} maybeIterable + * @return {?function} + */ + function getIteratorFn(maybeIterable) { + var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]); + if (typeof iteratorFn === 'function') { + return iteratorFn; + } + } + + /** + * Collection of methods that allow declaration and validation of props that are + * supplied to React components. Example usage: + * + * var Props = require('ReactPropTypes'); + * var MyArticle = React.createClass({ + * propTypes: { + * // An optional string prop named "description". + * description: Props.string, + * + * // A required enum prop named "category". + * category: Props.oneOf(['News','Photos']).isRequired, + * + * // A prop named "dialog" that requires an instance of Dialog. + * dialog: Props.instanceOf(Dialog).isRequired + * }, + * render: function() { ... } + * }); + * + * A more formal specification of how these methods are used: + * + * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...) + * decl := ReactPropTypes.{type}(.isRequired)? + * + * Each and every declaration produces a function with the same signature. This + * allows the creation of custom validation functions. For example: + * + * var MyLink = React.createClass({ + * propTypes: { + * // An optional string or URI prop named "href". + * href: function(props, propName, componentName) { + * var propValue = props[propName]; + * if (propValue != null && typeof propValue !== 'string' && + * !(propValue instanceof URI)) { + * return new Error( + * 'Expected a string or an URI for ' + propName + ' in ' + + * componentName + * ); + * } + * } + * }, + * render: function() {...} + * }); + * + * @internal + */ + + var ANONYMOUS = '<>'; + + // Important! + // Keep this list in sync with production version in `./factoryWithThrowingShims.js`. + var ReactPropTypes = { + array: createPrimitiveTypeChecker('array'), + bool: createPrimitiveTypeChecker('boolean'), + func: createPrimitiveTypeChecker('function'), + number: createPrimitiveTypeChecker('number'), + object: createPrimitiveTypeChecker('object'), + string: createPrimitiveTypeChecker('string'), + symbol: createPrimitiveTypeChecker('symbol'), + + any: createAnyTypeChecker(), + arrayOf: createArrayOfTypeChecker, + element: createElementTypeChecker(), + elementType: createElementTypeTypeChecker(), + instanceOf: createInstanceTypeChecker, + node: createNodeChecker(), + objectOf: createObjectOfTypeChecker, + oneOf: createEnumTypeChecker, + oneOfType: createUnionTypeChecker, + shape: createShapeTypeChecker, + exact: createStrictShapeTypeChecker, + }; + + /** + * inlined Object.is polyfill to avoid requiring consumers ship their own + * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is + */ + /*eslint-disable no-self-compare*/ + function is(x, y) { + // SameValue algorithm + if (x === y) { + // Steps 1-5, 7-10 + // Steps 6.b-6.e: +0 != -0 + return x !== 0 || 1 / x === 1 / y; + } else { + // Step 6.a: NaN == NaN + return x !== x && y !== y; + } + } + /*eslint-enable no-self-compare*/ + + /** + * We use an Error-like object for backward compatibility as people may call + * PropTypes directly and inspect their output. However, we don't use real + * Errors anymore. We don't inspect their stack anyway, and creating them + * is prohibitively expensive if they are created too often, such as what + * happens in oneOfType() for any type before the one that matched. + */ + function PropTypeError(message) { + this.message = message; + this.stack = ''; + } + // Make `instanceof Error` still work for returned errors. + PropTypeError.prototype = Error.prototype; + + function createChainableTypeChecker(validate) { + if (process.env.NODE_ENV !== 'production') { + var manualPropTypeCallCache = {}; + var manualPropTypeWarningCount = 0; + } + function checkType(isRequired, props, propName, componentName, location, propFullName, secret) { + componentName = componentName || ANONYMOUS; + propFullName = propFullName || propName; + + if (secret !== ReactPropTypesSecret_1) { + if (throwOnDirectAccess) { + // New behavior only for users of `prop-types` package + var err = new Error( + 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + + 'Use `PropTypes.checkPropTypes()` to call them. ' + + 'Read more at http://fb.me/use-check-prop-types' + ); + err.name = 'Invariant Violation'; + throw err; + } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') { + // Old behavior for people using React.PropTypes + var cacheKey = componentName + ':' + propName; + if ( + !manualPropTypeCallCache[cacheKey] && + // Avoid spamming the console because they are often not actionable except for lib authors + manualPropTypeWarningCount < 3 + ) { + printWarning$1( + 'You are manually calling a React.PropTypes validation ' + + 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' + + 'and will throw in the standalone `prop-types` package. ' + + 'You may be seeing this warning due to a third-party PropTypes ' + + 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.' + ); + manualPropTypeCallCache[cacheKey] = true; + manualPropTypeWarningCount++; + } + } + } + if (props[propName] == null) { + if (isRequired) { + if (props[propName] === null) { + return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.')); + } + return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.')); + } + return null; + } else { + return validate(props, propName, componentName, location, propFullName); + } + } + + var chainedCheckType = checkType.bind(null, false); + chainedCheckType.isRequired = checkType.bind(null, true); + + return chainedCheckType; + } + + function createPrimitiveTypeChecker(expectedType) { + function validate(props, propName, componentName, location, propFullName, secret) { + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== expectedType) { + // `propValue` being instance of, say, date/regexp, pass the 'object' + // check, but we can offer a more precise error message here rather than + // 'of type `object`'. + var preciseType = getPreciseType(propValue); + + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.')); + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createAnyTypeChecker() { + return createChainableTypeChecker(emptyFunctionThatReturnsNull); + } + + function createArrayOfTypeChecker(typeChecker) { + function validate(props, propName, componentName, location, propFullName) { + if (typeof typeChecker !== 'function') { + return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.'); + } + var propValue = props[propName]; + if (!Array.isArray(propValue)) { + var propType = getPropType(propValue); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.')); + } + for (var i = 0; i < propValue.length; i++) { + var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret_1); + if (error instanceof Error) { + return error; + } + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createElementTypeChecker() { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + if (!isValidElement(propValue)) { + var propType = getPropType(propValue); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.')); + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createElementTypeTypeChecker() { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + if (!reactIs.isValidElementType(propValue)) { + var propType = getPropType(propValue); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.')); + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createInstanceTypeChecker(expectedClass) { + function validate(props, propName, componentName, location, propFullName) { + if (!(props[propName] instanceof expectedClass)) { + var expectedClassName = expectedClass.name || ANONYMOUS; + var actualClassName = getClassName(props[propName]); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.')); + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createEnumTypeChecker(expectedValues) { + if (!Array.isArray(expectedValues)) { + if (process.env.NODE_ENV !== 'production') { + if (arguments.length > 1) { + printWarning$1( + 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' + + 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).' + ); + } else { + printWarning$1('Invalid argument supplied to oneOf, expected an array.'); + } + } + return emptyFunctionThatReturnsNull; + } + + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + for (var i = 0; i < expectedValues.length; i++) { + if (is(propValue, expectedValues[i])) { + return null; + } + } + + var valuesString = JSON.stringify(expectedValues, function replacer(key, value) { + var type = getPreciseType(value); + if (type === 'symbol') { + return String(value); + } + return value; + }); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.')); + } + return createChainableTypeChecker(validate); + } + + function createObjectOfTypeChecker(typeChecker) { + function validate(props, propName, componentName, location, propFullName) { + if (typeof typeChecker !== 'function') { + return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.'); + } + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== 'object') { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.')); + } + for (var key in propValue) { + if (has$1(propValue, key)) { + var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret_1); + if (error instanceof Error) { + return error; + } + } + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createUnionTypeChecker(arrayOfTypeCheckers) { + if (!Array.isArray(arrayOfTypeCheckers)) { + process.env.NODE_ENV !== 'production' ? printWarning$1('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0; + return emptyFunctionThatReturnsNull; + } + + for (var i = 0; i < arrayOfTypeCheckers.length; i++) { + var checker = arrayOfTypeCheckers[i]; + if (typeof checker !== 'function') { + printWarning$1( + 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' + + 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.' + ); + return emptyFunctionThatReturnsNull; + } + } + + function validate(props, propName, componentName, location, propFullName) { + for (var i = 0; i < arrayOfTypeCheckers.length; i++) { + var checker = arrayOfTypeCheckers[i]; + if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret_1) == null) { + return null; + } + } + + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.')); + } + return createChainableTypeChecker(validate); + } + + function createNodeChecker() { + function validate(props, propName, componentName, location, propFullName) { + if (!isNode(props[propName])) { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.')); + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createShapeTypeChecker(shapeTypes) { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== 'object') { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); + } + for (var key in shapeTypes) { + var checker = shapeTypes[key]; + if (!checker) { + continue; + } + var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret_1); + if (error) { + return error; + } + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createStrictShapeTypeChecker(shapeTypes) { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== 'object') { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); + } + // We need to check all keys in case some are required but missing from + // props. + var allKeys = objectAssign({}, props[propName], shapeTypes); + for (var key in allKeys) { + var checker = shapeTypes[key]; + if (!checker) { + return new PropTypeError( + 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' + + '\nBad object: ' + JSON.stringify(props[propName], null, ' ') + + '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ') + ); + } + var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret_1); + if (error) { + return error; + } + } + return null; + } + + return createChainableTypeChecker(validate); + } + + function isNode(propValue) { + switch (typeof propValue) { + case 'number': + case 'string': + case 'undefined': + return true; + case 'boolean': + return !propValue; + case 'object': + if (Array.isArray(propValue)) { + return propValue.every(isNode); + } + if (propValue === null || isValidElement(propValue)) { + return true; + } + + var iteratorFn = getIteratorFn(propValue); + if (iteratorFn) { + var iterator = iteratorFn.call(propValue); + var step; + if (iteratorFn !== propValue.entries) { + while (!(step = iterator.next()).done) { + if (!isNode(step.value)) { + return false; + } + } + } else { + // Iterator will provide entry [k,v] tuples rather than values. + while (!(step = iterator.next()).done) { + var entry = step.value; + if (entry) { + if (!isNode(entry[1])) { + return false; + } + } + } + } + } else { + return false; + } + + return true; + default: + return false; + } + } + + function isSymbol(propType, propValue) { + // Native Symbol. + if (propType === 'symbol') { + return true; + } + + // falsy value can't be a Symbol + if (!propValue) { + return false; + } + + // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol' + if (propValue['@@toStringTag'] === 'Symbol') { + return true; + } + + // Fallback for non-spec compliant Symbols which are polyfilled. + if (typeof Symbol === 'function' && propValue instanceof Symbol) { + return true; + } + + return false; + } + + // Equivalent of `typeof` but with special handling for array and regexp. + function getPropType(propValue) { + var propType = typeof propValue; + if (Array.isArray(propValue)) { + return 'array'; + } + if (propValue instanceof RegExp) { + // Old webkits (at least until Android 4.0) return 'function' rather than + // 'object' for typeof a RegExp. We'll normalize this here so that /bla/ + // passes PropTypes.object. + return 'object'; + } + if (isSymbol(propType, propValue)) { + return 'symbol'; + } + return propType; + } + + // This handles more types than `getPropType`. Only used for error messages. + // See `createPrimitiveTypeChecker`. + function getPreciseType(propValue) { + if (typeof propValue === 'undefined' || propValue === null) { + return '' + propValue; + } + var propType = getPropType(propValue); + if (propType === 'object') { + if (propValue instanceof Date) { + return 'date'; + } else if (propValue instanceof RegExp) { + return 'regexp'; + } + } + return propType; + } + + // Returns a string that is postfixed to a warning about an invalid type. + // For example, "undefined" or "of type array" + function getPostfixForTypeWarning(value) { + var type = getPreciseType(value); + switch (type) { + case 'array': + case 'object': + return 'an ' + type; + case 'boolean': + case 'date': + case 'regexp': + return 'a ' + type; + default: + return type; + } + } + + // Returns class name of the object, if any. + function getClassName(propValue) { + if (!propValue.constructor || !propValue.constructor.name) { + return ANONYMOUS; + } + return propValue.constructor.name; + } + + ReactPropTypes.checkPropTypes = checkPropTypes_1; + ReactPropTypes.resetWarningCache = checkPropTypes_1.resetWarningCache; + ReactPropTypes.PropTypes = ReactPropTypes; + + return ReactPropTypes; +}; + +function emptyFunction() {} +function emptyFunctionWithReset() {} +emptyFunctionWithReset.resetWarningCache = emptyFunction; + +var factoryWithThrowingShims = function() { + function shim(props, propName, componentName, location, propFullName, secret) { + if (secret === ReactPropTypesSecret_1) { + // It is still safe when called from React. + return; + } + var err = new Error( + 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + + 'Use PropTypes.checkPropTypes() to call them. ' + + 'Read more at http://fb.me/use-check-prop-types' + ); + err.name = 'Invariant Violation'; + throw err; + } shim.isRequired = shim; + function getShim() { + return shim; + } // Important! + // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`. + var ReactPropTypes = { + array: shim, + bool: shim, + func: shim, + number: shim, + object: shim, + string: shim, + symbol: shim, + + any: shim, + arrayOf: getShim, + element: shim, + elementType: shim, + instanceOf: getShim, + node: shim, + objectOf: getShim, + oneOf: getShim, + oneOfType: getShim, + shape: getShim, + exact: getShim, + + checkPropTypes: emptyFunctionWithReset, + resetWarningCache: emptyFunction + }; + + ReactPropTypes.PropTypes = ReactPropTypes; + + return ReactPropTypes; +}; + +var propTypes = createCommonjsModule(function (module) { +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +if (process.env.NODE_ENV !== 'production') { + var ReactIs = reactIs; + + // By explicitly using `prop-types` you are opting into new development behavior. + // http://fb.me/prop-types-in-prod + var throwOnDirectAccess = true; + module.exports = factoryWithTypeCheckers(ReactIs.isElement, throwOnDirectAccess); +} else { + // By explicitly using `prop-types` you are opting into new production behavior. + // http://fb.me/prop-types-in-prod + module.exports = factoryWithThrowingShims(); +} +}); + +class Editor extends React.Component { + constructor(props) { + super(props); + this.state = {}; + } + + handleChange(html) { + this.props.handleChange(html); + } + + handleThemeChange(newTheme) { + if (newTheme === "core") newTheme = null; + this.props.handleThemeChange(newTheme); + } + + render() { + return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(ReactQuill, { + theme: this.props.theme, + onChange: this.handleChange.bind(this), + value: this.props.value, + modules: this.props.modules, + formats: this.props.formats, + bounds: ".app", + placeholder: this.props.placeholder + })); + } + +} + +Editor.propTypes = { + toolbar: propTypes.any, + formats: propTypes.any, + placeholder: propTypes.string, + value: propTypes.any, + handleThemeChange: propTypes.func, + handleChange: propTypes.func, + modules: propTypes.any, + theme: propTypes.string +}; +Editor.defaultProps = { + theme: 'snow', + handleThemeChange: function () {}, + handleChange: function () {}, + value: "", + placeholder: "Type Something", + modules: { + toolbar: [[{ + header: "1" + }, { + header: "2" + }, { + font: [] + }], [{ + size: [] + }], ["bold", "italic", "underline", "strike", "blockquote"], [{ + list: "ordered" + }, { + list: "bullet" + }, { + indent: "-1" + }, { + indent: "+1" + }], ["link", "image", "video"], ["clean"]] + }, + toolbar: [[{ + header: "1" + }, { + header: "2" + }, { + font: [] + }], [{ + size: [] + }], ["bold", "italic", "underline", "strike", "blockquote"], [{ + list: "ordered" + }, { + list: "bullet" + }, { + indent: "-1" + }, { + indent: "+1" + }], ["link", "image", "video"], ["clean"]], + formats: ["header", "font", "size", "bold", "italic", "underline", "strike", "blockquote", "list", "bullet", "indent", "link", "image", "video"] +}; + +export default Editor; +//# sourceMappingURL=index.modern.js.map diff --git a/dist/index.modern.js.map b/dist/index.modern.js.map new file mode 100644 index 0000000..7fe900b --- /dev/null +++ b/dist/index.modern.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.modern.js","sources":["../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/cjs/react-is.development.js","../node_modules/react-is/index.js","../node_modules/object-assign/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../src/index.js"],"sourcesContent":["/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar has = Function.call.bind(Object.prototype.hasOwnProperty);\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport ReactQuill from \"react-quill\";\nimport \"react-quill/dist/quill.snow.css\";\n/*\n * Simple editor component that takes placeholder text as a prop\n */\nclass Editor extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n };\n }\n\n handleChange(html) {\n this.props.handleChange(html);\n }\n\n handleThemeChange(newTheme) {\n if (newTheme === \"core\") newTheme = null;\n this.props.handleThemeChange(newTheme);\n }\n\n render() {\n return (\n
\n \n
\n );\n }\n}\n\nEditor.propTypes = {\n toolbar: PropTypes.any,\n formats: PropTypes.any,\n placeholder: PropTypes.string,\n value: PropTypes.any,\n handleThemeChange: PropTypes.func,\n handleChange: PropTypes.func,\n modules: PropTypes.any,\n theme:PropTypes.string\n};\nEditor.defaultProps = {\n theme:'snow',\n handleThemeChange: function () {},\n handleChange: function () {},\n value: \"\",\n placeholder: \"Type Something\",\n modules: {\n toolbar: [\n [{ header: \"1\" }, { header: \"2\" }, { font: [] }],\n [{ size: [] }],\n [\"bold\", \"italic\", \"underline\", \"strike\", \"blockquote\"],\n [\n { list: \"ordered\" },\n { list: \"bullet\" },\n { indent: \"-1\" },\n { indent: \"+1\" },\n ],\n [\"link\", \"image\", \"video\"],\n [\"clean\"],\n ],\n },\n toolbar: [\n [{ header: \"1\" }, { header: \"2\" }, { font: [] }],\n [{ size: [] }],\n [\"bold\", \"italic\", \"underline\", \"strike\", \"blockquote\"],\n [\n { list: \"ordered\" },\n { list: \"bullet\" },\n { indent: \"-1\" },\n { indent: \"+1\" },\n ],\n [\"link\", \"image\", \"video\"],\n [\"clean\"],\n ],\n formats: [\n \"header\",\n \"font\",\n \"size\",\n \"bold\",\n \"italic\",\n \"underline\",\n \"strike\",\n \"blockquote\",\n \"list\",\n \"bullet\",\n \"indent\",\n \"link\",\n \"image\",\n \"video\",\n ],\n};\n\nexport default Editor;\n"],"names":["require$$0","require$$1","ReactPropTypesSecret","has","printWarning","ReactIs","assign","checkPropTypes","require$$2","Editor","React","Component","constructor","props","state","handleChange","html","handleThemeChange","newTheme","render","theme","bind","value","modules","formats","placeholder","propTypes","toolbar","PropTypes","any","string","func","defaultProps","header","font","size","list","indent"],"mappings":"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"} \ No newline at end of file diff --git a/editor.gif b/editor.gif new file mode 100644 index 0000000000000000000000000000000000000000..42502fa29d316aa849781f40b67a028d9be8bce3 GIT binary patch literal 325250 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%0A%1Y~PGg^|@fr|~@jwaLtc*_Eg6EeY!@@pE9K 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�FUQZ-NHRaoE|h-P@5Fg&LS?N* zU7>Ma?S4$TgTj$_#To7Q->9DAF+wa`(@T)*q8X9J99dnadG7iwRC(N>|kHMXJYnBJkhp^}uw2c&nmK9nqe z->)#R{}4wkfD{78;n}8(M`X z$0uf{rYCVOp_#RB^I$1IHNP^ku)nyvGO@HfwE~T-Lz8RJ^agGzKfetvZb8#vDZd8+ zW+d3l17i_zwQg*!gW-N}7q_Ed-rQN+-U49V)r>BddoEyTVQ!b<}q3tK{(=C4$cJWN3A0BhL-mY{xe7Zc@W|2V~&_v0YF`pF3 zHl)3;pr#`rKvi92YOE7UwUIVeBqCRYulRFh6`9 zDkjZMNY3~&pxX>(=S?T#8Al04+*r=*bY$^Oe%M@Evg;tO9i%lvph8A{S4n*t7E8o% zM3T^pKn^2bbp`F@J8M10%iVwv0!ri-K2^Xg5Su63Z|M5pa3# zE!$B`!@QB#J~o~oaXa5>$aBY5$6Jb?UZu>Q{23Z0Pkz7O%%1QvsdXjW6CHH|0vLyN z4UhXxqZ?+T2RPnEIgE)Lx`mkMWwE>yrvaUe0?TztAsJd`Ia(6Rdy<)cnp3Y1aJ*zK zs$zJvq!HHCdc=fpC~wHoS#QnoDI5`CBRQ z@P7LWJ4WzKr~TFb|khYVcX#%rD<^lv@H@_)D?U#9#}bd0q2zm$5wOu4JMOtsjjuLj-B>yQ~#TeGr+{P zv;d7AClR!F0oL+ilBDxMZ13sDiS7M;gFrC=0OtO|!S7A|eM4h7y}b`77XX=ka&i&~ z1yhqVKxto?S_ED z2lDs(|F9hni0vkShuEHj+nOJSQjo@u6=grVd9#h1jEs!2%}pJ8oyK~41_oU{O%0d| zH28f_O_wzpbl7%uwDjue^mdu_ej8t$$vz`2d~I!+9YpD+Z%DLiVYr_T6rO2mx4hA& zTYKr*5Jrm567Fa1fn$c$@|XLQDX7?+tyEN!(6C$y>K1uS;>*k{l5f;VhFvvxbo4QA^^Hdtm8faAG^fiVGn=6J&Wa zLx-yld4kEu&2Sl3gHI{@@kNHTT{S}{esku7hWw1j+7Cln;4h>JJn3(%Yq5Hx9Vp39 zFMhlic)WxjAHC1ECNQaR-8lk9{Z8Hai~1HEFupclxl!*b3Jr=q|c`N-dvv5K#HgOxi04mB=Z1ixh$;; zC!QS1BR3pi{-caM<5@3txlr9uX_*M%E1QR?|i4M}AHDEYtA4x1~`#!=u zE+$~-1jB`SUx({)05R!tVK2g)<$~PiY-&DVf&=BHX;dY30r4r*PkM-QIi{os5cuVio9{q4k{0umgR?=~CGXUcASx#jc`o}3gfA6{Xe+#jF z=8yK3{c9T9F40f8eaT~p~~H!?CZE;b=PF7cqrBqb-M zrT}70O3HzBjk{g~G8tfp3kJy_I}1>&!5NdnlG38D2NE^d+2TTpKPD2vuC}fY^pQhd z`S8-vz~C4zPdGLP+QH-mXaciyxGcv!xYi6(g&P}Ymn3|Bg5?6e4x@-)-iXTt`}q6%$%aNB zu2{8rMQKE=0sOGEo~5A?q!*|cvXGKW$DI|C?m!5aq3uYIiK+Oj68bkopOXXxpBl`w6@)D(tH7Qem##oI8KO#;CuX3D>>Gb_lvq%{St`9jtS2N({7A8&juBH&WC~&Z@auit_!wPENMJ=b+o+Nrye%-EB5A+>G#uS zL=~*hHJ&q9vR0^eB8ek^eC)dRnX|cX;AobSNNeYnrLme0j}zrK#Jp*>L(N~4e$YM^ z3bP|RHr@fMzK?zF@uv&w74Jrm^N-kni>MgB;dTQ=5v%VfK(!}1ko?>iN3V&Eg0i15 z>T)`Fdel{@ntu#8$Bem)3Fzu_U7DQcak(sGGvX;X8Z^Q{d~x}ax5~wnyy|N52P@Y9 zy=O%rQ1)}@{>mIf^1HIz{w=CLhxW0<3iaug#gU_L-o3ZORVXiSX=WBD z7oP(Yhz%Y&cVJj_Ol({{0)|iH;+Swyp?Ik%X(L^;abal_3PLghQfeL|Zn}WNueifU zh$HlH2Bx&5j0OcQ1K{w{g*Q(1uJ1;`;iKVquU`g6&8@7ip`6F>q;{|G?SJ=}lIT8J zV=(m9j+8#F#rMRQWZ5YOz(qE9DQBQPW!#Su#@G-LU-1wd9*M5?<+_9efQVE(P%vtH zMA*mkg$Ih<14;}1<5SB0R^&(OG>)lT%J~Z1GHjo2jaT2k;Le$f}4 z!HZmuuqz)s2l5U+BJXab_T`z3)P*VMr41BWuFekB=cR)Rge5ElRMVUd4_!$;Tt#+2EC((^Jh8`fXv~*a_y4`FgYAX4)B5w zVL{+!bI1zHD3>Q5fOw+n3SD9y%E}gmhrNiJwsi#(RrV1 zcb9aeTS<{Da$&{;Rw<;OjN~^hNPQ}Zh*|FxBt7V>C$c3YfW%a~g>0PR{66!nOMZ zUz$EhAh=~@3O{P+6m73gw;f8pn@eN$KW?j6=fGR(EBHVW^AG=mBKl{Oh#()8i!ZSI-5+{*;T{Z+ATcpE zCDk)NDLE}G+X0o4Q&9LJFRAEjnMFxvc~!MhB|%MngKjO*2=6qvc66!{#1rOs4GdoE z!Rsp>0*4ny#?avKg78fL;>zmDr9}L-?H%q7f~{Q`f$sF?bua=^lXBn3EIDMt$NAAF z2;pJ0%fV&E3@G|H(Q<$7Lis;+r90*K{l5O^eOvPzkp1*whW+wkhJoqa`fr)e)BC<{ z6@UC`I{*ESeyW~53qV1&!@%x61F~AUBomm$LR6Y zxN;I$QT{(pg8Zj*oW1{TILKXAYM2d?y& zKJ55dJHY6EfWCH+p?1){M_&weJRa%#>*@rX>V+8T2AVzk{Kz2I>P3Vmvfz?q?^Ulp z3FPQS=MhQgQAyaZJX2T-s|& z&U;4Lf8l26)V;7pO}`OopA{AVHIE@#)Q1hOjHd!4iOvK)GkfxHvGx+FKaqng}P+da~H zoZ?%(()+y9+C4McJu~~fGP=Ao`-2OHQseqEV*2ya2b@wyZ8Ilrv*%p1XPxqA{EFrr za#r1nR_sdlT}rmC^LBhn*HTkQ)6=K3QYH$L#&b|pMOh=MS<9}Ki-G0y9u;d2m5@u- zcl%n%wH~r7U-hn9^{w0st=ji%{2tu!J-Bwoy&ZDvf$Ul!{}w2$74q(f!g`^Q_T|W` z#e(+v=(_djhW(_by_j|=x$S#QFO=L1#bP(Jx}fYns9*s4JPdh{LMh`=_9#>`1|=^+ zrK?cY$j;>A`t1D9((Lj$1kFIu`057qePa`-5+JFzx3iC98-pbaE{+b??*A+e;g9|A z0MpoqKR1p2*^Reb^XkxLD~qLX!zR^GKncZd!TXWX z$(~Id%xBiW)h2&@m>giZ*-#(&>Fbw|pEmQ_qqIM)3wPbMB;~`jTH*DI9<|GKAl9*1 z9#{#tpX`}BdS+o{a}YUshg26yK!@Ql>^KRQEnJNvuBQ)|ElpcdZfELVJa(5H?SAZb zHa9@|%xNa082QikH{@A$VfV0oxHj_nlVAoyDIMoI9{qL=E12<%;)@81W#hVIyrx2d%4r`7f$%KCq%S#6a~Wk zq7?W8v~+6(q7qsaPcUgMVd%rGWok~C2FWO$@JLuuT==>O9d&9Cks>|&5uB+J962fGaQdnY00=8 z5!8Bt&o8RJggz09#&h8b$@c+BfFQ4&jsU4h{F6!6qh!az#AubsJe^ueNdh=mNGUA+ zM95DUhmvkCD!6bfQHq2{VNUSh%&6k>$)ge`|wq*#lbU3ReTgHcsr==pr zBR#)lLv1lkpp`O8ay|kNZY@Q~Jq=@tx2!t-5k|<~U4{>~oCL68cQZ;DJ_8(vM+$?z zF6M!a2U!!s%V5Nu)<;N$tS`}J!YG}pq+-U<@~`z7JrMT1^fpdPGU+~kH_=?wHx%X0 zSNLE*#~h~>CcPT8LKC-EdF(sPNwgRbj*^@>wiBTwN?1Yl0rTXTW$mvbe;rJ(>nhz@Pq(H@(IHXpu3+0hIjN@TGS_!kOKfC#xu@uzQ0}R_ zyO9~xn4&LQ-_vBZkrhFeYN(*x+ZwWwouHa(e7nB4vv4B^<(_J4pxoCB^={N&& zQ{OkZvyoRum1gFs+&{{;nU7ITdl6XQKPjdNkRvo&>g1c~aj3_DxG&u3x@et9_B01*Vq zoY$YWNkQ#eGoHEark30_pSw%tSwFQ_xbM+Cx4Bme(XjA~A+!uFoq`hbG2PQ!q^u{! z74I0mbq-D}sO_2ACSwzjP`YbuRc%R2{8?JGBkBwCB@N5>ccj8mXlI5~cZ;2bqpRJa|M02h3q zt>%VRbM4l2z^c1+-V5o`3GRQA&}f*9wa9FLU)V3@F|Xu4t?D&*!|$7N;PUm)>$hVe zGsTQ^~!4V$?Pr7 zD|acK_b6U=F4*_}x{ofXsQZfXspu;0tdFZ7aIM~Tu7TXDA!iKaSF!0+y%q$XYPCCF z^^kuf6pVoaTcOY)D6VEYt!*N!W;L&VGab7e)e1#*LNQ%XLKhU*110uDsRK}6>uy2& ze)I^G0~V4s=*DVnM_n7Xr)PGcw{EnntPesDL8E;WlS4DDlh6=Ixy;RfUtSyr?|#0`(IFT5z)f`1>D%Q5`<`!RpZX-+OiVXLqW|&QJ!O(J8YhtIUj3eR^Ce z0udQyPew0lNABNgQ)Z7(EJXRB?mVj#j8*df7B)NSmiG0`aSYdEIa+Sj`_od~(~dsL zhHbeoY-5SK`0qn%9OmURjuAu#9kTb4bHs_*w_x8$0F%eKk*y3%5fG8n@sa{)V-)|TXZ}JC# z>3-zG7=}!d43DSUPp~$c=X!LUTgX{WwECUMYpQJLhguNFzKXhUuMRi9JL!uodAt0% z!S~Bo;l_#0q2{^f=GrU!5LYl4=_}apb=&zreRcTq_gEdS{|efu7x;9e$1py1qt`TV zVWZFNHv3OEUH&9BsONqQnQ;$U{M;$Z!Zr1R7fofwKSf&%) zZ4^9U7TEwK8=%xkJB?oh8cpCgHUDMRFMArn>snDW#xcX@Nei#imUXisGdhRA}>xZ>V~(tf9+#qg4Or{Yb& zuj^?QgSqIo?8?59#$FIK3@D#xPm561Za(h$cn7IK?D&3Mv|ffOi$7A8J|$+S}Xv z`ugg+rW^a_(5*9o2VBv&-Z(nfF|yb{_6>+BjkvplOM{D>*hvUG1NDD{s+Xaj6&wZ_ z_&>(ymq+IJ7FRaLSNFfI?~Q+l=Jz4MKiJuTR`+o+!EKtoThi<(yN_JmFnGeY3y}BoiC*g~uvy9b+XoC#I#8vZLf; zLl?Z%Z*p`gdy6J*;ld*8F1`Y8+qo{(W6f))#0kly_@<}TrQ;DELnmL%!!5>1*pHeZ zj=7v0CXc?R5m_A$4u7oA(a^+Su(u_pWxt5(hw!e}II^=pvwB}ZrzcM%>Zn#px)gE! zp}gVk#|IXY+-*Td1erBj3T9s+=3Fv>l1CoZdC#HcrdFL7Mn zyKy~`D;Q6Mgxf~S2;u*U$X3DN?t@^tqn<(fTE5BwMw7wH!~qBe)e9>O(r+VAPK8=@ zI(vO|5`Quk{(hsjH^e@|rbXLK#{bI~06Z|fVfbFh`{PSSh}q|FDMj8u zYS;(ez=kj!*TCFr)~-rHwQKG&Xa|I|8B!R+bwSADMGRmtrD0`Q1?OAZvqy60(qvsv zkCO5PEaJ(qJqhCCFZ#AImo9ze^(&*eQ!y?qG*r7EdJVbbbU7y3D6tNG*I^hqcfbgT)P;Ww=bi4y?3S3%RphKS=P7OzQ)Wd94( z3&~|P3#~PtJhRmKatA353$C^Hn|W~#>@plriCFJhaLLiDlGaWrQ4qg{axafF*l}13iNZBt%4b-z?IeSccylkMZq^G)oN+N-imUG7fmbxR1h> z0(|n*;PS`Wlh=qDlut+6)2X;U+nJ8?Y}%ep`Rr$)eI)nH?)>rEB0ugff#X66*_(^I z(W|dJZfRB0^GPnUPi*h5=+7OMT=uXh`k*z+-LSX*_L$qh(Y?a|bl}0Oe>w1g(f(&e zLGf1;*(J9nHTMRvFam2J55IV~&{z;=jEF0UOZf^Si@=YK$|^ial@t{hm6jBL4a%tZ zNbhsc==IF%_s$#yWWZ$fpi>oYVoI$Z1~kAbzyqwV1wg=BOg)GxqT2^r00Xe49b^#C8(CRj{evteJK5%gR7lLrP6liA;w=((DQ&<0nJ@Ds=O!1#H zk(DA4a+>HC4S7nWWv=PB6E441#*5dr$5H0vXagb+Cr zyQL)u&-i!D@4OB8WUYwx>NqcN>SfC*ZnjkM3BJROM?{Y>;}jRO zgyWMP3x$t3j!+4~U{8o*2`KpbmzbSS=VIC(%}b4sx}9&*({>k|)S|sF0d8Ndupj+%Ep~!XPlYA2E?k~`R@^}I0 zVEZyl`@5@0=qH0Lo{hPQddx>Ri@aNziRaT2z<(TOUvb-)=i^53^p#^=N&1mq@&Yq4 zpcT)=2I(iw#D%_|J;3OLR(!x7ic7+^;#rVBtOoi0>`vpk)ci>R2?lJzx%4vPQ}ci= zXoAb{AFu^+`F(l77Hro%j5{vm_Tz4F4I{xFo^cR&ESScjhyK3Y%YS;@@#5bRcT{Ek zX{bE&ODT5%{8wB?Fg^(w>oYTcykLj}%;W-p{f|NO!y;bxwc^*68lYQ2vK-)AL5&6> za!{i|aQx>Q4UP;Ra#%rW232@<1t8-#abduNDh#sVAQT8L3?AM>!Rb_gZ{-E<#K3>h zov13PBIxew?B(qP@T{LaT|5E~@vJ%_%0ZEF@d=4ZAKa4<@T>+Nv01ppcwtTv?u=o0 zY6UJaZiTLG0LdJ5^cmOs+-6Why9K$92(-1!)c1~0Onw#Qpk^0n59$PG3|GILJR`uw zK*v|I27bRh1MIvv{G(L54Y!Cm2T@ObY2{BQ(c&A4pDg=4I-c3#u{V?;rEK4E_30N8#A4T zX*aOwL{ri$#hAd-GbZY>cTIJqr0|_Hf@EEZFQ&ERRW1m4YB%2XkINqJ&k0w3$0W_2 zWHL8MWz6wysLYPy*r1pwV4!TWTyH9V8#>Vx?fWVl|Hk>5Zh|Bon@dkqKMrf&ylQc| z=xyuJhf7A~wwF$BV4Lf|glX^ZOt@>Izx)k;cEY zjHP~6f;5b*-+09OMWR4t8NjDOAp!?gf4rs&(#g5G;79~0M|lU(i_`)D%qfd6?Z_-` zPb%-uuWHY&=sx60AHE=~YU^=i%(_NUn!qEnvkOO$2BitS9nsiH+)>o=$*GA20IoPZ zfeMn!GYiX$3rjN_2gsgC3Ism5ABdIqJWOwzGM>T+{S8?Kaq*I1C?`Ky<%iq{X$9vGb~@flh#i;JzU z92#S;!|+oK11d?f?ch90p)BSy_H>Q<#q0_P`nadyJI)b2c|#6a+>!4mr;fJB-z>A1 zCUo^X17gUvt0WEjS0k6L#W9W%U-*QqmzEyc5QIvCOLA;2CmNDv9q}DV6I%(cMcjcW+Z%;z%28yvL1C zNb-?~pEGpp`B>gPK%IuE!{$*C3J*`0FQv0n`^qU z^zw6dNz?v(u1{A!aI8HY?mn9!@6ICT&#&Bx{h?vQ=p5aORjmHZ$*eXx$x#rN8Ln)1&wl#7K0S>r4s)r53!ADo?FLe zNjp5{n8-Awj%FH;1AUyDxB0O%RnNHJO^KOD{#yFM*M083o|$ks_7RYt+m{fN!G`3I z!9~>E+DAdps^9XcU-mm08*2Ie0t45(MMHnLD>jegecm!j+)|>JK*xSTUYzB3Uv-O~ zjxxLQ-`808|J2881ULIFx}M@rHl%J2zTX5ONNbWaTf_FuxRVVh(*DIajl}Tk%%XIwsoCu6li}wF@*H5L+3ql9orZPN1e) zVBGcD#tm$OJff(mDp!_s+`Up|GSt#4bill1+aoT`aN(euOK~s=VBt4;k&f^q5sE$A z4Y4>j9^J0`uq~DJEe04C%Z2eVfFF-zP|5*JiC`!GM=N@4^o0CMKu^_0_&90dxc!=R z0Vg}47_spi71vxC;e0BlAhP{1r=wc6ockKa`N)Nj`A*g`LqmYuZxWiHLV_d_@RAeX zEOP=uN!c16QFBLU<_pA+-omeC1DV@>{T}fXd)m|Pfr?8UMS0(b3ImP^n|~H!qNTPu z^)M~NW_1c14Yx6A zb?yxXy2ksp-@*wHlw_mR0VpAs{+r|%r*)n)h;IzrGiVx)9NxDESl|EmyU?k@hF>^g z%=4nId6k!@mhkxh$KHDYMS*VX+R!wqL2Pmq8zh6+AR=OFf`AAL2#69SnFtDq3W!QK zIZ6(SWXYk)Ip-)j=bR-83P}H7!=yUr?sNB@J$s-3-hH~JW}KR0rfRBPYkh0I@ALY} zQjvpdevZ@D*;fJfWSU+{^Z#C`#GjoDNB;GL;lHYyzcWYtVjYV7z2ds!;cbUp2~q2$ z^S0^AuOswrLZn_Myg@t5V^TF7OJdN#s zm(}$YJM*@1>InP>c=Le$b_9L{w^V?Zcl{9O8IXAxu@V;+Qy3E)57N*Q5)yvFza^&u z{M&C(d62jQ^3ed;0&w8svvX21vr@5HiMe_41^M{77>vc>bI5p z0W>&(f&-gY=k%V>>9u9Wm4&61#l^LFmV71N17BHPU0GWXtf>uk^|f_?Am0G^@!$ja z@l8$LAbO>q>5bBnW! z%d?AkHU}OZH@^zpvVa-{0CJ#d04>W3?%)VE53n6zXYga^8whDx+XATh-R+(I-_lw@ zt=#!}fL|tnP3|r}WOeW7_XGT24ggi||Dt{FKiIPV!5;^A)vJH8u>R6zevRZO{I_o^ zUU&ndcmldoB7|*C2D_gm-1sD}8q@7=HgMf2i1X;KY9Vjf6R40Bm!e57U21*3lPB$7 zkYN!lxHBGW)DwDvme;(e04#GOlm_@Tl~}VLo1ha@coRPfX`>A$CrySgG zqeH~qahLbWy&)G|JRCx&pR7%dX5f{FJ%S9zgpIm}I9;+vO7$`a zMFLk0b#Nv_BIn6Z-BFQpKIx>~Lk`ij_pc|Q6>F~`veu`GaaYGT93g`TjTAuznS_jI zx}%)o;QC7jHx^olQpkIa%dkLfX^04z*{phaB1+<`*zcEARFp0kWL+eCbCY%<<1{& zb7l24=(S=8pIEuW6m6*?lzycfSuhd<|GG`F@7{{A6{dsSqGyi4Vsp*y#y&2l4;kJq_IE*B<9 zAh*BLo2`E1FQ$ACMuLI7#`i%Bkk{0=rX4;X244ON8ms5ly}GBaPj?qc(fttvkfgSt zCGA3=-Q|$-o4yTmb?jNI>9?-$eXSrpv%mItCdK@@=L3o48XE2u1?5$!gxy=iFttRH zoNuV4vRiXRP)3ujWWj{f^n6W<+AX28L zs;RcF5rn1IHMJb^vl_r|zp=Hgt*xm6P-8n=TDmJ5`oDDb{9!ui>*yE);cPuUBRxH1 zV8hmTNR1sC85tb~W5HNW?^I*QM1AMiw!YQD!O4-qaS+-zGBO8}*jq*px`sC=$EHRm zrrK9=O+RoW-*HDA!I`OvIeZMw+|=B{-0affbO7dq!}PY5l_RX+^2*xc;?~p_-u4C% zgX`bGZ~!=ifHk`d?zdsuV3uKdr(am7+X^l?99-|@j*vssTb0n@PTndj`4MX_B+-B}KDHsoQ4@Ma#0c{uRYKo-ffGfDAtrGk?6Cz= zbmM5`3N;B-?(sMwwE&iSg8WvCFA+(02T22!5}61Ypg6QU2Bn>O-F`qpmrrk~J_?yf$eJhSFJN<&-e1@r7Do7wBVp+?fO8Z>9rE#$(C zTE@Er?0AyrV^Hgbf$HJsy6aD%)Yq#|-0+L8ik2^{od==oEdH^|(%q!&I&0XwVai)r z=G%TAc-(uAovc6%&1J&c6pYxqQ&=wkTuhx=_krw`ldl;Wr&|S!3H%MXin9S){mHk9 zmX##@Occ^&HTZL}V?UppH#(|W-cWq-JN)FE?;Wm)XUi&%$0ftjr0lPkCxi6Diqw0$^(=+?R>!oTmk5ZIJu%pNQ~vb1$ER*VK`Ktgi6F-onC4&%)KZ>iVXJy6WoY z+Un-Iy0(_425`JTYVe0-_|EF)5s|oKKn@G;U%8iU<7e2|#TKNw)fgS{2RsE4)$?fGmrx*HLb>wn3IL997FW%)mZCKk0!~5< zkyMt2$o1^_){nyvr33P+34Pd61k)9q#0ed-3ITZ@!TzLB7Itw;GR~Rs&J?X|lc1WM z8;rv8Ji`v_(lTTmdL>W61AL_?qZ5~C+_>Qcqd0jjxPeUM)QU_#pme5xxA2@0=DuRz z-^uOCNd1Nsyub@T-O0Ec?!}iinZ-!!cj9N7Qc=#6dwRznp=o5C$6R@J!XuQ6^U|BO z@4?r-Anq%mK}I&AqHUZh>A7STvaWf0lQ4^tft9b_=feK{mK9NBs5>2Rs8ZPL+M*wo zCSOd8yk2|Ia4qySzY;XR65sJ|edrHtym>FVD48G3HsgOU8;=K;euNQ@MJ`is&~rA! z{ijUH6 zzU%4j|Ly}G?&+_4-~QjruIrg6A5NR6UVf4I;J&ws?tA0=0Z()TAKm|``Z&VKz~9s; z(Bxt0(}(Y6>=NbQ7U(=rdg}R6+oR}RK!)M_!t-9emz{?$dW@cP>J#=Fmv9{ycb}5< zn3Qy#zv#6n?lL1DI4|eYcGJ5})w5O2z3z5EtK9ouC9iHd_hA*!PEF4N<=_$Zps^Q` zUkro$Ov3tY!n;jEo1ezCy^jC#GBz{gx1Blh!yuzZw zQty;Dr-Y`EK6)HXG=Qgqg(dlTXwSBHnLlP#CB}PbseMt6XoDR>L9M9XCt$BFJ}Z-FpA6V--?^T zrA^?HmT|e0xMILmS;Unr;u1D+IUBg*OHR(6r5I!D9Rd6Kr4j-|hBX1`J z)pC#bh_b-f%6>NE>Gi&}FX_Dm9cWmO73h5Ak;uY7%g(xJr&+m?iA=($!tdytcHlEh zjui-=)1lInq6i}Oxig4YptaGgniC3gIVGKwZxedhhrPyo=%=C4)&^0K6d@u776Uj4 zktcIrUq3*y-YPK_GwBfiVKpn%_uQ#X6aDMnrEb+2=M z(^<8Qs4Af1l~q(frmnz#UHM$kG|dg6+=fodM}0cC4g9q9@+X3E%+{Jt+C_B_LiP0) zm~{HYvWtUWR(aXkCaj-Nl1t#jEl+iB?IhH zw2P>ux2fm70KTZuhjxKc{np~`YA@LD`F`@Ss!NOw#=sV1g3^<9lkH6K&$3H1^xk6a z(=cVRV#8QLv9jIdmh=*;6jQOX)#TKy5XZ_ zt&;v-xCNSo#TZK{&P-4WoHf=+C_SGR^)=X?H5DmhUchi6V_>5urn?!AJWI+>S&F7p zGgGM~KC2x?M1Nf=nyBxTwdlr>MFP}A;OdqGj7D00y^=be0A~n0E~{=J+p59VrO@Wc?=S1;$PlR$U3=VZZ`_gY<~V|!TNZIs zmP*EWqKV#rOT~%qw8P}R;R@2R4(@7oLpKrg#0^hAvwbyk{)dU8O?<*CzRsdSbOBB5 zNr^FvEY-e-Ey9hLEUT!})kVFKK@!JX&e%gYo6q=&`NMd_ZK@Onl1exzkM+IGL+ZB%+F$Qkq)^jBgONJXZ*bH22XE8Kes( zhQsmlz9A&3ABwDjQ;ID^D0mTQ{H<7(DCZVi8-jhc62)~fU{*oV+X zz@7OnWmc&g8$xPPvLd~{?mUYz7=6lE8I-Em39bqH06v#fG!vwnWEi?oiCP*7S2Uso zL!Mz#Nv|p8sDZ-JD_S_8MEN z(i$3JZ%7`gB2C7V>2V!;o4kIxhK}-y^Zk+vl4O0UV+v9*9vci@`Qs{f#Jbz=Wkd2P zEFr&I2UPCTB(+y4npY3yL7GKK_j){@TaO>t{MJPTPK`vPhy^fkCjw%!YiKf(dl(uw z6qM{3np_Trah0=%@(@%K!7Uu1bQQ7WOcex_`UDW9J|Xe^V+akZlaLNYh}5lskT^IH z@35!@zOtBOPs8*$M^lgS|ssTFjgr)bdXXttn4ceiBq&%17kJTItS_-YV& zO+Av`Xt)!T?1|Nio-~(SDs67l6Z6>Kv>1(4M}m|SB!sSd&~ND#n_bVCXauEgO%V?> z-OSe%wfs~+v#1jW+@)zoB#6Dtd|+!95}HGoEyR#@J4sHT0svLmWz}DQqP3G2jBnrW z$xh@Jdi+gtP_T9}C+UBHDu+N7-2V=!vfJ)Fw?I zRZ!(&U6q#&S@-%IZsui$v@SoqxHr)5lb4gAykergH`w0>cKEF;Pham1jZ@_p)GM!A zecT(KznNdu*Sh+$cyDCQC%h;Wbp1j|}QH5z^t=aUj@br|Optk#T=^Lc4Egpc#N zQ@R9z!I9;g_&A?CZyjA+-P|ReL7EW=%fL(WgF_C(GC-UU$)l*lunZu{Pf1NXl;mgU zgnQ*8Vu&DwL1YRshVfw;6O&U%I@%*(@U`}}Ls!!+ z=q?ogY~wpY?#f=Dvwj5#%Mj3Mz)SKEpW&H@$}13-@o&$v4*es`nh8Pxq*vpIv84Z} z(kqbSb_v*;juO>n8J>e}%ih3&2)OF% zYVa@y0V?293|tjozI*}3iuU$){I0ln00@MunkPGkCfbLmJ4a``M;5!s=bM2GcYF#6 zy?`hfFYMadncLi(#NlQRt+{w#F8CbzEI>N<-qt=qY5Y90hV6rB?w#*@-}d&wR(KmM zgh3Mb0We+s#Gi42K^Five*OhWqyPLE20LKmziJ0;XsEBRp{L!UZJ^U^WMrtPH!!5v zc+`AKnwvF@breqv30@iM8yIdLojIb_d&~_OS5Xo=ASwwMm1?{?#NQi~A2uJGrIYjm z1{gXwDY+^Pk1ULcJ^e5e`|at{63X@pG=^9< zd3;#&+0Yk!B=)x+HKov#tRWT1waKxoqK5JKNNlsDC}!eI4j{0O(q#@;(RA)GsmZfM z_(seG#D!8ix%Sx5HI;s>4WL_4YJAN?Hs`tdU1D0N;&ov*9c{S~V}v!#5js`9r4uY- zEEMS5SqLn(6I(0?q|7;pZexYDhV=*H%U}n5XA5@EV7IR>cnifV&*SOJgU5Vqn58^>->7#^}3~f?2dBO8S@>LW;%k z6o``Jja}awad&d+sU(q@M>={U+rVQyxH~lT*x5@`coTpS^n@nNj{_>?`g# zGO7X%rC_<_hK#Oqreu}0{~w;>*3wY<`>W*#Klk_cO#VeYMM>gcrv{GSzl6@NuCD(6 z{vjbDAoCT7%9E3Ujyx3~9DaBV268Z9;RZS{d;_nq$J-)79C%9$xcdSn*HP?ue}6wd z?HeESJqnuj;y%9Rg3r&NKuit5q5qU-`&;`Z!BzPFgYIoJgr}FM`_WU;&)YjF>;vAt zt&Lz0K}3RF#l$4nSfAv>r=nqM+@X8B@W{O#5X+HQRS(k4o`=TOHRGpjy}Y*C{%-J8 z9PaI98v#$nGWHm++BCWe_8E{Z6A>dl=0kA2Zv$Lxozi54nHvxsQTSX%(dxLHx`c2h z0W!-3yh+E9=CQ0V0lMCYohUp2IqragGTlzr;ddq?J$^>F&ic9owKK(;yNfL|D90k) zBYy&(=e-RmGAaf(WPjt9Ch+ZWkpCq1woBC`wsdmXO;U8#l+Fk z(aXyV7*LMXBuCW)Xh?y8^p{6KUE@)>Dkvb}1po>Ns2-qn0M+O8^fa({0ALS#(CRirnE6YBfmiNyf?SNw9{|^?EUt*+x-8*@4g&v_GetEM0 zzITfIkd>R4U+|18r?3>DAY?w2DArVhVv1MTajuCUh~IWSd!@d6wXaBayy>97kpI zaetI}C9Ib0k%YDB#$K?2a}p6j=*F2x2Fdu<6>geKc`G&prQ>lj^>&_s6m68=6xv*S zNl=`O03vF$miH{CV1UiM-J&J*oXsh2I2PWYVI*Z)edWq?EiL!s*1V<>v==sK#ZF!I z?CrAMVrvA&gfJC=?Nn3mH%GkT7hf4FC?1vlRGk0pio!dJlT@$pD2NpVz3K(puhZ>A zr$a7!+iflN^FR8ZV)ED0bX@;iiirYm+7{49u55Lw$e;e!JwftoZDIYrwm5;>0#xn3 zzP>=u4t#82JOSke6qcg}16VBp;W-#ijtUFdEP$#4GUdVY;FlozZ-5(fIG2D$-p_rY z=l*SkIQj)KZk)%*_({a$0j-?;wqy4qMC4@g_R}955J3+V`O3Y zh+pHK4vGkl1G{Li03gWEbV_GsV2EeTDk?59XQ8HvlFbG{hVgnd3lvs{Y z9;Z9?r3>t$#fc|~36HZtiC9UYV<5avATN)SoRx-(Cg;6@-YIk2$>ImJEq5j1|E*PB58fPbXv7Y@r%lMM{9cap{kv;+jL^1V%6_2#9p3 z#B*^`4Z^s#NYrs#m}1Ujjz@9<|La`ECE;UCNShNk800@=AK-1kc-SR~mj7P_H!Brj zC#u~JVVC&hJl>QA28`y=vtS)ic&M57WCsJrLKk2<=(QffE}QX^Fi;boFO9YynzF!g z{$@!5s0jfeTK=yZFmQjbChV_TEQxqt0Cfa(vy&C9*jU$6(a;Kh zgMtS{Q(JpWYkO-)S7S$SW6ubf0*)wsJv}{LeFFdj)!qLK2MW9?S_dY8O|-dt1uO@F zf^>B5(B?5YGdVRoH;wmx9=bkPXID3YI&@(VKQHWT;VFGU6uOS*^6ee~D!?vyW*vat z9~c|{8B@c5C?x;9zXcmc>Az^h_#Z9(do60=QQwF(t4|u04$)P1G(&L zF%ct6LL_CU&L;LPc_90-JozwnoQxx}7_MpJu?WXvf1+|1(EIFkIx?_5CadI_c7~RO z>iM@00gQS*jPtAlBC1j*UI2oC)7(XKLt&^_+xrDM3#F)+iDlGWP97nrP^qEt)f9Xh z>S~UvX-z{DsHQ-J55}GP*7mBl-qyB`FKr#*Q3YyhYahO>_VwWTr(hE50Q$7U$_h>` zgF~ZrU*^G`rDtpgfLOq_rFVRGcyeZF`X}B%H#sv4t}e5`7uSt7JQo%0biiW_i0*g4 z<0&klzHaQ{0Dum_SMcN&aN-Acd0?3bCH6nfRsXzl_~-u3porf1=M>Q+I?HI;d({MQ?k-*ob~v(8rgMjRevXfA4~)sl$;e+CZ>d&e8dJ2vST>{x@uo7wp@j-nD~;hf zW}Ay6p5#)FP(n6iSxgr(0TCG!Lc)Q75Km`0BdP{Z=EU+J&*`E7#s-d3wOo9kl`~=vn`S!8> zJ&T`%vdQhurI5I|*^Qszy4vs#@;_M={~YqE{eN2#Rs0QCW%P%FD0J86uASe@cV0%m z883pN*OX=_wocWhx_YDp&ulgKRX%Bbi~ zt{lw;JgeHC)S3xw!%TVSOlIdoU2Q$UNCT?LmyR}2Qmb15NxBDMNo!iCtG+BW_s`XJ zFEtM>cMMN~0tz(UHACM!M%TwCCWfb1+NN=R)0;h0yPXTT(WQgxHQewf4s5j+0Ig(Y z1-G}l{&i>l>yMdD9AE{mfEv2>?O-45w)TJQ0GQPQSeYLH>Ij}a@&oX!c7Ggzll2ck zxB_MMSMkZ8t9t*%Pl1AH^d|~pvcA5dA&?p8;yI>Oc+pgZVL>UTr2ZGZNxY$U%Uw*L zp{_=sw(i}jDXqKt`S%U)-`6v|d9!iRNWY~Yqt$bivW`tRAKIveWjq_FnS@l&=r9Rt zbtg3wf7KM0zDI!9o5a??FJ3j+G}I?$IIb42Pfq*L6(vhch&&m)VU+_jC#seqqRH#%ohq-5 zTb;?GL0|KrI-$q5P=RhBL$El6e(!+PK#pH}Y7h-~sPNa(N))=`kybx+_)vW%vcMz= z3$y^+HMe;xMTO$0s7`&Z^JG-2+q##?%F1-&BmSYvrkNdQn64D61|@ud zoZULnH-^*0jZ@G>g>QXa#?M$EMZiSB9de9A9c$K6*P0dGSPS4Gx8A7^qm3d`!=*36 zn1c3`jET(^6gZr<43#^iXpFvFJ3uFm{gia{3*;3ZeS45N;liefiAK;1i8x*;nx+XR zB1g8PTo0#87p?Ydv}X~4&C-q2v8-M|ZW3!jGe1dmOnv^Lp|I{2WDNISNqiwr9!|&a za$JNdsm1#i{%-vfI#6?rp~fQ4?}{be`^MF-Eq9U1RhMUYvG~ zw=#_JyAi)A;FVbB(dd`iWMb;dGx~gq+h}!BFuibocPX`+!Bpr&8vB1hLGNk0_dZNn zQR#mQP|yS~C;$pt@zm2lprGq{D880#-Q1igRot%fK``hRnmAq|)c9KA(`m9+NyeMH zRz-Q1^GqfDQR7+--5n)MTn*Es)b%>HSIg`52v?yEKo2q7Xyi*s-DncZU*2d&)(dU6 zi1mR~28lUf?!C0Lya~*`r?=W=8G*U?Up-X{@6N}C0C-4ZLi+AvYX0i(61Ep-WJx6}Y$Vq16(@kl#=%Y`5+SMC45M3U#6%*1aAp z#j^A@)QK0Zds}$Lvdt;fOAfC4*tEp5?=;k3*J{CL*uk>^e^6?7w_X~{tl!OT>@r^Bri%AFRMH%UtQE6rAsRh|t z`A26_Fq3n3!5$URqmN{l5Nn53i5f!MBvvJ=_AA)qx!rtUGsi z_J4lELlZX+wzqKK0h|_Zlf?m>EM61!9Z+a@clQA@5p)-DRsqZl0K34a5&bJ?c+h-w z|4j4I(b3j+%Fo4LP7a$-WWhb1;-C;v6)zG+^lgoMt_7!NTr z1OXYNkWO;N*{0l-zKorF_e`w_)ZEB#5mVcW$T(>T>Eis=2@ge6<>_}zCTj?}sK|u@ zleiY*KzPM)f1KuXbGa~z)}ZDFeoN}(dvA#bO5?+E&3+a$DdqH@66rtjAywhzEQkbZ zj?XbCrJ%hUJnZ4`tINodjc-2tBT+1Z?D|Z8G4j&Z1$i*VJ0)NmmkYRNiH10P&{8Pq zfA&$3+y-aZi`LN?d8!kqIb|oL^-6#4eZLmQ*kc5BV%Yq_g{IqD3Bfy<`YB+%QR5H; z9V7~YcCYw64p@myFertP1Jp@}i9iYpx2Bfj07ktfe^fyPDafvBAH zxwO&HFYaW2{yyEQwf1WcSD5>!aQ<_Ijm8{Ti}=WlbQ6(PouI(}(u{I-#<&%#49gEIaGFLM^&xldIh&!Hd^=YFOb2gWfYiVstrI{qhzVAAXS>h~#MdEp<^fp?z%mon7#>5H~NE*g3HamoJ_dzo2kY;;PgY zxr?$_P$-#evU1nuZYU|qD_p;;tf&Egt#V86_DvNPuSHG=wM^{(( zp5`4R)tiPIYL9g8=^E&o8tQ228S5H8z<(Yao0^$EGcvM%^3dMO{H5hnV^gcA&#eGA z^0mFat(}eIOG`&vn|J89UTAx}H<-s3zHcy&FI+x@yO*nni>HSxz(TsZdHT7aKX|(b z_;`BxzK;xi?+xq?fq_9`AHgR&*e@v}EH*SCEhf_YV_sl*$;XUxpy^3TNlEyen3tT8 zot06HO-WD1rso!d3q3fV6%^%neoh-m&KyoF>PgORE-R`n${ojoYkhf0d`(Qk!4ZkY3f9SKC+EI14sZ&5gC-2nSeD z{jCk%%?;oQ)z#5D+SS(F(F>@MAVjZssCQzZXS%;1*E_P;Gx)Q0U~FP^VP>SMcdBb( zrgdPeb8Nq3WD~^c;YJsG#wQ2HSHFzox+nIBW^khm2Ln?(fD*B|FgF1J>@y3qhZlgw zsY%?#-1_3`*L4sTu{yi5HMNSHTi(JgZ7*#7T-nF1Y;WTqSwFx1-1!MQ;P&n>$j2i+ z!FL>9tAr2W1OI5}`+xCN`hV{q0SB+qe{%3rm(fUw#8lnEi~Y4aVtx&gh&vPw1M>Ul z<`Cqmmtu{X59`2@5WkH|04se**v|{FQ;HwOUDL&qbCSC7qTx?4>&ayP3t1*3hy73c zRGOh8J=Z|iFAm-|jm&ssCYrePkzyIA?#~yUo{b{j5Ry`N=3Csa64D&DK63D$x*;5D zL?#s%diGghT=aZPW0Va3NVrwcc7r6H<>GeFqJqEPHO%LxZ~cS$8aptdsxxwi{xYC!n3r|v==8!8L-}2 zAbpK3MV1r8ZPZl59eSu4ri*?Vs9M>>A@9drA?jzHT07tbmlosb75H3ow>Q!WAHySG z+v!B6u5KVee>={@Bsob_#5pOw43{jBlGDZlNLIdZcY!JI$)$|gimWF7_$Zpxj5JHw zVpfazo>sWuJgVxK93H)544GBUggKq+Rx~*`ng0#IA=*n5EUt zDZJml@K7$ehWfhDo~nq4pc_nfO)j@~(t~TdV`;4#e*9X5$M;pwlRB{_QqFAM-rQ?) zJGGEG)WK((b@28YrpZ}(69>D-=0oqvZnaEJYLQNUY1ZU}vby^_0sPyGLAe7;f0_5w zeOD9250BWCd9Ogh^zf>)a+YH2&<>qfE4e5^fmS~*yOPNhY9DGk47y|8O2pqnBePU7 z_xsGx_Wawb3b(b9)_HbS5-;>Eb8G%^^rcU=$ zE|1@mu||hmd9Zn4rPs=?DAKueUm9AG?08-8li!cQo!-9dv}df%<54oKBCmeY--*dN z94*KCIMmOD#t`8r$K-4;RmWn=$LX;^=WOq57EG41yfpqraBuX+*wcd_h^4Z@Nuv{9 z$fu3xtXx?2Y%E;_AGl34FunKcaA$JVC!#4?b5;q((5LeCOBeJNtzB3%p6b%>^mi_U z#b@xQuWN8QIG!H~Y&`#+pX^i<+=Im?n$iVX&B#veBJWm7Ye?Y8+O$S2?nZ?kFmf~F zicTWkMe5N$sa?jc@ziMMKqL|$6Th{Wsoc11{=~}vrgD2=s=(7YcQvz*yI!AN7pCKt zPMo5ULrJ-5!42V_OhjA=5%=ptRo(#(P}V^Q(ra$3mT-fpmbVS{4_h1GWFRM}4w(48 zQz1?Ym6JUU>a;LB5>K^#cT@dn_ZuP`j(#oda?|3n<30qs!AOW*|Nea{h>G({<v@joKHkl;EL{aa}b<%t7hdSY*jFhp?cOpBs$aUOe|YPK;JGyw6#W(tBW9IBdVf^ zUvom$7{Kn*%nNE(KrY+UU9{A%f=v24YS@e2xX^u_gt#VqbeTkf1Ik-jRH*!E!#jLN zN16Q&X~qi{dL;}B_Bo3dYjlKr*dQaEz>i zh^(SoP?!+Sr#=perNI#K0rD%K10=8$ecTD<2$4k*s{?;=Li zAhKj4B&0jrD)GY4-H|fkV-8)wrOc=A<&T;BK%^W9DG3PAGgXi>sW`(g89>h$R0;@S zU6*k>sN+;_P+HkF81;As;cE*AHU)%py?X_rq%WGt*n$uyK|qGEkvSnfPQ=naPI8*8 ziUm1NNUVh-7E4Tr_eP-^#vSOWLNO%s72PD^h96@4ow%Rf<|%vN&pRwb{P)T1gcQ zBPtqlRjZ2B2JXm&{Z6KBQ$fzsAmK$o*u>$EH0=`vD*Yh*2wa`}H$Hy<%=1M; z7OCNseXdCR)7$dCF#$nd8i95vZcR8D6VieFrGpfsKEjzXIOnFEVUI-Jl`!GZX}|KPRv(Ra1jummZ&7V_PFYJ6q1y2c!G!~wEDQ$8WFEp z(Q#G>6luXY0qnqgMV@G=0O-z*IZS3ndza1%GQ*epT-s_UT{w6sTwIi zot-wPA7wK}1U2~e+H{<&cv;JP;7cakzc=bmAX`d3;R+nQ$KS2VRNzinyrnG}3tc1P zK~@fgDEY_NCK1uABsgDMR!W5Zm}Td=N$klQ=T7P;%O=NBDq8pY~xL=83Wt;7+{ThJqlllak?_HxVF*$`Us5RqB(@!*ihwIcy_Q50han)ZqmU+YOfVx-{t9yF zy0VhKgAwEnWr5?Rg3C*%7>4U1P$`UU6rs32k)%G+wkwff6cG~3D~PnrM35rk6hd%f z?d>zMSbZ_9U3wHLKLP9<6NQokQGh(#1_&kI4dFyNWEXnN_&N01mhzxRA?DvhSbs30Pj*YiHS;?INCrx%E()e~!a^9D{@xGas-OBolG_*0V z0XZ8zxmBzT*>^u-TlM3NWHw(t z8X7Fy6J+osn2*-q&=QF%JgXibY+C4f85&}rB+ASM3xS_yyiIMgb|w=}%Ki%eoEQEY zK^lm(8qDUDm{RsQ$olF$??n+Ae5+Qv_V-Zl6 zbI{E|((`brIGi*V3B6!Jbj9IpJ2T^DT-N2=KR(Vj3Z2zZ{`!z!-1oIO3X(_z{eUC} zzz*ens0I?6jD^ZzNo5eELRfMuIMjpynhbw^)_|Nl_v3xr2&y8XI~Tlbm_MjTk@_K_ z>I6_hIP^Rc8mliR)Xr!Hr+9&d+OqGC+ah`q7Yl-tmL(iSnXh(R;ke`--z1DwgX5s^}6ikA|dDy-vJCzt? zcdGJ&_vqGBMrvw1eWJkYvDe7mV_8x*MQ%I8g2bQD*j7MIPSK`JUC!D~k(7M3ylL!s zomQCfWw>)#MN#S+N67rc`%$)ZPm?4s1^TwwrNxUdcw`GYb;q7Bg6lQ~AM;3?mSl17 z3Oj3ytl_`rX~1yo4*auN`ix|TeBB3!!Rs zX&i)36CWG{chVrNnHn6a@%3;EDdN+iq_p)stkSHR1Qa&DX!Em3Shi_$A^2Z!eQe?` zRv=UOB0b05%yAaRXGj}$9D-a~pZ|45WZ*q0)4gaJ{rK25s5BO8zKOP~a25LTo?tKQ z=0&U%kb>wFyEc7*&R0&CZ15VE579+1uj%$P(d$Mz$h1S;kZS3YeU7|}@ zg>gQ~%!DW1<|CD9C)Q3OQAI#+qi)%*krWL=6WViW@4R(R z5>RmVk=h%ceV5PWhai21Eg-0VE20tWy;RgdVJ-H6I(3^jIV`(!i}_e{R_}+B-o2s} z0*dAonUj5@KSU*na3V0G(C0Eed3~?TtR4yZ3(_}vl&u!q4lD(H>`Y1BE8G4kA1a!! z-chzQRL(Jxx~ZL(xl|4nqNcl80r4Xbgj0}ZnNMhwKUZ*oOq`e*$|AO}RAelS9)#PX zUbBYqW}w-Fqlh(7b>Hd}^29e6b0u_$ zFL|f z#KThTL8uciRnSA3uTYMe3nh)SX61|lt;eMD)R9nIhibbDC>Y5LWl1iuwkxZM%jmyj z;CLz@_GRaF(0-~lZ42~{U#>(6G=xG~2}S$@PW&p1GzE3`7UP@mLLKu%EerPbuC~>X zYuqiaXe*q4aiyuHRRt7>=`2j`?7h)Z+EO|w7kEv|RTILPh>fFQ<2B`f`faJ}nP(fd z>g^})aG(A1Cd!_#uY;t1(($MDG+tz=Eh$g=Sfj6-zLYHiH|;eTzI^LV@0sSF1)Ux$ zd%DZV`g|ygCuV&vblYmG`Wbrl^)>tO@Y7!9t*lLHxZj$a*uGlPB`Jy zb!KOy{nbeS&7lB~_K&exsQOyRGi3V(@9NtYg6i;dp_Ki{n+FU|r-rn{PEOQ@u|m~` z!^4`Y<73|O?NX;>2e79zMJNWmr(lEpq`GiYD?}%!cLT=rVLKgJ`btXmo3<)Nvbxri z2Zr6NxB?OTmBBOiBh(jf7h`CjuVCwMj6U=9%~hh0x0YN!(UTrkHg$=9y>w*rMCPjZ ziN}`0^L4#@E1%!TmIa~6S35b$B5Y1qjSFMOPsa!cMhU|rY)B()mM4Xo-g1#iPq4k6 zpguS&z-dCXns+&&Y~LW-331C0&MC;wDe#uuFN!QAip;N_^sMmInbApT&m;#8xnSGW z72)Z9FqG*|TD}P`gRqZHoVa-~J>W3(}UTvjag~_*)z>Sx^t!_>sDQsw?l1ST8Pf)i99!* zlQO{NyoC77wJg4LJeYUwp7Xu3V8OUhG$Hkb(ZpVwy||~+&bdq2IticuKOE2?>6`%Hw4NzgvK_6aT~~! zo1)HFH^uI6ioe^Gh}@Jc-@G)oc?GwLI=Ll%bxZdCmfX87g~%<%@-3yYt(&+lm6PAp zu6|R$|4sAVH?7ET_sYNNjD6F?ebYa=ZFqIt`2P08ciWF6w@u2o&BnH$;Z5K7aYf?)6){H%|6whqsQH*N$Eo3IlwO#UnUkKAe`t%%%FfCE&E8g!1u~V2fkn2ov=oFTl~vUM zI|`7!AEGW=kF0J@O`S)n2OXV#T|M}l?{Hr?u)TqsZ~wqB2t_*bzm1KJfl#DA5Pmd1 zJu)#fHU<8e8=P4K{Kq3}960+feq90%+m)4-#g(nEYnve9=*Sv}PdNIqz4v1WBpmH; z?*aS;0AC#0T|k!64V9yP_bNCDI-$B3tm)RG8;xdc(v=svX%5Rrh5N{lA z-E3xI@w~ai+M>Clv*YQD&Ti|*LzYtY(BLBlS(L``NO`mTm319!v!R|TyiRgIqVt<| zD&=E>2?uJ)=aU4na-3*K((Cc12C*a);TL|2;$=Z&;wH)r_R(iCGUuJk`=zvJmpOAh zPZ%|YUk~V$msE#5hO1UUKS`_%AA6FCA@*VvPM0uZ&WXowrZGi%X5jX7oKAs2CP5h~ zDIuT|WdV>Cd={g!j;C_*_7xnx>SrQuG?SzeC9;F0g}W!nbPC3<6goRB011`LF0V{L#YFKjYRhKbupNt1}zsK~-ZzqeP@ zzWOvj={J_vkHGmmT{3Vyj__3>Iw2NCKzvNA0Yn%{$6*P{#l)T;4=~2$Pny5?Td0AV z$*xtxZq%Tp83Zq(Aq)Z~QA9BQX_Q`=!@UIK^K!lUUQCMJ(NJoY>8RRRU+KZ>MSmJI;&Xj;!18m%h~y~0gw=nRE&S3@W{O6A$jyz zd`h}#%;2K%(~m(ktwmc@d#k04TQnwt9hx{7KK zb+sSp7(TdX`0~*sV^dSpXV0Elnwh?`e{K8r4ch*-&0DmgweL~Gv330H;NSrG3GY4J z-MqaVJtF}~At)#)JUl!wC^<(~)P0#5}D(*`!7)&ndPb(iPENRav94@Qu%dHwMuAKwKhKgDsIl@zy>VWL1zWLW! zo;E;lXm4+=tL?3A?QLpqZ*A+UsvW4QAL?ksx2g7yZlFtQ?*M1oen9ZYvmJ&;M+Qen zhd_TC>+PNF85|!T8Sm;{?CD+V?Vqpf-}*BAy?115aA<94bfb58w{IBtW#Z@9__xuC zouSDez4N%iWjxt`W@hrp-#s<41iV`lv&*2N0kZMx0-&tnO`20Pn-dEg^Gh2GUpGL1 zo0?>)epYS;YT0HK6H5~`?(5dl$AV?hv5LsLMSf`EV;kg9+v78KObJ4ESH z482GRRk{J`HS`Vv>AiPYXW{pKv-f}R*)x02nLYb|X2uJzYb8Lkk}THyuJ?I<_r2fK z1jf3+3^+*rUtV2ZURejnx|P+9qC(wl}tbolTJMw6g(5y+G*1?(ToT zQtdzV6@hhNvA?PV?+XO}L@orIaM7~+0)hXd4!l3w?h6F|ybcUD;U?}21pYECDz?qi zR?Y?XL4krDE@rbQof*ICz*>)jF`tK3c%^aj6cb1+$-G=i%R(; z(JFT9R-Scv`(e?O&qtY=AVfv~3%46Vf52pgz?}rGDE=Qb*tddTz_94$Ub;LanhA_D z_)EUtnrMDh2!=(qMOAw0dG~1)E>;g3@3Qep>7TxT=*T{e;)19#5S_+U@u?}S^y|Z> z_X3^DfpThhV#{lOD)qE}8*Cc9^4e!!rLvmiChwx0;MOW=01rJm?vC}pv@$4UBaW>) zd|luZ1HU_o&F$cmkZ114l$0Ih*#%<>9%d}L6NZLA?WKI#qf?N0w>*$n8kJGTeAOb;3I1HYl!4V050T+u@?0xBt{R_Y zqI+H`$>XrN0(&X5c=ktG_+!XzSJu1OXLQ_wQg>>E1X&8kqTF>yiD3lyjGBYSWExqt z#1Z7VvTsSnbU<61D^U^(e&?wb$~mHEWs9HLy37~wf@iJ zmCAVq0}^ZXg~E)^y9fo#Ez$FQ)`_0ZqReR~2b4ah6(NzN_k59N|Oq*}* z*MS4h$->S$TkGda6k*7~jhSb~47Y?MWh3t7&J{3P3h7oH{iZ)(&TJetE321C^kBXK z=hQBvIUu0Gd8kliCF|ISY^=~>o~W!wX?Va*8g7;|Ip&iuE!gXiTqV>T4Pkl#<1@DW z=HczcbBY27Cu*y07IY@F6~Z^^rG>b{@dQQ&0jxBgGYYsQ!^WqHMG3yjwiMTEf8L3y zQ#nbhq2)(&k~!XEu-HL*5A+5$pzqnnf20q}{*G3Y_|9S$*SR6BYO$xGOU%cjJdWdq zGsBm=ZZZb*dz!`RuThV#mvV97&<-5FMyS25oR{QsAw1ean(YAT>EF?VyK=voU*UfZ zexVfa_)7_j4Uct~KX=u~U;b9pVD)x6jLMQAUZvRh{PS}7gmQvJXHDa)g5`(>?*yrF z#iqAC%aI%P3D?$Z?*Ad!!7?gQ91pD!nN$*G4%AXyC03$PK8bQCl$t$tSE6|u5^spr zHv7I^i9xd_Dcn?Q`Sf`uR#+uTNxQZss9+@y|AxZUhZEK|OS@iGD z;G933acJJNv9Po}qvdt=QJAD@@KwvGYtLfuJ@t~aiqx_6zxDo${EJXMyI|cnVcIV~ zKQZ+(c62pNob<{!$-q0?%%|AWC(Ha}p-o_+ZD7%x;M@(S>X>oO0bxl!4LqS;; zv8=bGmXcrI@_le1r@bw#Y&@(ENT?XksU6Sioyo0VPU+rDr7UE%uV(k|7Ibdr3;{(y z0Wg>Hqr9#bO!JUys%ko$8@n5t+bdhTT3g$?yF1!C`#}B-2x}S|8u(E`t>_vZ7#!&v zn4ombRt@a*4r~l}j}7$$pp&>__;*o5<;X_Q$VSHu&^8Lxt^k#r`?`j{6`%tEdUyBQ zR<=h*_GR{?Ba@Rq!Rz$dx!I+eIbdaab#irYbPt%>0~VK7_CR|B$g)}4THW0Rb@lsc zA8;b`8`WkXn6(2!D*vIQ{r?RQ4$e59{KID)lE&s0zdFxwK9xO(a#O%Cd8@0y*T2S7 z956V2?;RbSPubQmr3{>L@P#wC4}&qts$GHK@D$hEnL|>?nyy{3i4;8DPHx0Y&#R;s zyliTVeo`YNe<;_YBMrn;MBL6cyPIs3(TH!(;)0%sg4T3UT^>1 zPn6slC7$!{?9QCh?rd*_qv$xa@d*ZQa@;lT9}>kcguloNNeuK99y?Komd|@G>&$iN z<0BX6wh%_P8~W13k48bTK&>?VM6Jm2+Gs-$^%j1?Q;u!4)knQC%{7s8FJ-DDl?lfb z(4?XZ(V-x%GC(B5;->ox%aTbU&*z!q>ZiY%2iA&&Kdi{Nsm&09Xji~0I8rXUEDJ&VEmrTfd z?n!u>U~rm(XKHS#{U-SQMrhVZkR+Q(s+^ts*P)jZbvYY8q2?Bhfg7n|*1k{XN_K=a zqfbSn*;Ae-St#|CBHm1&DN&8gJ!3&^{6p`a4!|J99Gee9gS+nHRv00$<^yJw(!;E@$ zvBGB!rLdK%gIC}RH_%esGpOSx0mD^1Z!ay)79DfCiNXbDH?OqbuCko^o`_xw#$Lw| zY(x^w07%72wlg0~g$!e#RSelf4_H-asNY11__LtsDl$TZ)<@%1E!VMf1e~XNiY8_*2C< zV5;N0@iA#y>#iSs19*qCZBdXX?oPaC(Jm_0$JlL14m9E!w3rPGm`s=4N!8Np_q>PL zSVCl3!%-=6!c=zJXY!|l+UXB1pxkX)_|N!i%Q1LjIZ7QXV2Kbn+G;ZNj5W<+m!Q^I5yy(?bsg8d+3(Rm#F2VHc2o2yY=T6J1 z&EtF$jdQ!gOJw!0E~Uk=-PEWpgP*2;sV-8y-EMYPHiztpRLv05SwX`xtDTXDtZ7b@ z4LPskA_q3bi zwZ`Ihn@i}@O7Sxr-_p=(M}p4uVNZ}bBzPAg@=G(;@9zCsYzI_E1dX_j(^ZP3C! z3;0v*?*`s_nf&1Nk3?;EN4B)&ip&e5UAn0?_t9SiwR*~hQX%{hai%gl=4WBE6jIzIu$^4kymKX>}^T0IOY`11&Bg3@@Ct9D1ZIZ zkFd@qtFU-#E)x2N*D{Ol&$wgaQmGQJvjR`2J!6~Jy9e_SUwWJNicUjsQdRp~*-uMD zcwYa~RGc>Qph~qw&I8pWmDz2N57;)`8Z0DMKWAS~fJKCKJp)&i*vXH?G7>?oO)v6|^O&t|sg4 zPU$oibbM=EO|#pb#vu#4s#Mo9!**xP)Czk#8`p9RcW15r3j4-Y*9&@g=WM?yVgCq# z#Qxbd+{)7W_3PJmc6PTOd+9%NeelFZ>#2w4GjB!9AoVAoG@l0Pybii&7p(o^i{V>u z(+?jF-UevBjk#+Vr*4;Su~b>h-!CtcW*CWci-Qa3qwLeTmuulgW{dS@;s6f-D3A68~f;W zFsPB9mzq-oIyp1;r_vx{y~OEjokwC_0I7zM-5-+G6Id`1L#oaCUQtw3o>5pApGt`? z=u9hY4=Nf4+?!ORE}6uO9wdIa^RQl+ieuM;R{cocY!P6m$c{13>Z6KB2wz zSHTKYc!Svu(A-^9+fWPI%YI>AD{3j__3e#KEj8`E`=Q0wR%~*pv3j^RTO5=4U#|l zZk0=d3x8O(qrdi48;wae1hj^#YHu$2hekl69a4=nsQ>F9ln@X(i2qGksAF|jw9 zZEp9gI~;#4#b3)G!*oHx^wTl%^O^zCzb-cvP&V5Oy3~461-}CuqLs|f|VMC!$y+2ja zX^>BvMu*GfCf&-I!%RVWR8eRpoixZ`W}S_9-fVHW}~l`_7oB( z9rI*o$F{|#RF{b|yYY!GRUHp+%W&nuwxMqDdyCUnuzlbu#AQ+oL_JRgV|w(Cfm7H@ z9x)~drjuq6Yni+ihDyEs)^;&ZetjaF+hH8jGk2_Om->9E-Qt)>zKhW_`2#U{nVMtb zsNo}JJmaEPf@lv~1#UfyC|<;gv!Rl7~Qq4j^?_x_Ck^avX{#ZWwyUa-`7;% zkXZUi@QxKYp;)7&`_C|IOCCi1z6$r@Ps6{fmeyS@ZM}P1`uFbLdvM=SL(A+T?vc?W zVFWb;xY z8z*ZE!i)C=`PZrL?_AB?-Cp3`ZG(zTLz`X){BUt}_x2&U`$hQs2ZH=WA~C|pBh~9; z{Flh6s4qm%oB`aY0R1Mom_FYgtiQT4O^A`A1&O1X%V1OMaD=4b@dOwKbrvn^ITT z20B+7L6=oq8>r=O>jryH`l!_Ys+y6`ero@~aPPpv(7?~Zp^@$ppl2Fr+ypw-R>7*> z$Ox!l0U?Vs;HW%81xBVf=a*LIS9U-V%k&ai)52j`OeR+2zrXDp+tOs z)xDl`S4stNze;%oYdZcK&Zu%ocJX$RZ+)Wt6`5+DoKIl>@rZ<`GGAzB;=9s~1f3K~ z+Y8TEF5d9T4C4v>Sf1p5ym`OwwOgSX*{OItdSi3xW>`qB0Z{I|c@g2Qf4+1^`Sx;^ znpWCzngdG`x%-sV>psuSwX_;e8kAwJz6yGNKKBUY50@Q<4=Un_>KPK1su|@z^fCLC zRGss$2oF{-#vuZQKbY-B-5I|%|I9MUd(Y;CS_Ecyr|0&WAks7_P4RDwD0q5DH0Zl+ zq!;g-ymJQGViBB`HC&#TLdP`*mlIaj7k|{CtWvl=s6z=}j-w-H-Ax)pBYX{M63EjdxOSMJoZen<OZ>u@Pl%O9EbV{M4tPm&S;fyM(hUlvpc;LIJBp?68NYnXZCvnbFQ^dCROH&i&2IgR9tm*yhe znmM(CR8P!J2t3oF`Zd~1?4+KxAKlSAW;th+m@~XawUk8w83wJEVT{HqO`V3n&L>@^ z0Png7S80y=&t#kGPPfKxd)HkEWG__Cs1WyaM)7cN(s)&sI`3p?+v*Ja-xOA?OKCZL zHOxl1iuvVIt7fN-EQ`4MicK{yO)*u9`CS{olGx!E>q}yN1lb-jrcbg6M^gXgbLQV0 z)_R`|`m7Jw_cpxlfA=%>6;%RiWjpkAnkYW}zLzy`$O+E(rafR#qe@TTbS{Tdi$A7t z_@Pm3^)rowPn!5xjG>IaA5ar&=d6uRZ%<{8vlZq(9r;)|m(w&*c-VSm?nZ6~<6xmo z#`5jH*_?}CQkQC;+Sx5uusxMpERp7_4>Kb9#lccs#OtFFipLm) zcaAYfchjU~%a-fR5}DKpj(jVGRL9wcefZ4rQ#pwOZ&X0|3_oK0V_BPf<8i*;&sm7e zqGv$(Ow$m*ojo_JAp@cS?ozR-I8RROVT$|NDrbULzavR3E7(N(c*2TtiTPV7SP}t!*)iT^^SiE3( zjm=lE@Z~Ygcp62#rW)$3apla6 zB`4WsqLg)$rsA z-wrg7qPawpKQL@v`^KJ(JOFXjIDSjl4(n;Y?SI1LY3aRG`^(vhBB>UW&w93+S2C|H z$TRH_9gfzoeOn2!$U8N`ct#!ljbrwVbuiqgC%4@YCq8#>hw5-dDmcIEzKiwkuh-w) z!5X(0TfM4!;yK$BxTnKb9RMheC4QX20>f5q4b%VO%+AcUV?9DMO zV;CoGiL)@B0kXNL6pKHxG?NZE+Z=mvHdkIkWG4`vMGH3@EFP4xMG~Ek z3K*a)H-50pghPc^LSZUqv>YL%B$cR5NFG~OwDFYN5pf(1+!{}dZh$D9rv5UR9srq8 z-elA{1uQKO(VQMbZ3|3Wp+%4!3(sz~&&`B3)NZ=@twOma&3>fJ7clB7k%t_2aX~)Pfecz6{a8ih1BvnPpABstwJ>w4y-q> zmu&CO&FMzsx~?C{=#yIRrkfu@a0$-PB_U(pEbkEI&AVy_@IiMR`DtF<&oocBk}!t*)k$wQo(kb9TTs75ROmN^Nf`4A_}a`@YrLw6|6W z>@N6y-x*f}wtB&~;im6<>rKEuJsZM{rPaR*Kv z2X0#jo)Cvac@Df?4tyI9XdXv?aYq3iN6@D%9O8H?&rzhy@$7~phR5lGxYH#ar^~iZ z;vsjPB)|YPU;tj^$JNBv)hxvIah|J1m#fu=s}>K_?=$`FKh5;rB;ID9vrIhs z&_nTg_$}j{8^%RS;Fno}@(YrbRsAjFA2-a(Z<<%?+cn(#P;uYBO~J}Kho(LD$TbfrwhPXC;+klT50~=jy5`$))n`=7cjmIk%(aiBS3k{(5#}#> zFH89@U-H?J^xYNxv?}pwMfB62g#WHo=*~Ic6;+pddGC4^?|Ma-%DYZKbe(?Ob*a^J zuGR3W)Ap>?k7&^Kuafs_Q}$|+_3FRn)pOIeO~bkMj#rDed*{uMT{?liiiBDt_sT~B zb(UfECc%|2L#vD(dLBFXn!9${c=eiwcG?7Y=n>njq8e|@&Aq;$!8k0^PL z%6ZQy`b;W)8kPApdoyrSCv;5CcS**7MLB#~CSY4GeD_wwu2RUFM);CO*!F#gAq)4P zFMNL51WqbP@2L`3G-G!4WA^SQ?&*Ks(@k1?5Ibd_IQ=GZ%q)59W%8q85&WIPY8)e4 zyi*!nW2%Cat6dY@gVQ?Qa@vFQy8SZik_zf_imT!Zd*kyu;?tTu@+LwGMqKmO{d1?| z3w{#Qs4kJCL8X0#rPWD4dh;r~{L80;D<@p)0PlLhwPM%5Y|pQ=nl0M~Zl zQ#0_n9SG(Ug_U4j{7!DC}Iz zu3rit24aVSl%GK1$X@OQkh2aHuK9KOx>hSHtE(H@tD1Y-yL!r7W~;jZX@HMZ0?wc9(p*FL)bV-=`d2I_Z# z3IJ$Z2KttOHn6{77pVCOwo1;9j8B0Jq{GvjBl~Qdy^&uH1#@6$B-k3cwzIOc2R09Y zpiuDA3WPHM#d06G(6|0q3w_ApFp%_8@w?XbFFO1#DP#zi1Y-WY!!N&CP(BiSMvLW- z4!`z|mISb$ep&iue!%1{2ko!FlU`(E?zAPG`_i3tt$8dv4LiZiDQIT5 z3R6{T9uQUv7B;vg`8wm54uVfy6W#wbdZsvrb3VPeuxgejhJH?bVEk3adC%8p7m90D zXBFXiq70teb*~f12{yoQ-nLua>T4(|-d>loyFOsr&|GNYn|t>VeN*>)>nJ8e#Y@fV zcRVE8)E%oOs$5#C&(XQJ1Q-Qo2nN1_@H!zlxvMpTw5lrn5fT%;VqEsZ`|$RoHS2f8 z@NLgw$Gxf1ursBk7Iy(M^ihpZgc%)7fGW=Kb9KFKxtfg&<O3?4YY8M?+YOKWRfYe-vX&w_nZeUWIN7z|2Ee1N7#MP2sL@vf zDx4>e5ArSbdkKbKQ<7wRD)A#Mfp_%Hgx7#tW=mej&eJoZ9I&BWZK>9GRyOTVR9r-= zrHePx-XF`V%XsxVD<}Y_VtVW0*4miZZa(VnPr7>m@4B#0zPaA#lf()9Fgc&>fB95%FD-&wGdv*3c$^uEP@0Ly$k zPK@iy0K#E{bC7q@RX=m!@R63pTse|Z{G&(9JnXUqarBab4hkCOmnE`7PP!Q=3+OPH z{=U#BAiyfED9c&)>65pB;OX0nN)k)L-j|^Kd>%|n>;nFw0v;z$bSvJ{TKW{>EGY7@ zTR}VRLQr;5?AiPIb$Yp(fmz;hB9@zVhNqT79=^F%R$G>0a(4Pm%cG8qUlfC#k0e;E z;^Ft$xvw65?jLG@TrV@SJ3U6Y?*0n-*3}7VZpQ%2d%+GTdM7eO-sai}%o%EJe_8=l zGe4eDtm`qo9FebSVoat5(5x^kc#KfcR`5gQ#P-dBr$W5vyNIZ)uq-xyPFeLN9T0_KoVk zm8ugZIUR~Ush9pZe=k4B&dM^}bWBF#@C_qB9BT^hs^LK^c7&0}J41G^(?7148M~?% zbuSq82!CUFmSJ0*Lbu8s*HM8wc0DjeoAFjp%Z=EF^@n2EMo(!(q;+^#Z+RPEwQ0!* zlIaskKC_S0-?kHyj8k4(q*}_}YHu3AWXG$dJ!g|S=yBz>%t{R3A@~J_sSE1IT0~Ey zp32&hX(%qeJPyRhn91J z$mpsi9XHwM#20{Tem6!NmVt(z0r5MhaMDrZ;pP%`-OMs%#{;^l;Pn!^Szna~_JT+! z`mmJoG&M6>1y3)gqu_JLb}fd?!80^QUPSe_>xCcP{mG55LOJd~IU8Kc6%Ub3Zr^o75pk@kSo(1Dem9*W1E{gD z)9Edei$wV_QjbS0_+BwBJEglxC{OnE5}qFG)eALXaw6WMxazDNgMI+;^nC2^%((2y zEb{WX0rG`2CcV7gSraZ-&7#bYG0`0jMoYtT@$@1VAVa`i=E6vnyD&i*_Gk^yNW!@& zsoB$?Rd;znk#wc)u#rscG~-w=4# zMan+P`J6p=N+-`T`W}I{wGfNk#=9bP9T2K`B9sqB)169n#5(J={ooK3r#aX|Ww@Yuh_S}qjWZgHc+N{Ri6fQ(2XEjPWF;MVHozr>NQ$dy zKon~PK)X8h#gRLul*Jh1bg**axmdO|)Ktuj6U(wjg&nbGmq(XR;_RS>LVUep$-)%!E8{_M>qx?guz6e@!0EEk06YeWcolM*dh^*z%W=s z7%opRoTk#7m^$6ZGp?cSYzQzlby`6z!&3;O1=;T2aU1qZO%55GAKLbs3g^$Aho|6> z0Vq0*I?Z<+GMGwt-x^-AhzP^dDG=WISVKn$2t^c~%>wHZ3Ta|X_eIP6I|^z110IG$ zQX$AC5~DcQ^@9UkVSzT8`g(1NHGsnU0UyM||MKkt@DfL>|WYiPaEOmA>k+?QK}`CbTX zyft$+nH6V7pMgg9LRc3uh!+I9VfEK{u!x@os4RhH4TWgNAtwni0rDGR4D2T!*+PK5 zGdtUjVN54^<}7&UQ|Ua+kgaI9MG|W(8aa+}cp(IRjYbaPpu_6O7&MY>4gI-*I7os` z;1D_1h_wYqEdr|zU<)6@AuBP^Bh{>;MA#(8tC)aT!m@VYki%rCI_U+4#JYxtUqw5W zn|ZHcS=(^Pi3O;NIdaMxZcD?8SzwkFgZ@Axzge@sNQAB8?ycD9GjiN-k~bdF3FdTi zImUlw4G&YqAr{e0hw$(<3QWP;&j&+4N_>66jO7M}<~>I6A)40Egsu>W^o7v8!JV}w z(r>yW{Kz!c3y4K)=vVy5^F+oq6!JcWe(DaRHre<%iD7;L;fq4{Vd*CqSbfpR3Ig2# z3Q4f02_XA(Qd!r)y`n;gaiKoAFnP370fsJ@941P3ohLF~U}8ChqnX4a6xEp*sc=yM z2VYxo;K9E3!oYGjq32NWmI+)Cj@|;xcmu*Tu8s`Ei9Y5un5N-+wfTk1DL97!Rf90y zgTd~o^AF(=g3nnM@GO&PdJQb%tv0+?f#wK`@x21WQH;rX_0Ufgy0>^_mo@#>1>1gW z8a@*JAPRX`{d0`<=QTX5Ecx>q_49KEJhy^t0hXqRfXKli^YPF%L&PA~e;5b-?!kD? zny!%Q;f+W1;b|!M=yK4=JS>gNNu&?fb$o&KeJDZ`?No$|(~+QaIfzt4GcQqMj!+m| znBbpzXrGao`xX!jL}Uo+;6UP?JHoz@Lx~H=B(#|#qp`F?6q;00uqv>Q2qwYal3*+5 zArYa_Tof`1O(#Q)n!_;gW6aK?69{CQL~~XHYuY0r(fVZiGfMP%Xk;*%1~lvHsx!=6 z$4HTA16^r@YgKJ=^tl8?NEG9J^&?-&1Uq#`U6fDQ0-Y*z_+30=Kpje?#J8M8CR4!$ z6P85+RC@~^PJ-DHL52=2MjM)qLgp>diCeS0G)>D>hsseHH>_D(#Y4;wv3O$;3#0@U zXH6SeqN4<|cONqFFX^>CfN7{MK0y5NLi{BZE-~Yq(v8bZnr9^AZj3$C8$1*jk`!VpXAZjKzsf-lN{5yE-#e*mvzg#{m^@=Z%EB@)Qea;g!2Lr;l4*=Fti~bC(l}_}XQ;)*I~fdP zn>sI*0J}(j!@o|ON%c5?7}-jGbqvCweG0jNO21~!yo4&WC4J24Wu1U9TD>wofrD03 z519nhL3vmoVrZ{Gek`JpWOW982uoGs*&!U`byRAFH60NXaGsEsL{6)vx?UqOMsFfI z)ETd1;1fjnco<^Rj%5r>FNtBy+d#A~AWBJeQKw;-3CtBytlvPvG|HHxRGGcwOW6TU zTK#HQ15zRe`V_!0=)2MyQWzd$O`cE~9-&PQFbq$~v<8&-1{jktmYT53CJ|M%mM8{6 zQca+;snEjH02WgLOpT#+?Gp@xFq!sp*K=(=Ju3;SLV=n>XjsWmb2JTV0fK_is1O)b zC=h7~jTwPKi2^ml)}x3}GfcxR0)yEC#Ei&bMuZ{>47W(oDiNCEdT2!olp;c-Ol?3? zARR@}N-3IJDH;_rw6qT@zW`ApL)FMlDhsfW$9TT5Nj{a8)8VqGf#Zt!?SiI|v-(?6s(yWcV~9e?>E-u!_&ZQvS>S1v6Q z;4#xCKp52_4Au}9GK9?<0*=>k66ETUHYg4vf256>2vKN&NTfpGI0&0Mgpt(7LV`#X zx55Yzs5OKU3t=WhBxl>N+=uAghp44O*l-XirQ`l?J0q&yvY`!%p@FmsPopHKQF1VU zis_|l#E~vHi~FCkG+65{ERGI?@A7)rbrwtKR!ryCVBmKDQII8_r%$)PCEZnY_w_LY z3>JEMq5IP;?aegbn@zS7tnMFQg7i^x{FwvOIW&# zXu7i5UIe;Np4xjsy*Kqt?*%N)MJgnJ7D74Fe*xQ@$=aWKq(AaGT@#=}lX+x7R2_=I z4lt2@sy-oC&|*y_4XaFwhH%$X@!hr@WZwe35Dou97%Zd={y@VE$?)B)ROsH|CM)&F z!eAMJ3N3+e_YY=5sAa^#ADE#s$PioFU?u_17&%1O2uJe`mr&u~A;Sfj;Q})JgzxZ) z$l)UVa0zbs9N*82sy{EL4IlUY`5pVSfG~VwZ#aKpxBxXmgBX@nWs$r#tfV>||A>2< z#NuYnh4iw1*?-soy%Jh+Y2m4R!mX&gKJpikOB6?;X%EXIuoo~u?PGsd5n=u%y;WN~LvR;9{wa;K zzD+kk^jeVB-rJL*4|rIQVLM|Ev3=~M%TQghW-|CW0dF3&zcxvVW?}8%*C=Rmo4AtIwVec(zciIzQ+>eUR=Z_R@^@acqZt zFcerkxu^nvy6Ey~0sdjS+-7Mxjg9~NT+rzBCFg}b;0@R76&85QVhp3K$yiq&#*LP11?<50LPd#>=)pq-Uhr5M-TtM&oojl4V#^wGGdzPOz zo%-(g9$lCK_RM9r8^3HUp4naa0Jul(E$rU2R9&p|1vb6_gHJKj!1mz$-i9AASGx5f zea)foZVw1p@dMlpfFAj3eDVF?ZmoM@{?@r0gH1Q7A5N~M-$(xOV-zxy9{m5>^|Y6+b)8i12WhNvHC9$5joE@oPPhe zJqCA$mF7T~AKUNGt;X^D6Q}>>#`1L_4}6;R!{EmE{paKR{hsgF!Hse!@V(dtHx7W` zYC5z0bpI_Lya3ef|1q3j2Asj0|JbknPv(E}*Vg~c7yo_dU+`LxKb1ov3;-7YpQJVa z2s$VNgZ8!Nf7P%DO8P*pIf%^qQ^VdLwz#V5zi<%$uFo8#4h{bt`K8aCng+Gz`})j% zVbA(6EY!ZgnU0xPfwZsB+;~9a2p=uHh1|M~B1htFV;PSisoEDjs{TTO+?GnK!A((jZfo^_ zo_^dGuK#2BlqXk8S5{W_wU-{bXHvgf^w$R7eKplrm?pkeUZ)*6kgmJUjBvT|wZGII zc38DuC!@QPAiC=Pe~Z@qZ&}UzhTPDu!o%(YL1x1qzv@_jr-b+uXp0;1SHE#`G(c0! zd^AvJ-xjC8Z!EyMo*WA?`loBnJs4H1=Cm|ILKPw_j+MeqkdT-JHkJRsIul!+jTjyquN#?|o++Q2U05ubUs_!wfgb4X_)U;eaDEdG zo{3`|82|_vIutLz7NBmT6?i{>oNx5^)XMC%1eGkdP>{cGV=&pP! zxITUv=A)F*mb~iO@c3I_+BzKJRW*{i>8<*;b0&A2)vs=RrC`^$X?lI91VHi#i!11u z*}8`$=2dr1Y%m=>c}4M_`5TYWr2Lxh$xYayQxZzLkKcNJPA;hJnc8ALd|L9B-V-~o zu&;%6z0=!pUJ)r}eG7Z<@RXwZzL_1CBWJFv+_!w^6Omfn&_BD&%6Imf>I19yzL9Aq zjRSLgh@$8-{g}B;45xoL?*v0tz&`VExiaahRG)73-ZSBA=B~qf~ybfLU zyp+@uryM5nj#)IhElKmMZn3B6*N#;E!neE3ms7ejjOspL^}3welVj0a@D47P)|dZc zx~JGnEPbHZ9*j)D#YxmsXZYc3-r^a<72by>-?LoF9H|L7tykiGC2Oo9T+(ijMIw8m zIrdiAH6MwbsrD4T!uPC_xij6_PkKvyB)`q|7ujv^u}bAF43&EwzV0iPzcgAOCiwwz zwP0nk?W^8*->Zddvwekj0ODHF#^Oj_*mb{a#apX0y@el;*GqObSEhTv`(6LO2cp%s z^#LRfPm55%IWX|K;~bgKR^yxy*O&~P*;N$`T(}>&gKgYa)dp^S@0kqU`F#}(J%l3N z4Lwh#RU3MpEn#}(eW6j|ke9?dB@~6E^0lVS>z}1j#74JG_uO?OB zhPzIsYM#w%zAajA6m_qbJDx4-zAe~K9g3ei^*?n#@~?UtTwxf}WFApt9^PafQfU`f zZyMP8B(m8us^M8wrDnvieBioF;I>QC+X8sp}u>ZpA%Suskee=rjg9;?-!AoWg@o!{)-e5f}`k4r`Wf%zIyYfOj>Ab9K z`6Y%;58f-RQKkM2Y==(qJmoJtYg+D{6hc7Pgo%G-P4UPaFTErr%^tpSHVPeVUN4~e zmSotNp#E+%T$dDIbI~Nc;Ai)X@tQ>3kDea$9Fcp@LJdN4@Targ$tplaZNx2Yt)3kH z^p5^IF;2hlQm>dm?C`?FANbc0SM9uKLnVacj}FO(W`^$D$kU{5Tr{x_uG6fP+R7Sf zP1N|h9|)V?7s7%h#N1zfl7IJf+y49mT;gzro4bhC1MSiYD2 zVq;Oh#*JCJ`ULKUZaI;L>wztbmRrXfQ^szrKtq3!POFO-#b!n>=jOA(S8$DU#>WI9fD2n`+l5_Qxcw`KxmS7dR3vft!A4`q{MdM3xNh+-QHf6-w+4%)~S zS#<5!Y7!#x@nhpe3;JKPn#U|r&Znl#bi5IuH(O19>O@?KN%CZT_`VU3=z3}@5$uzk zN=l4Ro=Q&1otpYesysEFlHKumIyG-Bc^bqH|F01Czg7s#00yGxU;jbOJMgDdvoi?J zh=_;)k-BklaUiiBM6~|`vgZ^Q7J|H65O!NrQ`6Yk2vTf8L zNwNPn1A-o)3i=wEN17$4SxlE$i!{Bk9JEcFx1R^d#D9OO>_vUFRpH=5p1o>%@BBv5 z`==I3T%n_65V4tFA$SeCc8gNK=6%!kO173suMIZlX( z4h1V+=!81X9*vWxb!1?__;^It0a^iOTWgPPsQ+TR0?EJ2J^#Gr`wzM2|A3W)_P@1O z_J89An%3jVfB#f=TJ6}sHme4+05nX0a}o7FaOwV^v81$(VGO^|{Ys^#^cxs@HhT!M zU7YZG^sqz~9jTmuq2quIr`|w){<22>XBVUQ(mh#|t%){#TQT`Brob`o>rUGU+hlzv z$lg2i>_O=p^0~=^s5%)TcoDdy6sevab@JTWJGKT8tv~wZRk8R;-5QA2e|Q*ZDdDMt zH4L?W{SyAJFkSfyCH;#UVD*Yu+iHYdoL2$>R!3T(2=NhX*(VU8MCv^^Oi<0Wr8B}q z&U&Ka>P~ET5{F#X^M%x1dH;X8h6?X$d+;h(zLV&TVjl4vtT`xw# zR*SfRIOx~3+;(7~=iwy8(`DTQ^ZMfD}$%f2TeeC| zYko5>P#T-6t0~~$d~-{CXGd>;Zy)GUsP7!9@11Vwn`s)DYv^Aq>jMTSXMfBCH8Vi> z$l}1%(!ey(vH-L$?u!$~#>OUxsnb)lqw~u%vr9wsnUF;CW?WFuAc&Qwgc~;2xVq2lclSvFC7u9u^||Ko@#y`B#ZJbDYc9gEe_d14j!Nv1oveV2hEo}o}(x~18RlTK1~-(_HeF?B>( z9sG!6gfS|Ux_QB*<89@7rkC9pj6MC>=sBSuZGW9s4z|~Y8hf&GoDc{gKxB7zSh#ISYfgJLYzQ5)F zVeh-6n$Fks6B0T^6a+-nfT*aTsHlKt0s;ae21P_f4GM^W3aFrnO7CDOB2`208j5r< z^bVnS2)$#d0)pS)=L<7)XLs-2yK{H${&w%ZIsV~{bDVQL=J~wu^FBqa2745YH;)s) z+?2RMZLlkS+juQIGC%z3{;PFhg@oDd+EgTRzs|r)YAeSYI`|V?u671Fx`-ah8Z?1*kI)z@>q-t-D3jo2HRc! zhIh1?uJ5jO6-(FBa69m0xZgw4$FD*2_;BoQg}|t^fj2m&{ewh#-ur{zN_*o5q5t(K z;_4FvO@}pE z9Bc;nkcynScB^PeN^tP*WOyQ}dzn^L40p*`Yb94~LY^uXNjs7fRrOB7lT%}xqP?vk z8<(guA2Zai(jIKLgOsbXXIoR(ZjWWSGw6<@IcLy8F=X%Trl^LJdog4es8f!oj2X-c)vr9;5NOFS@W| zL7kCp%OOb@tdJZNlOR8T*7oRfTehwI*NJ#txf#&h#@>*kK;+4{ydqd}G%C;=Gq~;P zn4F{A()Xp?CvObPJNU23MRMu9Li3Jx=vQ-?6`JUVV2f>-6h(#Z)r1i3u!meEIvoTp zMgw`Tr{R(4{i`E=uA(~)wA{qfMO$AT0_lkO+cky*o>IfH174>WNB@Pt9RH@dZSWr* ze@}pZVN+;jd>Ka>qVW&oSD>IYQ4l&d@!{Iy5&V_`PR9lxxa@UEce5(Edsk-@dKV8N}fp@L66wGotwfvFe%G_|(0 zb^s6totGOR+}+(>+tJ_K(?{#=ucdu$p$&J^hFkikJBKF9`hQeSLe*1H*T_6|3~C!& zYnp)p8O*`MBjcmvpaF9d6ow5=FZX|iCci;nS701o0L@?vOCW)80sJGFgV!Jcxyvgc z2xDz|WBmPlLhc6q0^lY5VZeJE0PpqdTGwyh)VfT#{ieMV9(-wiVD!Cti35N88t0id zug?B;ZDikI&Gqw0rQ0`|c290ZeB53N(3KWOD8Cb9R+1k#C$C3*>{VIXb73=sJZURe zcrr}*iknNGv{8B|%AgdzUgC8}F!ceB5NU6Bu=*ja6dR2Xx#nbwAS0A`pLvi3LRCH+ zHHRELE6*h)gl0Lw6DQ_l^ciIN?tOf8xlh&^y-OC_=_BsvDcq6sY>sVEPK_&7T-=l( zQ7`POl?OUC(nmZFpEzWFwU`vfz`(duedG|#>xn(9As;bTw?FU0cT79;Msdl<5y0yO z+l_OSIx?%pn6F1C5}}v@hIJgi0>AW9)BBHNIA?P~|V) z^W}Be5mYs=fzCs}rErD%Z&UPvsz;?IP8?ru>kJZsRP6O?wV}Ekcbin0?2Di^P~!DI zthJbRKiS5PoAsz+pQDxZfa4ZrRa?OK?p<``+v)_Qk&4L~oTj4bqx~26tH?G_qXh02(~06$1q)|_{YQ~f-BkJO}Z7S;B{1K z@P{zchj4!qIWRVxoDAb^^5=}?&oGfd&is;-nVXrF?-o@6>XBSOQQv1Zr{$Eze5sG6 zG{hA&W;M}s+7?o~pu&RU@)DR)sH&_fulPBdy{@*tx~8F|x~;mY6QFG)wW+1CwWYbO zxNEwk`zy6|0KhA?cc!nWzrS~&qkp1j_-keVeAysWF%9(&&jMhrqeIjg2zXb1E*Tyi z85d0(qsCmU!9wY8c`oXT2inB#pLWP`^* z4gM?w*UT(5x2{L8zWQccI`XG@q0v^Q;51t>?1m_rU6(y5&9+K3K**QC!|v)eV&E3! z>5nuP^4&-;=p+V3b-1kY&orSP;YL$d*ac}bm9reEA*9hes@Zy|fNVJ1 zJn86eq=C;c42xZu1oGUwDRiuy1EXC05$*zl-Qy81(j_htSv&efTk7th%QcnWobmzf zT(bIXTlbIFj6@5UD{}+Ph19B3SzNd5!;5*>0mwDeW6`zCl4jA3gw0R9F}(0tliuXas<-fJOkH4T#Ok%*oEm z&CjD0P>SGjwGeK_tpG3zK7cN$g6CC07i`p80PKW`0`O_?>h9_VqbZMVkL3$BMTj8;`K2VzKsa03eS^m_h@UjIPIBIM}iNp^Oc3@~&TmFHc^b(45jXFnnDNAU636@6JOM ziY@Aaq)8t~t7M!75mN>n5GO1ip&i+GXk^Ad4-~j#@YAcN$-do-w{``ehaC`_UfaZ! zJm|DAIi_7n69v(6Eo76nWTD0PYI#<1JNBIjz=icYpgz6x4K6m!3|*KTZ9IR6M5DM0 zRNoOZ#rG9Bu;|U4G{qw299XxgVzFrC7Jgf_EH<_WoQb4ZIEAda3fa;W<`5TU=ZQs5 zg0r+R&NK6fa87BPQK3y|(7N{aV(ErEIQf_4l~AMAgQ|*$hGXyAi(BJZJo>aEy1e9h zuis=5L)zLxD!2B0R(+-jEI&Hekp;F)LWJkO&#wT>kB)exX|2L-VEMuKBcfQ|-Af;f zR#Nj>{#B9{H}c+kacty+4by>9k^}Fb5t{#(bPT`mPW123ME_kr7y1W+*pJ_*bH7c0 z|4R8C6%~@dx1*v-5&H{2A^9gDcf6@{n{fNi(6tH_;a~i@x=H2bvJT zlnmMrK7C9Er3b&V5dgn)vhz0ZySS*dq`0iSta1atYip=r0tVm>1Ydw)Xl-fVpcB9> zI|QiP;W0qjPEXMRR0D!`er|CAWMpnI1V3P?hCeGn(hgt8{)_V~@Jt5%bs<=qRn1=( zf>|FsrsnQ0?{UrBb;C1BI3~88hnrv2SHUYnD>`W1spGJh1&L%7l8kzDF7snfZeISE z*X|N57`bCd%DjlN8XiZ*DfK`I)+{N3-YIvaE5o~|1@=rf>_hEI_wXvuqz%EINrzqN zgQZhbL<#|*K@{8jnRDKh{79o@uek7nhM3`Q35x@;EgU5HQu<=(Dk zciP;D6f_5)#NPd<;BxP088T{Aimd}X^k{cjIngW?w0qkS#T_;m6*BV(s3Jn!6L&X& zL;FXh${>Twwu6!`*->fUz;a{XiA2%2=^wju40n!pCs@j%n3-^7>=9X{ zJ@Xd9Nkd1vzB_Ms;3_Ej*~OXlQA%X2E%hCbf$??x6s-vL zA`g6SLbJ?}53@4xs3Mg)XLILCYnCPha?M8wBOMaO>xoN2?eooI>R|MpNYL9(f|9(#>d1=jjLNZ;)`{#vhyp8AiwjED z?^Wg1K&uMwRfT2s;9gY&7I|t@b$#oGbd}oN3Dm3b7~0uW+CI?U-PhCG-_||S)<4=g zz0^4Oy%~Z!mSJH&khjtXNBf4xz-&4@J2f{qJw7%6b?)2O`4!NXHU>fC>s4v=8F)_p zF~0zr++NJ6f> zR*U1TmsvLa=V`)Q&+Bvdt zNhwL)Im~F!!4rNZ7O$Hv%x1TjqqjCMM@UR7QhxttJ+?w|v0H{Z27BCJi1h$$d=u;9 zDyC}rW$T46U!cB=T@(hs>8rMdTP`BM_1bY587OdzP_PbL_eXN^3#}dpQb_X$NFheP zass1%z8Tox^&K7i-NYK+>bgsm{);pHf?yV-|3%J}_P+re|8^PrBh8z=s0@L3-jXXx-{ zA54uKBO{GGho15k zkiXxe=b~g5UTn{P`VO1zsr@XlLSWO~eKmpYya#n+$#{DfuKSwej6#W-Ak*L@Zc9aS zAJSPEXU!9aFA^B8ZbO?LYT`}4wiE6Q?uD z7SA&|+c}PGR_*}`t*>0z(=NF8t4pjL{9Q`S^0xNEoBH3JM9Weg&Tq+|=>5>?{AMQt z2xl?pV#%`l=K=@}Tr#W7B%^>yO0NUYt8|R~VN-em%RY@!Fpu7u<2wGMK;oQ>XmsWW z)zrAres_|BeEBAc7Q?$9N4o!|5CDHriS)vMs}Pv^hX&pMP&&Ek(J#EJ^>0!5=1l^D z@bu|ZYisL+CXr`erC)JQRd6i4>Qklhw&r1YEg)N6UEJN=+&0$qpg@4oFh&EuH7YV@ z1E%4o;<&_5;IqEC1I7D>mJ4j~ER?YX0gV^nZGXjgAoltd-#6IX4Gy5NvIo!r4fRbh z%CD;pU>X;69Cr2;w+z*^4HY(z_H@%W=z)qssBRo;q|J3gP%i}0Xf#0YZV(2v@oD%a zn3#r{gY}o7e;OK~Lt~2&4T7d22!0j7XZ>OLnf(2>0yGEn%S*GMfp}>RIAS+cUtq2V zuf^)>G9Va$78lg#KtJHO;q~z+XK}Af%B({mE`smVdX&;f;gQiQ zdjwKIr;nT18DYnh{Brxgb-BQm%SLwlw}&zdRzCG8o~q>*e;{Sy=Ue7h37@X^90$?O z@`od-r;FveLmAJb>t|wp!wXMYH_)kJPM2hftXroGicDhxE6~X6c0^y{c(gTy!Di0u zBlx@;V>OH16j?B$78Kzpk+tz10EPG2%QDt;oxP!xyQ4`JZ!2)sP)jC-;Heg9#d`Pn zIR|I=ol0pox1yar`hi>^gL}6jN0@|NPr0|=);cT$D-S;@ZP*Th*gQSV`MrGmu4AX) zbIH!yI`e&^jh6S+=6%PT*lF;v<&CO3v1~qSy?mN``?B$i4m8loUf|hvtMDZse+hCk z2ag68$tG=UPrb%6i*(|YQpL+M@@SEF%Cfv_blPSZ;H@Yi;FadQe#NjY)3(8jI~YHk=?OfgiZ({jBs+HB@;Q2M zBsQ|4>HQ0H#r@?caSm}8F``EWnw0F0v-vnP^LFfyv9cPEkaaT}h)deDPrTMUym~vXef2IqN=|<+3e-E3Gy?rz548P;gG5 zhd=T`s1D%v(&z zC^jx@tU2>;B5syN)E*(nyfZ|efmN8IlgzR!S5>a&cqgy{$z0($R)_1&eOxPDrjuMQ zc_rjXiAtl`(FWChXOhd&*BUGdXB9mPaQZzFL{g zxI|x>E<5}>G}iYl$Y1>8Wc6e9+nctPs<{sc<~HKses>!dRnn31Z!(NBbXzVD5_+Ff z0h>16j=!43bh5kvV@0>ea)hy*S1Q~RM0XHX4FlbWg}m8xM+uKGj(bW)0v&WGxcktu zylCeN-5JLb&h>Yy{@uPwv|R3x9nncOQivF9*%~#e(j` zYZaB6*|TrSp#0;Wa+P++tbb;8)FI1?s#^~~-OisEmawlV(cN;zz4UbS(RUTq1~PMj zRF7!M808ux?YW>f(0!OuQS;DhE||s%FYzBe0xtO6OG?e1hg9MK8vwT&ryG&z_Hx@QhQvr_vbIF&`~e6Q^cb+4z2CJ_g4b zk9SsS3Kv+2Rk|2|`CVmGw9G;r-ZNe!Mx{Akdm&y+uO?nIqq6y<)j|S+GeN6Nr6nb3 zA<^(+f_7_VOM3P~lBs8c&WK8DcE`fUXEh18zE!s7uPl7B0hJ)k7upI17RfFb6Yua< zwUx>&CKEjq_4Zw8uhd>l38+alI9b(RYjq;_SIvs~ZytWJ2T^C9XW-3(Z$1goeidV6 z8}iJFsO^xZYnS-a?~|TOGQlm|@?G*(|5_vel1CABFT*OWqMQBS27$NVCgihYNQOs5 zepq-EP!UEYr6i|(29JGOS{iuaVRuX>tlBR4lIQ%s@Iyk8Lu|cGe23k~ZsMnokj(m! z+?Ke^%E-*7xV&bs?6DL|WlmA~=YrPs!j8|igXwic`PF?{HA5M-V<{C=IZflmh4AxV zU0Dv)g^l%fB{fau)aIJ{W*{wWT<83Yng>gohJm4`tbMqybD+Fqq_TYikY&`)(Z-$$ zaKde(jds(k+Cp}fkmRQ zd^x|fNLEKOxNg}a z0~=(bBlf!prw5Sezi{lQn-&gx^6$`V$bci|4q)t_(UHt3b1c?YkYCi9SwII{z>FnG6fpg`Y8Ym6 zFSnpp%;d?a(Dn!AGeR!)9%iMyT9LZi+o?Cf`X%w6;UcUPyu0^U&tF@=Twh%V8H%Sg zZv8LIQ2hHEWd7L?s&K}|BmG}?GLzpxv-rd4v#&GMO+yJ!0}Nh%xc)3k?^W1!`_CFK zX|H_KHQ&{lMp8F`I5Z~1FDffAJ|9>X6XKI1Kc>ZybHMJkv2v{gan6^#eCPKRujnF| z@RIlOg~a%p4_Vc2aZO1%Wr=z9N!cxMrD9$$Ils|~+@Due{JE$uv!FV$sEb@iOD-Kt zrw(LMXET?f;zFRFfl;`os=AU|4|^Hc!MBu3D{LAlYwjy-9I0vli8Q`r6nt z*4RDO)inz67f8EH2B9h%R5=87jW5MUsvvW(pT=VT41U9X?iCoZ;kk9<{o zYh8EM(0aUWD6ZUCmlegpsHC&mK|J`RH5_mItd2QF;yy7`s!(1v)v^t9bUp18uPou( zZYx&9!?Ih(8fSY4<#CiTkP?z`mVz7yPVOJl`z z(I>)JZ1`0j#BUVodt!D7Yvi(oM`{NdPlw0ftV(~!bKou%&*dX5>Je}e!6SwvOlt>9 zVw_fKGYk$aC+;`!`?aPg50ouR(Hay3kCsa6n(!lM&$)21X^O@;s={fXE(a1``PV4A zv8ptu%-nGWQA3rW$71kvnT_1m512ZwtXP&Q{_&9EsHkA z$$A$7r8FVYTy54?_+c$4Nd(KK(3R<+j}=(~vvQ0@N%MuUdp( zc^QU({_(N<2Q#O*=WcPd_MrndbgBF7GI2YJu1DxI0> zAyqgjk5?bD|Jh)P$1apQ|7oObn6UCqPW{ai^n#$OpZIFj!yFk{xwnYA*sh4G-|C_j zxkG$)cTW}^k+4Rq^9v~!DO9rV#qHLp4`IJ`KoV~XDu!ZHJmI(Mp=Ke5LDn13#v}EF zg%6D+pfz!_46d96jU$d2NhS4W&F&ga8c1SaYTRZaXwEEqZ&Zj&$XV&AgY1jQJ^~-( zp3OWOPYel6f+ob75;kwd<<{Nyfw6-=s^-HsjJmjQ#9iA|C1jb+@LF3m6sQum+dMLx zotP19^EZ7BqvQ5!y_^@)S9l+Y-pZ~oZ|f}VCf}gQX@5O^7|1fSxo@HJ0f{uL~{AwQ&i@k9LcgQSb|LflQ_uvV{S7iB&Bp&_r6t}y(%kXn*+U8#uGE9 zSN_WB99(futHmGQ^?a`Oq?hrR`h#cJs+#vZUg^Kp9 zPe66#-jfv-YF4xVb^35+_8o;ITEbbm`i{V3<6qO8IREsT+xz(VfHxOjXWEAWiv$*# z$(d!?@U*^YfTsjb5B$vm2Mv)cloRr#CTemZg6QwaWzuTBlhS7Jg+_j+%KKtF`?=@q za#3FU8!m8e;Mo_7T#M_ufyWWLtNiVb5nZWdG!9PEBRWXt== zb-CzP4xf*3#fEosdRBJM8*(nF*s#hk1i69A#pPAiH7c34KrX6+L^c6Qlo%^(C)h!F zEBl9rJ3*iP@2=SRH60EDf_o640(_)b{wZ?n(OW#fbYlG0Fs^0faLMGI zmifE;&+W8cB)o9)zU!23?+fPBkT*e5#DFlzcggO-@PHZ}5krcFmD%a3KaZw>VSuO8 zoG*?aiUU6u*hDls#kGfKwtUELOUWyb`ZDI!qA|C+IkluWtF|w$ zbSA5DDYF^c5bac#6@y!DV{H|fFe@86;b^qhCNNdfIy(Tj3&J`8w_DNO55AIx4O11J zqk!0@_KenaFLm|KbkGL6`iJU=#(_1QHaxbW`5vAAN~14N&8|%TfTn&xv-9w*xVW^i zwDJvF`Pn26VmjuQSHaB|NFX?H^+2Vj@A({e_QO+%D^e@z>3`#S&#^Mj3uRswtB3voFsv_=~O|>sgj| zS{YAaMxoH?XY|Wa?EE%|U}ue=I>zgEJcWe;&FsQ;BK+A{$|3!FpbOXRDln@=G0MBJ z6x81>u88;IG6ZZxQm5)|NM4ZNw3z*~(B_7#pI6f1ZV~Ph1-Wq7?!)IaIApeE0=D5{ zDwTj#VCOMX5L1n00z`1#K~$w_SX4Woz>$Wy0S-9qm>#Qe{m8%t|LVkT=la>{X@I!aAIAvXbi-ef&G|8)TQd@SV9p7=Gra zI}nDyREqlgyShdG)-U=$yLs{B{~;X?)2~uS%Rh|`PAX5|ZCNZ`h{A%g@tbRZ%L+}U!o;Fu0T5x9jF zxhK|yrp)mXMP&`FkgNu( zy}Gi>dVsyKf~KyyoZ4Dc-`xN>UTO*hbGd=em$Y;ivUfWQ(CO#=S`*w{gC2WXf14x4k9*ZxXY5`a+4KZvl6uqd~%(0lku zucqellc$Z1Pb@lWx~eMH`^a*2tIbbH96fgB>5~r2wzncS-?gvb()J$O zSKZKMgAI#u;8ph+9KF2B>vVvFgAGC`+@S`99jP=s%mwT?wwaB;&4@hWx@LIv zr10<@&>%~EPU_4sg}&l+dCT0Cd^EZ|>V@PTF*~nK7ntln{IRdd<&>hXW~rkcBd36b z#8JiaEh6$tiEZX(o$1eRO6pKdg_1#*?iI_F)L{iCX3Q3>Xd#m`ulV(VRf745zzG@i zX~ShopFMLkT+gHys}_3lVY$-2)ZI=jQk~O?>kOOs=K59x!uFAr+A-;x>X^)<=>E`M z7qLG++V9-H4C1g(uxdWLf`W{uMfa|WUhh_(rldsj6(YMSeTm5Fj_qj%OnIocs8alV5B`Z z9Bis0rv>N5$At8D{fn^u2Ow;({^47&9^gBE7OgY?3F++s;+B+^f%Ksbd-t#FAPRbx z-StDF@^4xO+Y&9RrmWVN!9&4yqyMRQ(A8~y86Asl3d%+_^|Q|SO)L5lyvm;YIgx4 z#FcEu(V_8)3q@m-^cmR}(DEe>w|pJWu3tr<-qZI1tpL|D=75eAQeZvI?dQJ5^<@x> zD1!qo{%M!N*#BDp+}}DQ{y|}y%X@zLOKtY2ztm13QUU0IRGyMlEyHg(eA4pB)^g9i z@g~p8Kk4C{lzTpTuY!_a1!g?<%Qt#Uv5um?ifOP+Xn&sAZDV8O>gwv@;qiv(>+S6g z;uydX6BH8S6qpziN_tNsg+)ZfL??tteM|y5kFY-YQ(_YN)5p~Kq;yhJ?x)Y0KsN-& z8n92oPP$)2!oc7G;C!f|&+PGob#VqM{!7>1ykmY8zTW+GBV3P*?9Tt#`0%4FX=dk%_Nh zIss<}@I9WGoEe>1{5rKTJv$GJduP7^m)!F5BDB0XH}`#J9s)DU{I?(Az_76{0{IWf zz*$(oJ;Mg#r zg=CYTj!Q|aK791ZbjWu* z6=nGAt)O+UUrMOykanRxN5ajGZ#R*aHZy~RcPO>_*l5LWe@8=_p^%1Nu?vql9*zt% zJSlY(%O!=UP>}4WV&mfW8(usnB_HYHp^hwK2z66$p zyVka)Z%y>}EAl^x?9&%8$=%GfUDGG9gwHIunMFYJj9uyW>$jE-{7u6*Gli%P$K4a= zn!dv6_m#s?>G&jT!^nG3;>UKJXK2JrhPb%w6^1!rw0}?KO&PJYrt^M7{J&cpa4f>V4)L;#)5t z|B%q|pwP$QUQ zGK!n?t2(l3y1_G0QdL`8N-e2rsijL``>*t>ZD%n*51Eyn+Xm(g;WHpgF}>FuW*|JyY^kEiAlRt2HPsLjiW&We>!A;jyKii<#cXlbWp0&JnU{tF<0`0)eAt*ub z(`W5XzQ_s=zgcsnLrZkC@0a^3h}?XK2<2n~12KJ4(Ya|DelyfkrA|$%%K9FVHGdY? zu}4?wUCO=wTeZ2;*@sD%#=g|zK+JXxgY4~j$3Dz~d|y6PIAxO+skUwVaN zX%(O%&0_FAs7PZYhDC#lv}bQWf{L^(5*vt`jnAaG* z8G92ZfB&2DyYkil+20JS|37a=W)|+3=V0+q&w=xc=T-OzubOmUb`Y%lUpaW+bV|^6$-3^H zcgZeW-#P34yIf2EEOW2;GwxldU0Tn2)SU4gI_)_r-#CM z?DsNy~-?>Tnf zWn9jC=$!B51-}uEkg02dLy8{ra=zflszT6@3!$sZK?_%dzddvxxaT}%?%8h;GW^VU zTqk_uV)zfma7ZI!{zl}SM%0fRk!v>+psVqaLHMvm;;2FFn#IR?qjcy+^1|b6=y}G< zDwei7uT=(vxGDQRgScr-gJD?ceU z-S&M=Kx~zLRD(-=i+^lGPhARRaS0MOip{smj?ILA&1W+?=puxa@HKOSA#R@ z@mT}pFXOodrE$d_nPr{!rI1TG^sel?M-$}Q0{PTK!Of6wCluNR#gq=G6!)iB4P;jj zW>t;kHBMwVjzpHPe6F5}Xn>Mhpztmzu>(r#SV-xBvf7qI`rum9gh?oV2uhiNvPYrZ zCFs)(^q$gHURqgO0}}b#YwKH!ngpn(p8?ej_*_^*3@jZ$KC$p^o=&F?cmIWV_~(BOWKdIolne^vu`dla zvjaE9%8~b1p3jivo~nF~Z;qWDOg6rE>1NI+de7!O?YD98a~OZKQ++Z;y_^^rtm2=j z`FytWe!PZqT|alGnD^GY zVmJ1TcC<>s(e^}}X7BGO4u#4*rw`_J-aPsFD+mCM>G3r2HdB1V+svJFBkkt%@uS!K z^rEcZUKk6v+bIs;&}fd+&_l^se3|Cks7uSa2)l8Nd1x_~ptQ7djx4Jktr3wcK%h(r zcQx##<7jVmEXJZ9JsXk=kX4b9;(vT+PpZeU8b1bhaTS@jQNF6L;KI;o$7`Cay0MWs z+x??{xSBl?s%I8NBRqCr>f_aZtl||o66vSe!ENn7BmI_uW)+A%8X$H@?bP*pdu2mB zGMYxP*M>bM#=N9t_(nyCv5&n@$%ht+p0+tFFyfO8KZiS?Tj2>Td5s5? zrfEuVc4r=iTa4}$mkWD39DJC`c)ZXh%Om8)!`&jn=O!N3a`m%h2Lu>@%JzH$>PA*l zj@6x}ud+)}P;16@6iner_^EkpgsNS112_E?lzoi;1zA`0wUlpRG0|Al_Q_V+-9Mqt z%P)qiZVjaR^E5{=HZYD^9jN6vCNEjHGX1b=I#;M-rueOg&euU1$}qe4-UN@ z>3EPo-)a14r`6~aRtLT$f%o~+^6x?2$Z*!@yH=CxvWNC}c=|48R`{>S(_L}OQnu7@ zUXahId$=-ccR=dY`1j;vnvW3?4`n7v(!HmrYu!b)lk@J~TwQ**%j?I=!Pi|z-_MC} zy6m4`djHGSOI6C6#z__JkQLTGWNqbq05tUV)oZKrkm1OmTCns3%e#3S%&+A)&_CMo z<FHt9=IrpFUwB3o-pxtyP8RNJZvKL?_HGXc&9VPLMI`UcLzD$ zh~oQH!?(OEKkgqV!nc*bkjvTzwM%QpO{+SbH(3;QuoTBcK;PxC#+Hf))w|t9@7|_w zV=o!6?rE@khwmj93L8@I@o4hS_EwhC6aMN}UJIG?USq{r| z*9nJC7%beMjHu*`MEEtR+OpqKzOaReW4~cK#P)Do)va^_huBiVCOHYnPR%PU;Io*m zmo7jrqd(Pn3vV~FH&{o1Y%kB_5e5)CG&o1pSw!@Jm#%L{tZD}@_ zg5KjcB~j1ujqi7QTieGTr&O}-VW4{G$GKRUlIU$3W^RY+evILRQEHd)OjjcdIi8x9 z>?@UU(rtJ`x_%^jg6#MPaBm&#-&B^T`%P0h*j*KeoZ&&Z; z;p104C92NA<4}OU(Pk%h70YzJl(LCmm|0Ywi{X%|ZCWrI$%iK~T!frR>^E6#SyhQQ zj`&${Obpse^n1G=3J}^($DbFGK{&I$mF3W;PqE-l?Nrht_;_7RF2109KEd~~l#Dv@ zSYNO^L^;Nx%m07{hhV^84m&|C7dg2cXU7wZU=*RrarNWFb`RnCK9RWv3Dv)A!~v!vcOG%n3v;I4!%TNlpxSb17XeTB&>VcDBU%8{GyiN?Kr@Z3Rz zQY09xWG7gQcaqN4%@FiQZL_$*Bppz|VNSGvbWhdkn$uCH7(?b`a(JdsY3F!^spn3m z^mQJk%3}1%d-gZgv+t=!V$wC_j+6_z?pzYubY9|!V77$wF(MNBAc`>GQH@aHv^gh8 z#M^q+;FwPmeHiyhB=4YOy`CiYu>_L~f3iL8EKQU}vmA=G+c8E{xzX|Lu#l#1pAhGc zQ3NW)@cgk%8slXbd$~+J1BXt%muef9f1D)Gn~!7fOf2G6YD;2Mqqv$mMDts=IZ4&l zdtIHRZSBK5%Y-9ch3G;%+Np{%R9QD|4VP`VsD)y(IA;sPyUZ^P%VcQv90DY{9T_&Z zyV7Naj1zTP-r|{0s)b@S21(4_*kjM~!q5k8A_UvD%AUUCayX2)7aVI-++}LY*dYUM>3~2PX{mLH@4MD_swJLeoVT0 z*@;CmvpMk`@0JWE{w4ZWBc~V>t(9XGS0axkPs5QR?Q$pXGyJI{KDb~JEnPw9P$tI{n;kS`iv&{e%u+2xhf{|OdbRJB$}}L| zgkr;YjK(@j(ULLyC;J9s@XjZcyeHK{1P>p${k&>o)?8_rW!T=+wDh3-GlO{=A3f87 zaj!S#{yb?k?Ag=AcQ`LoTsZ0pzD&B7$asAg%cWv)2$JbAW0UB@@+WzHJkgQtdNFN4 z@U~&mgCzpmC~bgSju<7G;O%t*w|j>V<+V4NbAX7pA7K|HBl~d}Rjx#9}~7)NT5}yH=XepBN3ZO zWY$?CCoiAn13Ie4^tA$oK^%MW6A@EmgK33`$Yc`6$&&LV*=3N#SrLu#;d+#1iaLT| z8K-jy5NwqYm_8zUdo1TR0_s8xtEP=YRNdjh1o8F zUj2;u5oIq&U@Ilt&=Kqz`|c~m@}5^Z_M}0CT?5xvet=zsm!sJ8af1k^K~U|E*dPne z)_$)Za)0aSPp!{9sf}LkN}v>RB!pI)YP#sxxNFq;2XvMn($b7$T{dSTgH4j#G=ym~O^|#j#J( zSQWS~>?N}f;xb&fi1`E&9>PF?y=h+;J_;3ARXW`_U^H8z>H0R)AfMs{lcts zlCQ4IWN+RZow`eP%Uh+T#fc=I|1RiX{w{qT{H^B#gZiDZ%iF#5pd(I(?o~hwML& zWyVrC#Fu>z;%_TMG*16|=ChP%&-z%8nR1NdIk(cRp3zV@crjP$s2D!>h;qN^a%+K-YbQkxpPdQcS$QWk!qXC$=RHTwC<}#5v5%Y z)U^aGnRIO!m9}xpl9+jCIW95Z2}7U?h!{T{ga1B^X8oDF&EPjE)F^s!^|=lPtAx3{cy<>Zi&-v z2}h4SHgLHmXXBTTGb-c4G`6r`rl8`nVLJmbzIfAQEM~$KlTJi#)4cK%7t5%HcMpy8 zHum~0JZoDJCXa$XM`a#EaLUr6`w`5trtD*MRt!azRE)atj`LJ0O1YF%u@dzP7n>z__!anGyv7REKi@7kGrp`odMjDPog@#HbVm{H3eD`AeP1&}8=OhZ)6_Zhm&*OGL zbjJ9MPo1XVOKWD3&Z%n2K0)C8j61O3G9j~)Cx=g3JUi{}Ztg@JS|88ks>N_dkttP# zNgvDnNP9^&LD~vwJ>8^}LCfDo zAIEf9AzfkELYK^_Ku6a`zh@a?kr!>44Cx5}DyB;kNN#M-B~sQVI@-jB ziJL1IPeVtzGeyzf2|2t_&f!rzb>iaoys;~9)QuUc^===aFzm%&36^Bo4cWLfL^5h) zFADgp=P>3sI9zOyWLWsjKznhaVLnforjo9AdoIUVjI8XM$skT zMnIs+2zC;J(-eWmQ8-K~j5x$rRRpUJg3koOL@E%dF5o01(1L{^XPAjV*{OpN%tdfg z3b0*>1Cs@4EQKA9;7~ z;!`A)JPoCxidH}@Oqog^TS6Hyq5hL9nbxrU&mO;I-1C~0b$uPVwX zq}=y(g^MbRsET?siLg;cVGxy892M?5C>AoxMF+)8E|auDM3HyJ$;sk8c+Q1XsTAX9 zxiEPo_G}tkB3JcCY&Au&y4bq9QjCK_W6L73QxG-v*46bK9E~P5m6L2=@HGV{H9d*d z?bU2Ki0T}C?XY!i9+5qd%AP~19Z#&yrq)hX*A9oU=Md^91na(qu#cPyvc@ARr!Q}CHnp`J}wikhx%KK0>dn|e*V>x0co z-R)j$El8gBSI65;IXlJeTV=we6E3zyPMvmb?9`}lVMKQEBuht$pGwN(zd3c*XGfF8 z&Gsh`I;F!p--~x&;XZT1w=-@>m&=(`{Qr-=tB%S#Pxq8G2#69YQX(oUA_5{JEfR{@ zg@CB2h}ejVG%uaf-7O^@Fa6Rl-QC@d{ORq=rb8FF`&*is3|_E zr8fA`a8TQC@JY^~PUoQR#-JYC&`a^5*J?v=4Ttpoh759sK6VZnZVVZ*4V#D$o2d<3 z7!G3)zhUc~VcX7O`;B2owh?FX5m&VlH^UJRzY(vT5ueTxzm1Uqw$UK*(Ga!KFvHOZ zztO0i(U{KBxQ)?xwy{LLqoQ*Lo+jzeCc%j;OvEew*Z@esL zyrOfwYGWMFHc=}+QLi@9XgJaAH_@6i(cU@HxiQhrHrXpa*{?P^XgE3SH#wR!Io>%r zxiLA-HZ?0gHLo_cXgIa(H?^8Gwca_ku`xxkZ<^@rG|9bb($CZ6{?nAX)6`wlw8%8w zz8QwIGmQ6Uc72{<_Mc(Ro!Qeh!-mYT@0;a3JIj4zWfs<|OvbOP!sUxi>HOd0yUsULkj0scZfMGOzM{`e*wQ z$uB6nadJw^^6DxoD*OJO7?J;nE6UV}iOn!p*7_DU_70BPc21B+f8E91%iBlJ(-*ZD zfuig>0Rfb>#xfHUZQ6@cQq$7i{UMCsEGsv^pzsHM2~-_+VB)dIyS zkVdbW2jM!L5W+vfJO*Vcw9|8oOY;`13(K2|+0F3JJX18{0JoL6+&jwya(x@-|0v3G z5yavDlcH?+XW`hTU;eyWoVM>jV>x!xX5@_BgplK?i1WCpw?bfr(6&*&+ke$)i-SOr}D9tJ>9H zvTu6moOj>7@~wB-r{Ho4yKWhWK3UsAX~#Y(r{QyM6H>O*vi>VFo`{0i>IIMW^L~h` z=iC+lxyxSj%0Y-?C~`Gu;d;o@jo_uLp@^w>hH-ecXGXPYNUeEn7Z4jUWu0F6^RBgs zPa6{0js$ceNzF*&AcE_d#k68P&hz(4t) zf(YQ!-zx(6)1P9rQ(`kWeXI8j?UdNcP5+-vf|I5}=udGvv(&G3pE^`-TBWQ*#o7?sP-I{#~B%~FD)H3C7~xW z%L!ODF(Wrdg<~k|0p{;r+TF(FJP{xQ5CYvhog4_q7_ULsB=bYaO^1@--zy9Kcef7R z{Kr^_Tu6QjEPwv1*Y5mVKQ#lF&&I|#tWxgUR{1QQ4~DnsNP2v!*L{crBNF9oPI9o+Wx7I8E=) zPr;RM!+}9={1DwCZ9gRM&@JIIB=0&d#>Mo zT(?2e;)_h=eFb7}Y3b|dXXc&g8j%(n76#)Qq_oN3(zCL&O~Yz~zLiDiRz+sFnB^dL zX^20zDJH)bQ;RaT&MioIY2Vkz$%N+VkP$R#7aGy3p@5>UuBoM^t)nBqVYIk)vc9DU zV)P2SmaBRf8^<>AOGx|lMlA&BfmUj2s%LPzcM%y_M_JUl`T6f_OW^ETSz4QiNT%g= z2)&1o6?NNw#1NyxPv zaS0%T$F*bViNh+~Tn0ajZM>%gIFA?M!vz`nS z+)>9vljPq?p8nz`F`2!vFsV~d>9^?XZ&v-p&jc6K2=Z&^UAga7d=US(0U<5=l+RiBabfBQWYN%0zCnnu=kADWbz36> zJLXRrlWbOynXWz_CULkDKNMtJMnp*RTx=B^;vzK-ULsrmd}7CInj=IMbetySZbDB+ zBg2(gBST$P6-=n*;-?9S-NXz`sLkj=Zyd2W8hwC*#2ZUQ<>6=)vRyuaWcOK&dj40u z+y@)VBUu_I6i1RBi4y5?@p2425$qFb{rL>E47ZKwWhpq7qKv2>+%YDk9%y_zbx>Qw zN#^{~4r{sULO0o z-P4qe@;!Rn927p1Fstf2kr!iR_;GT#r`a*Pb~o>tm9U-Au`4&fp_jlVI2N;wOnk2W zRc#5DPo9p6ycc`m-pBRg8YP?b*Nu1H`O3SgSsr!vv!xFGq1dI)k4yjCsEZJH-PMtZ@VLJ<>SBGiLU?L@4*wTonUMb*$*`{b!uVmezWY==TwDFdCvx;>yN~$B zqB`Kzl+176vQweN6TZwGXjrldFR_U(fvw&nD&IS{$S0=6FRs*YbHld?Z}3RRM*{OK5X8FLrW!N~tEr*B zrJ=EC!v`UX&jNCF`rpU{TwEzbr#c?FL%W42dx4IR1xAlmGUK{{Qn=f|g7A@6vLy zN*d>HT{UPRf?!}(5US-WOOCwk<{|Kc$ef}s9xHPOP4w293?-oE(;}q8|K7Q zd-ru5-C6(8>07+9L?r>=uT}WS?>N*?V`$aJF5*M!I z)f8z}7Njq7zUlRyFS4-PEv(9Wsfr>4v|I(kNPYVGS^B-F-cFPEl3rO!?1eU{t}MQY zXalN-YQ>k&#>3gt44%L?dk{#Df4}j-T*VWY64Xj;eQ0? zvXc`j)gApF`TbwOabv?@#t3PQ5gMd4e6I9;_F{`7wN(6tbi~wrF#-7$Pv@QFAXC3P zpX%5$?||zSseXT+fityoy9CIIC~b_WdpdcpLer>c#sf{O{f=6Bax`vxiY#|^1cH`J z{8sa}_o534vNrnAG-_&clYw&g2cw{eypPO|4+lHarn&5QHPS4lHYA@vNAdpcM#i7`*^KM9OlnS=N)W*w{;wvOBM-XqfN3L~?lB&a_>i8=&PL z!xC?o!DC5w$kXK|)L)BMC898Mo{*>HRlyRFe45T9B)jo+GM&R|cNr1)K{^HU{d9sw zTlxrBAK!sd;tWKpkZRjXuOcfq#dffH8i3--BZ`KOT5b9O@#t}wFa6ug&J zJ!VzIkgH*c`8vt}P_GXBUw}JJBAwQ-KNOs+4%i05Bbk%5^Wn`^A_R zqM~xo<7@H|^YTgF+o(^_=c3?H6>)hVTXO;BuCGs&qWzRV9Ll_} z{?>72SnKgb7xwXFo$NNu#gh^~B=@R5_G9-+iXFXK6Q8~?M)ro|rjsV_`gnIidBF>~ zt@j8%@wj&^C;P)2T4oWW?ry?QWD87LUDZf~F-Zu!BLN`+ovP$EQf55V8+tht7zLB- zOL7Ql>0t?J0H)*FMb0llxZ8qP^Ek6kfbll2un4F(OhE@)u?UWlpPaLZgb@eb*|(W% zCAja1aOSZJQZf{g@Qn{wBaa#mmMSutkPuiCT@Wwqzj)PehcWvxtr0j}Ee;NPXrU8r z>u^m$<0;U?b;sSu2SA-HSL1hTq4a?4d(sR~f3powmjDdI!y#WQAyGGfMoH^BKl^Kx zZh;<)k4M5(c8(ql^|3fK3SJ#JT;a!ZG%6+qRVNo8`eUkJe{b{azq?n5;kOelXXR&0 zrRuMqX)*gTIJd;@C(k(cpLLoPazMoF*H1bx!u53mRQZl8z@rGj!|jX+yCEXZYp0!& z)2_%lYaBe^N)D9@miPPl4=k2<#+TvBMn(upcO4|)8*mq0144rowmvEewa-D(e zOZLlxqTj5%$Ld9YD&jRZokmjz^C z8G$0&i8VB|cgrz}5-HGx1u)?MCqf0DY1QBNOrsO-=V$sioapanQ-0<|w+az|aH7E_ z*Hxq}Y^4|!7@c^6Ki(;2*jMJleKF@sOJbPvJ04~6meQo5DsKr>FH;KhM~wcbA5-2f zdwsjiLnZjoGt@&8eIv3p{)Oq79o!wAI0b0rpwvFBbfY|F;#QI#(l=-Vc1sdcT2^ih zfd(ja_OeMhDyH%Ck<)Vus^hVFokVPE-4cNk#y#a87q>~kwn0uu$1b8Sp<(I5OeCiT zhldL#J;#+0Uii0(Ng1>SS2(aTV_n$8ES`bE7zVa|BK3RYHA@|-kC-U>S7}r1;1rEX zQt4DDpx}}hst>r3v(7$t^eDk&PHE|3VloqMV~)bC?<42zebVrz+2(kvJ&w{0;><7Z zNvb-%{tuhd{1Ek!yd9fJ?Y1~Pnbz+HcgJv8^zVJ9P5v=#%AI!;3r*^lM;4p4-2dv~ zac?*IkH{T@U!Fw*BE-xgvV3BDuupQUO;Tsp+IEXxdAC8Uu+g%VNve`rrKUx@q1CFT zjqTKwmW4qx7^Oq*6=8D}b_(J3Q47|UPg2|CmZ)fLO8OI5Y%fGNji;>9IFt{~XMDG> z9$Q+^LAEpVipby4*2j26q~V%}m&sWUo;rW?@p~)J$n?^dkrfKoL!t_|o)}nrMP-z= zj;>PfK73m7_R|kG-qD%mZDVUxd-%kZ?&y59^@+) z)36;Czo4dTXzv%7Q`I@SLA&qR*^Bp{e|GTynp@p9g>2^!z#5ZKv5H~%1M|(PcZ+@` zKOO`jjE8S!VU7nE+aY^S8?2KHgy5XG6}`l)1VYQc@ZHY%NO2;p!c*{RYnIiC@G4)i z53B1Gf)V&Y85`C!)`F3>p-SGOpD0g8)kj{5zLjl#GP*JLPNu1LoGColW$F--w9&63E5&qhl{SgX{s6^ts^USDri`$AM^cLCfK5a;SDzU%R_3-T+ z+fzw{l|H9GY*33P57&e!dW+kMej9Cwxt(c9b2??bCHZMvj@{|h$&RcKYa29TY12K0 zHoMQ-i>1#FRCu5MOnW9{exyG7cCP)I%*BcJ%nt~yc-Hbvf4TQr2l4FHh4Hq`&)d)D ztgp&A({JyO~mHd4>p-#+wd(lbUeFyOk;A*63&uckl zGX8Wf>HYEt&f=+cq@Hc?YnR0Lo=F!haY~jI7p$tTSQcKzl&D&jt5{XM_bN2-FZvu% z=I-Wg?wMp6oaPjg?j4x}Avb_t#>6B;L~48j#Pp>@-DPG*E_7X5MU>b?mD)v?d&d=c zq}BRm)Wjs^1%9iJOs&YwEXc_%^vvk@$sWqf#Rgzoql(+Ii)-QwJF}_)oE(I~>r;(< z!6P0uh+hqoQQnhX)t}llgC0rwC1|E!VF_GG(02?Os(GdO!ty5QJFcj#EvafP!MEXR z+P4r(fGg3uEQp0^Y^Wo5NPmpX)q-hBvP)-%>TCRq9kf)4p+1=;-aIZNnpI^f9Kg{+S*h z0TCgGwqEt*W{cM&$qz}mo7hcl(lUnC=Ma~QkG?TcA&n$03mR>}C2DzuP4EWRD34$# zGljusr2XA0feT}ciBP{Ha_)VwT&O7-?Oyg6_OxT+sFzc~l-Mj47-3zXf3E3 z5G50`rccIHihfG(cZwzO_;B|e&&%H-^hMf+jpmTF1?7Gr^#K0;3a&g#d$h4e z#%M9|Uf-Md2P^6KvgXI%d<7e!@YAXRwW{@$q@L$x{lm4=b_)EWg+kDbHT~ed+Q-*i zn7bdA=7!6!?dRP_nfFlM)#KvD+>M4*y;g>GXOoJLYXqd)I|Mb?C1mI&v}%;Jh=hg% z6t(pNx3LPG0aXKKDSH9+34FH(H9wZ$l$zO1Tl4HTW(f%*GIltoD7XWRhz>Mr_t}XI z{!h(V002TW)|VR(|E-#_+W(K|@IQ{{liu^wgqQo(gZmB>zJ)+-!cTZ7=P&NA!S111 zkT)G4n*fMXLULwma>lom%%r63J=ogW z+uqTQYgz8?>TB#@8|Xvvqki}Xh6nnlMuvtV(iFbAnJK6qK{HHOHan=G41O8eWLc2E zA29k`Udcc3*T91-_lG^WC_V*Z(EsW1Ns^J3on3crF1M2()EBaV_Z)Ng)ND^!U!eaI}NCWYkXHNkZC+RdV!&3{(+T-ryYjq+%>Z zVn)iR)wxF@IfB=7&$)R0nS2==>JxSfz6uNU#H8Ez@ZB&XkR;r@VA0LbFG*+`1?Ksk z0y6TB>}L^9TtK%p4=t^1XH-YIJFhC2th#oDFfW-!4rWKN%%R$Y>XL`$dHs}H0#zg> zg_`LKiKQLN0;H+X@o10-)Gk2TF`k){)xPCsZ)dlkGEotgUl#jZmnU)kGD zUi9U<9R4a4utGpcLL~3NrVjX2a}rubh`Q$?KJ{V_|EQ!_G?C@8YvmFAXamwrcjhmUG8QC5{?`4X3N4tuEflAjvx zJLhali3I%5jYC`XESfw8uf@-z({Ee!ELvQ;6}5rp)u(RJvvFux;V7uE(71XCo>JPR zXLlS{t3c!G9l2mTOHbUSX93KHxcUIt&Xmz|ya<$@MdRw@p|?~SZ5&E_HHMbsp-~%D z`z~aq&GeyJ%bWBpK3LKJLUzVqeJrMdo&9T%#kW6NbovKnk(%v#0>M)}QNs{CH45}B z+BoETZ8LaE^!`t4!qs1XQY>_Ra?dypqd2G|3V)t*Mz;0^Wt;lvo+XAMRWkNN7d>Yc z{T9Etdb+!LV%%aK0&-)bpp3+oR#lc&L0Ecq1-_=Lwgz9<2sc%2 z1FRB_buEqc?TxLSutdNam5(24ZR>_TqN}|(zit*{(rdeys@9QKAf$SS2K$Ekdq)Qb z#~>zsY-DC)a%N&?0h)&AXQ!d10#eY?V9~X;AL5N=1ai=SpJMV4+!5fnf;HjlKYL9` zzA`@xG}cPs{FPNSWu4YKo>0pE-~tKYqbeO3wzJDKPtlmtr{AN}j3j%CsP|tLP=lCK zt>e5VTHWe1Qbgu^dG43_JdXBfG&rog9DhlwgaW0pj_jY2x7#V}#eI;Iy9f_I__y-) z@=Qp!Z+D#!epzU2LB$jTF{N%QjE8t_sRKD>>6{pJkTy48Mfb4ELrO~gFJ8J(ZfAT$ zOl4nMjj{4J(WYjpNSnzwSih1?$H-N1t;FNR*ay`I=WQrm)k zpKZTXq2=~(vR7)(z?z^^?aGM2)N%CPX8Pm!&`Khvy zgNoeR#@^n+)xpJmE6myHi>H&DkGrR*hp&&nzrS~YzfWK|RK5p?ghQejJghM>F;H3= z7M%d8&arVxv59G4lObmuV#ZRo8i*6VL5gP@1bL=!s`o&;mz|Ycke6#5T5Azr2b&Eb zU)bDy<3>~g;JnE$!J<=C0D;bM%%MkIX=yPkyeqA!fNmhDu&RaU7JYDAn;RRO(BjFu zHKb-!Mc32a2Ms_VpBovS0DKBQ$nu0&6)paOnn=*3|9DkVVH}{GTdFuzoc@QVb;2vD z{fE7hRvH?Q9#vJ>K6>y_TdTIYwn_Wmz4Fa2ih;Bi<2SggXYK zKN5T-FYZCkK~(7Y=wS-Imrzi-=TRkIJp#fYw2R^@tx|NO4oB7PIR2I%GsT{I*pGOY zlpIeaH&;k}I`Yhnidp^%=2X&0G|buj!D6h?=B!+vzHUT`^v>v0_F$&o)=NY_nyIG(_iiaY}=WpX4QOHR!nGu;KAoEtdi z`xx-$?9ol=u~gH+ad2vC7X&if2WaERK27abSbg?)vq=B$WWUvK$^MPC>5^l}KeLf>Q@!>= z|7VSX!!Ogp@};HMBb%@n4&l$7VqQ8%82DzMaQZIjya6IGkaTaUzCgOI>s>XY0;NN+ zdBva`D*)LTD7JCX22c(o16$kzg+^P7ZG25VP#_=|gV|Bn+zHGFbQ-~jt?#dB?rv^I zSN4w1p3bh`hL+)~wI3?&HUw3YL1Og4&=3j(4vwHwGPFBjYH9{riocJ~q2lZT1Q}cX z5gC{75W(X%Va!YbNNytpOQURi#Xp@@I%vGEW3-9X#D@9)xfi-3pg7j5^CoX%|AuoIW;#bBv7G7U9ck|snQ6x_H= z!BIrfLQgW1x4?s)H+M$0MO=+Eq|ofgIUSWs{P^tH!cFjib^q1kD@%r<(j`^b&U$3$r1$ohHDg0J!Gm{_ky!sj z4E^TCbbCZ}n+aZ$IR=Pb2(azW=vjM>%q=x{taK{3GLC?)!ZOJ8NCaL282W8Pq& zx1$G@I?oV|Sh%P@kl(FOH#-7KIBR+eZXZO2C}zJaJDxHvF2IEH;QVN`1egA_WGqkp zt>|cg8u=v6nXNEM7;+L^vJt^xNpcgVfC`r-ohFV$g)n9Of0&N?yDpLB5|HtsH$=N5 zA?Xc0<2-8NJN1NQ>JnxJjMsIb;NelsO!1y~<1;1fmU|NSk_U2_5bi@u7$4#r~uSf{KeJHN%MRdLdJ5TaR zK6U{tTz{j)V(H&q+nw{Ts_g~~*9Qi=ANrWkUybySA3wga_SZEF(!oUOS%d&ecGj*6 zB!oha--VqvM4XX3?(O$H+SEKdpL>>Scy;`YFoP8fWPo78dK15(pD=G~YU<$N;OOWG zCCE;WU*Plb@bL2T^7ZvK^Nch1`s(W!Xy%m$C!lR$ic{z}r?5=uC=3pdMit=UQPI)S z5s@H(_!<)(pO~14o`9Rf|EDeo^a=zg7aW4<6_}lE9#{b2wr^qy;BPU>#mULooSd@o zteT*-#?Z``tm3k7MV;}b&B>MRfXjh13vjuwm3>Kt11a^RN!2p|(52QbV6gxu15Agi zAb|8MD5wUn7W$O};a7#Lz{C8nuByY~>PxHYvAEW}(l&f`eJ#Mv4GncoZ8bF=%}wpi z&CQ*iorR4b8!c-eYijCiYVYmp?5k}bFKM6Y?C$R98K~%4tn6JX?1oT?wfc$G z+7YCFWTS2h0a&kg8fjbE1ouE~-rqksFgiRm-akA(Haamrj-H|u<1-Vp%g`_ZITGla zfS@&q^Yim?o6an(fQM^#7OfasURp=ZTtBr+KnLO)w9u}huC0{~fB?}{>VME+{MY?$ zVWcbmeIuR1xwZ5}c(p&kf@pgY-ZxNYLPowUVv`T}lJ@$^CBGX0 zlRI;t_a-q+l!Gd^t{O={WX_|%}b31aSYJQ#7`VsG08KP5{oMGBuP@Yl% zK0u%$|IEmZFwfKjGz832_X+SpCnEC|E>0ak{(yjxkkF)%0^pK~wpSNFuO`>i=(>l! zlcM#z{`jC6?}m)1B9D@XVlMCj_V2<~FNU_NTs-en@5v;nU5H?2G;K!mv%GsL0!uJX zoQI0ZS!zS^i@+YbREQqR+;H}_OWd)OMMqtoj1@28!yAOZc8=iEyaW-&Sw|;XRx$PC z=e3YG5JEwH@MIY;wc9KyW*_|l^>?>IuTkzhOP)_*s)^G$$6=kwq5&-0{Y3=#<5?nhu=)S%*H8EV@h$r6^~K%)d?hbQnz67)iD3!jPYPL1`louoa zjQcNA$5HfOyRm;@&`X`g^?YzBd#~)l8+VVNKah15#O*S&NXw&xfggzu%S4{UT#b7_ zd9yv--r%YNkDF_d1#9TKmDR4;&e8FtlOwVRlc`1??)5%R7|HvUTKpzmxbh1POzgvo zOFO@TZ1U)Ztc;siBO>BPo~ArmOvZDl-ykezb#?7+%z%-um+X|@)*|i3uNo6iEIh6! zBW!j~y0GUApDDF)1-rDq0Qu|VG<&-orD=rQRitT%d}9*JPHFiN)1J`U^NLo`UB^^k zV0e1EO6)*#TXp95HvVXt&-qceJjQt(d6b0DIP&=O?>$+6_K|bxf$PNI!(%@mZJ+y% zYO*p|?FnkvifE+*yOyP|SL_>bWfu%hq9gsqNy6oBGbY{T9t_#ZJQ50SEFBTW9zBU( zh~8$|v6DN1K$?FifC;r_H?(Yv}&^- z9RvCCfYVc0#f7VL8VZi|2QIQF8*Ou*C;W7!`uP+W$&T~<7zt9odVKe>>cTOAoZoUqxcE}3L$%@RoIe3gganxa-h_2NfLu93im425AvzyO zXBQ!JK%vI^)_f3iWrUn?S&hBHd@wsrr2ILBT4%5M5MJd-h3jRtZW;5T{C1H_j}+>> zTIa(=DkCqvE35Ncoe!6wiBhpts1IUYh>%x~Qgtt@4-;L8RI!V?60Xn?b!#E&MrG8s z)Ut*+gN0~yn&<+epQ2OV|FWZ?4TFF)0B?8F1rc&ZfVw+pUL|i?DQ{7&=GK1Kv+bUD z2Z}j(mS}i(y$`DbG7oSD;PU`#07?(ghPR3H`tgemsLj0uq?xdnBqe@B8+DE>gwtSY+-DraeTFA6aj<*7{TuDZg7Bu zwi4j$On|zUwyv`_RN=!rcEl$rP##0OS0qM1^++g4Dqr>HzdEqJ^6vY>7=D+pVO3~7#`nUcg93c) z)~?KwQZhE?ifB;ONqWDN*9!S=^E@bE*m+RZBVdN~qOYg~k_n)6(_q|55u>cqxs(eY z2}V5``){U#r+RTZ!s=!JRHEqnb~#cVM$}Us+;i%c47n4RYNIys=q`afX`VpZ`<7Sr z3&{Jhb4c|SvxsKw%D)e!{qqZ%^mb>GxT(JIU)M4_E+eo!HG~g7?3{qxX2Zy)m(}sb zMAmjnK~P3E3YJ zU~tAsL&o^iW2P1p#%s;H*AR#pC`lcc)rl* zBuFZ`tY0Q46tn8!d%Oh9I(YjXZ};TwbCTydRe{j@O~)6wTs(Aez?EsQ9sv>Q9V;y1 zmA4}gjxxxz8xh!&@Jo>F;FrR>11N1n%gCrgz(q{0B1x+|_}>eX$xjj(Gubs`C73Yl z`WRv+Y=Sw5GiTI6Z<_jU%ytJkFL|ObPZCB%!dIEjZO8Dc6SCe3$#8j<_@qdidpo1^ zV-Bh;)~6gV>Q@!+l|WIdITk}s7MR#19q`IFH5Y7al^yCY+SkMN zik_}08eO96Rr1KQ`n5-qx@WsVcqIs>K1NncI}E8f4c_#cy5RNWlC`sUazbZ=i?fp} zOan{z%n&$KH%ZIL@QCQhsIRd$CM0i>mgykaN9oEmuq|h1XBdT5g(Nqp z6nEKGBMwz)LWpG@V%v(^;GF6Z*BZpF9`R~MyxWm)#Y1TYy@7Q|)+BnS z272I_92xJKLHd`Fk!55849hSKz_SdmE0i-Yqtjq%eGSq-Q1dc`f2^#-Kv-Sd0Ah0$ z_1CTcr7}X82?oD&Cj4c)n~%JFT~jmsCvMGz-agEG@C=NMcJhs(uH;^Jzrjt_XX5+8 z#WgfeE8@Iap6qu922}MaEy=?v5F~vrF#XUzHjvq0x|eJHeSZGwi9waKVtX$~-SJe? z2r_#=ZMMhkCH|}%K(Qfjc7z1E9C+Xrot^}hNs)(CZHbb6!}~C!^Y_V|e1u-N zc6)M>Z|@cQ$fY<*o}!W~^8P}ERiC+nulqgoP9LQVL2Q}X(IH8vb9QV8ROP5<-BrR= zoWfp>xi!_R_?>>Q8lOHFDn}*r&WJet+4I*^9r)mPi0vIo93Z6G9e)sZBX>Qq~ zs9MI#+>vxPsRYgn1|CgA>tl}&@IZ}Zf~SqCmeuYH5d#pjk-n_XPG`xUW=bbH94Jj| zupWTfeu`O}-I)0yZw28VHgy~UFKXMAHoAI3W|t#F{*m7YuQSWlibufZp?O9P?L1qULOrv zQdT;F2QJ$A5kHc_B+E$7n(v_>~0rSYjuy<^Vgr;HpG~2|Gb#h=ps9MCf&SJu^@L zjNZqwX^jR?nSK2Q=)9;T(A4UJVrFE6<`AUPW*h zY*CQ0%`1IV;0{WmYE-wQP2!RwUE1SjQ>zlj%_wV4R z`U7z~7yys{_yHg$_9p}2!PWra*%|=5e++;xK#PK&Z*){b1&yWHA;5ZB-b~t@j!U6k zSgyj;FrZA^2l5opY3!zWT&Qi;Ujj;%oZ1_Oe(6q!K+m_L$Ysf>DQ6J^T-?PQ2P{ZR zDdte0m835ozl{>J<6w}VlUFkMoo!#*H@~#NI2^lIsGkRZ=NexVbuY)4$IBc9)DR^v z@L6%S+U!=;>tP7BwB~;|M#*N2xApX8-R?plB}Hz1Q1 zIBhST^yJ46Lu7UPYq%EnH-+CXf4eB~GE9K_(O9RiA}I|EmS)AUr+0~kg}-bOw8NaNLc{&*=4b!z8r4BOZ|*g1rZoC-Lu?s1gd#c)jp zXT>xav_t23*a<>Qvv>(|;`4kp5*#OOUled$V>goAb&fkg8sRunk14lJIb}sla)Em` z&;E=kd!ET70y<)55xNxu(p!5Hu(W2cc?Z07evYMh-H4KLf95Fo^Ge>RkuV_RAZY3T zV=Tq$Z^$^lSsb^!&TJ`fc+6}WU+Va5Ie!V?T!mnh&RnI)P|RGF*wXl1wFKFbdAtnM zv-ukN1F`e9O2QNKbt>nMEYx4Q{%oP)#-slg8TVT~-+{R0UR&YG6=H+b%iDy)T_RspFIb3_%^B5tUH5T0g`55i*pvw~39s~pm6VG~DngyGenL#sh{ zZE9i;OSh}D3(!Yi-hQxpd-w#v_6?H3sL=3`;E2$WNO+D>I3_L$oL$gEiZ0;bluZQ5 zU|LdY`quWHn3@eVQF=x;7-s>R`5_jJZ%xa>!akl{*a3_Xtl@TT=wl7rH;_WGfTNOa z&}$bI78e!)3si~&9}=q3hLj*w@X^o=`9SEdy^7SVAX}$1W1G2(pR89E% z#MJ@`FKhXED?1^9f%JQ+{t2{$MrfdK-z$6pTZRpkXOr+9DCCLz?4{4YPXc`o|ci_ zr7r1GM$_GdO`Za}&U}O=#VQy&P8D5~VhHoLtVzscWi^7rl z6F~vNmy_H$lfn)k6@Jvt%rZ9rL?-%HT~1z9%8_uv=SY2k-Ofg3dam2fS~s80j^0Yu zZ6RXwDH~Ezk+$J|F*iW&Ep(P5bthl?Y(!K5cCTdOqN4MW=j>;{iG4dZQWtzH;$e-Z zITcfY3RYjEN1mDQn3SzVV21FMNY~F);aBEtU!1^o`K(+S-0j4?-!&#)bx@gEs5w~R z$%#Aa)05qAG$I6KaEy}8T$bo_e1Km!!Zj`N;j@ORNsvY$Ja*oKnzqMDSspJpHL&9A zOCTj^a_JuHBSv{Sv&S(S>?V{#5a!)u+!y$152OSczOvKqwGy3i#8`_ZV?Y`~6iNy_!7slO*`U9rRg&gX}tnfYI2n^UD)Ie=TXsenEm=nnRnqciRqA0(zqzuXoi- z?-rRpSoO(mR|uA!y7?4wAcK+-FNZMQti%pw5fvP*_Ojz+;iaNqr35{Vp?Q0#DEzqy z{S!v3tW&ti3nKi43D5Zgq<5dqI`p4?{EvK&-%WjA>b5+#VfRnl$N#j$bamQNf;x!q zXC8&~!_N!*yV*;}tgF!&wLD@Gv zGCnpj0lPW6mBYKgflSY!Fw6YHGAQ_9C5N{jROH{+Am9MS-2r9+rQXImZ07$AULGdI zy+3SWcULRl^63^;I-IEALTv7-_1x|0+O*zfS623o0%9{e=h@rWIKQ&Gwm#gWc9)1P zzv(Nwu)i~RdAaRQz9lT|Iz@$+Ob74o*~KY>2A~&aY1Qo9hTVSbc1nAaTos~ z*%$NsNA`2-&a0D6-z)b7rv2pA%S{aQ_q2HfXCEk5+nVUm0%CKBn=jMQc3M^TahfYZ z@GWrOjq`Kg&X!3yUKD=O?jb5IUmGQ-kUT5X&%Si+PzPA=p3f3Uk=au-i(+n6q#aky z1M8ikt4skIgUAzt`uy~{oe|C{N^HulqhI#kvp4Ie$3LsCjlX|Rx7d^dYb)MS3f8;v zoyV@nQ|5CfK2&x(`{D3CT88(#__zvKs#RS?-V8P;o%@)1{K?CS-}-bnyp0HV^6_&* zDa6{^@+TT*J!4t8X#TYBVYzGvhFK$@NR|#HUgmno<#+6+b~YiBq@KYt$?Pp z=x7;xO?L8AAFOzHYw;D9>4IwjHwis&zND)(`HT^XDI-3g>G*33YWJ6ok^6n$4vw(< z87z9T`x}xfum_mzTJ5s3;PKiQWc{bsyZ_e<`@cJ4v*S-EMAgrhVvAqiX-mU*29Hg= z^i17e+603f?4x^fc4vn#o*v$?sGB;48M%a6`Nn#A2N-)L z`vishgogWtN16wwnFi-#LNbGcLgAf`4hcuqUNK)IW50suCm}8|E*Z4lDJe;*iOI=H zz^W#u#iyX2pTx}Ul#HzO>|DPDFj?06rr`b4YJJn{LG2Y3Ulg8EnUb5Ak%`UDE66M? z&MwBq=G7$SHKrCfLNa$!Nf&_b=@nhD=L6QBTRQ-|J$Nx8&>^p|x~!zKsI)x4yb|Qy z5Xg;EuvJw>RrnHoZFOBkd3|G5eN%OFD+s>Pe9-z9$OnbxzqYw;Q|;YZSUXhFHrCLI z>b!e^jqMu%0T%!?5Wfx5Ew}>uherp;r(hIJz&ANFGC4mszX(?V3eYSp0YI~|v;Zf- z^y11dV_|I_6>WXrK-;_4puY<}1Xcik2VFO++4^S;hd&S)`d9z0KoLgs_bI~uoXA^Q zURxzl%E*s(w7~L-zql#sk&d!Whd90Nsr=cI%MzFB)(LuvmHfjl?B%3TOhp~yXAKCj z&WKcpmkK)7R+K2T~K@iy+}_}GS5DA}y&KP)!z4C~pa?k4@^ z6?=F?xDB%J;>IajN}e3+mlG)7ZIUM|ND#b}3%4Kz+{G^E#gOmJu_N`8IZS zqr7dRG6|+kZZC@QWXM$r@ad(O3V7tQlhb_XO>!v=yU7iU9xL9kQ1V~YFnn}pf zzUmJ=$Dt{vV&Vr5@klvC$KjGtgMMR6HbtcwclH}%8bcuvclt!iks@*1ZZ7c#Gp1la z1TGoJU7Wa3i})V1-Hvv~h5H`X92$=|@EWjupe^`9mPr|Z$azQ@Uu zC70h)pMoGgRhFkeiM&5B(#u4QO=i{{3?RswZ&YMMB~?b*>x(wmi6{j5&2s;{Q8YoH zT11AJ@BzEvVBwy3cj%~TS&WZMeIn_3q4qg+3s({-@4hRn>wByz>t%(|tM-yo-Zm6h z3b(z4KXTf9u6p#SgcA$Nvx*bhGPyc}_>0#kbn6dZwENcZACb4$v>C5bAmw#j{;rH^ zbAH>vzi`Op{d~y;F}ULjc|>QdRBVG7!{v((-I}q!Q4zE&6<2iBV8%wBI+(dczF5F( z##UP?n6(L4ER->02kCEnhU7~`TW9R`D}vdUa3$iaGY&@7A%AO8$KTo0F+%baU#|Ph zRJQ^{n^I##4Y2QXZ8obER;`i-Tv>+UO)e!EkBoEUc977UaBT_tKGJ-)r6&4v5 z5fK#=6B?5k6Ppkmk{$;c3g1$az}1_P31(jNuzWCcfs+fcx-AcvZ)P1BxFS-EVslXg zS5{8GFSau$FYkwqtEefxxFxf)W6Q$@7#@%;KijxKZ3Uj+LR~|E^9z=@j_Y z1oqpVJgM2}qakf!$NHJqp{LG0F|_=Fju^#_prdU$QcoLoG8;*-<^+7j$*1Nf!r0$b zw9oVEK|~xO@ij(UIXP+;{XVrP6W?lw8^5aWv$AR#DR=j3qZ=S$y4;=;q=rx#D!!Ve zVt#$!FO=hz9CeDeWwx`(wH>PN5O;%8a}C?_?PT5-AiVo7eJc znTD0oaGibKkGo_x$sEnyf;n~KSi-X_cb|`uMi(FEAtI5NaI+=9y?Y;v5O0$sp~by4 z#yVSNE^b1SZIp6G`byVTrcMM^kF)JNB)l@WvFlZt^MEIFZqCBNJ!5ZMhxDFF1)Vpo z;$!B27SL0)JZF9s_~UE{&QW_Ul4 zzL5GPUZQ}SlFnF;i8-xL?tJ1Y?fcx+oe_PuB@bjiO;9t^}(AV+KX0$ zAyVuKPI8RXkRBza(uZJ@RpCCkZL* zY`SOhuA|Avix{PiDZ)iG^m=xF)Xgr{GUU5!P#?1`&*ZS`;tXXZhyBJOKE4ClWc|W2 z$NQ=r7v3j5{mNGQP+6vKIH`!LLMc$zqb4iTk-dX^XSnD^2JSd-ynQ(hpL}I&v`7Ih zgHG0b7{d*_a+R`v`Ch)KN0Vz58kHq4sI^hE_?=wS@tO2$i+ABWNj-I#_C&ibl0DZL z{o;(Ls;H9)&QLB=IeL)0n7N6$LY9%;U^asXyZ>tdnq#2-?e+^O-NDm5jYZ(UHTZn(qYDA|E>pdR*_IA!PL&J>&J$He+juO@2y6<3b6r-?T7 z7GoUWX~m`rqmO=Ieron&cJjdC+|1c{>SJeSu+qH-%*_rxS&J>wUDZ$X*ThK?CV{j| zZ3Dx>uV2>$grY*{!^BhTJByw}vCf1)1i4J>aEFB>qv4W>Z|o?Fk@z6L?OABBm+Hj zAyJmREdOM$b(|5`?jaF2Dtc-A7%bP`B@FZFS#+wI?;}2slTy=kv``A++}%?wD_ZMh z_c4U~!1+>zTeHp{6(KyrrKJ}PW|6;hto_|W=l^4!^T2O}&NoUF8WX)1VziZ`Z#9)Q zrerL{>e)r#8B%D`ko(PS!bE*4!(aI}lj zI-uB6c55-wqcY~9aCu9W!D3PXO|14g#nxJ{#pDR(*eBP^TN^VLzs1|d>O4|xYi(Uj zNvn+2eOKPrxw@E&rHRwCRBZ2MT}s0#$GvnfZyyw0O2^y9y$)CG7`?TW(Oen#HnqHC z(qJjGo93&2iDKuh*HYH7@>heV^3KJKrR-_DuOEjLyH;D5a+WK<8ZMRJQzZRKz5Q#Y z9yrXdzjjc5^F`^chq{s1C8)o2NWJcmb(FTA9S=sr4IW1pud!owv18~FPEl5-^k_U@J0a(9Ll%Sxn z6q-Ydipz^jDgY8LDX&H|MBpn&ZDD2Qc+hR2>qTX4Rdsz;Z6ipxArTUE+W;7Ybi1tu zLUN(YtE~w(k5hj&uK-n%Q$~9#Up_RPnM9?y!lRJ@+1_91ywogw|@IG~r9dRk*mmIMCXjrl$=*j9BT# z=sW9^@ZcSp_7rW=qih<)^D~x~+FgvZPTZmjq9AhZ7TcF6%4hHcU|F$02lFc8nAo0E zHh$tOG2C3K?Uj^X-E8&Tl1q=5+qqcF?}+*msg|yPL}daj#IhxteJ8-boNNpVuV=dD zC(%Hmb=;Yoij)cA5mXZl!_`I$Sb{)YgYsl3Ex%u44g7+v8#OnNUl^3ueg!`L3U5ur zcaa9`U@kx5sz2*%=ApESqme10KA&u<*2&Mxf=xgmLh$j}a^ zriX5(1nk~xXHhAWP~}jxWzR|n`$Mw$HL+&Ol8QKn=g#kDvKI5YM%END*RTbOT$P}E zJKNfJts$`K{GwikeulU>=J_pvvnaxnelNI_NaM^ar? zO+$HYYf0^w4~_lrTfPN1@4aaGncFat*0!A8vY6YpT+uf1v3oYBdn2uDFK>`i+Phu$ zm6AG1DW0Po)>hTkgUbhW34;1`Tgzd2)#2J{@BG~P1yrU%I|>*Q0{0B)NdfagUj~0c z1HlOLFAfQq4{GR|9~e0_6V?oEwvMcW!Q+vs<(A2Puvevfa<_l-=iu~y|J=dA{9$hB zcW31I^!&`i()8lW+}s?vj=<#5+S2^y>dNBk2AClNZ7g6H)XMty+!kf-CuQa5ucGFS z4KPv!`pDNeH^E@h!R|JB>nHfe2`(mZJ8kY9K6Y;Wq-_7#1EWTpdz9b8Hh7~xM3nqI ztdj)y)&B_F|8!UXoBjqAs!#pxg=*u4f`~8a(cDVGn_xwQ+Or>$H;U8gk6rQQyON+C z45Ctf;I8K)Kb|)m-z_)kyuxXOmWpFKajEUx8UiTB5(Pf+>gH)n;BTob} z?UkQ!S_WTm6pjza>o#IW!%Kie6OZXMJ2x=m^b2a49h<{w1S3^%sM!E{8B-DJ=5FRk zRVBL=qg36sf{v<6jZ^d89Sc|C^6MFo3dfy0?B!yAkRlr)TByn!pxSLMXmZ)C{+O>$ zVe`#|ab4?|V4<|FR{yxNkl+*Cnj+0{Ne1fsr%LCd-mqg1QKlU|$$}Ow2FSP=%QZ#D z2N67VDUW8hwbKsws#d!k{K6Zk&!@(>(fx|Z zql#lt;83|(Qj>m9>xqZ;nvK6-=hHykhewb1?Pmq{g|$rc5QU2()~!6 zy_e6c(v4He75D_r6#)&9msGc8PucuQBROthe6G_t@_(8p{{^A?;Q!x3^lhLbY%jjCC#QMjXjgQki+zX~Xi|4@hiueTZcP$kJqJkwrAP4X7&Z4Cs zz~d)qYJOeV7E{s_SJq!qS(9GT3m!hRst4ZJeJZZ&1uK8bng)YEZAa9R3)+{{yH|7i zH&gn4Bz04AdiN^&zZZ>Asz>)yCMoYHD77{9;As<7IDY%yej`%Bb0(;2eD3T84RE0S z0ZgWVhfI)3{q5UG?U(uCk?~(j#w2*W{5Cc{IK9|3L+P3R2_7S7!LMIjySe$5h1Fkr z#>(32=ElPM_t|aA%JGH;_Sc(%fI*K1w2!M5{Tp9>hYzeHP2FC*T7KQ+`+-Vf55)& zcUbWqkBSdJ@AbaHf$^oo3e{C%ak^7%eCCb|i))7!s<4)eNdPIBo-1W;xJfy&4z#{0 zt8dITKwxP7*s^5nZ|8yzKi-3(a0oR_Qg?nXJmv7?Jp=6)(x^MHc9{u5kR?&G+-!00 z5jqSjs{YX>>2g*r41Pj8s*_;(tTRUKFu>l6V-mB?Dp)g{l&42X2lOE9bJ=gE86R5T z79*4y3LIW~WhPlbY1l58XP5=QXCJL2GS<<3nYqSMaK~Y$Q{o|YAjbu|Z`vSr-o_%} zTv3;V9}&y{hozs`-UpC6UoQD`3|pgiP8?@zX^lRl&gTrooB7JAVZD*JHDU_GTo7N=2LtSLuk=F;%#<0gx$`z#9|b?%X31#i1W`DR zl_fx=bS_y}v>N<$pGi>tvlGaC{q{c%E1n0bs{hm+{lBSD{eLN|GV|Xct76agXD&tI zFGjDD+bdmSj%Hwmwtt~(T8m9$&*S%t;FLW~m4FE9U*u_U&>m{Xzk=JpF8L&IxcU^0 z`B$&MY$Jn{vZl5PbO`@BEZf0LIp`DqJuE>9`1ia7y<)!$(ZIVnI5I)m7yJU}B}nWC zzs6?f!2$WZMH-xu;4OQ0nGDLlOKac3SqS=s!9lq8{m0+W!p&XqihO7i263Js+w(ui zA^dN;ef}SQGdOw`{=K6&TwcEXPj*OIW#jMm>d%ETRRLc*`+nub%g^-sfh7r(Q=scO zv>7Z{0!MG%IQftr^8Gm#)6OB#dK-n%7eN1t33gnSm}+_t0Mw`~2E~Nh!&=lmKXYOO zFI)r_$CIHF8p?eEJXxK2TgiJKuCtdU52ry0U=z#4C&9|U)3-prR}Xg}v#iHH@gd9? zL4B0FxLJ$AsOzwfZBioRWf(oLtV0A{6asJkArf2Jhqs!NQLV zF}LJy3yKoQooSw<+zlaI`Pdm_mLOamY|64}ycd9>M=Y0QRJ_eeZnccm6*Uin% z!{bmyRq}nWOeohTmTD4fO(ICQ6S_p=zeURn<*qTYWu|C{p&68^y%8W9`!HYGFp zu&F06`(06PUIF+B2M$wEK?V6p;5@CUILzU_de@pzaHyApk8fZIFRQBiw_fT~GUNYo z_hUmNsF&uFdVfo%#Ks>l+YkOyFD-AMsP3Bit(T?`QT|>seYZ@>pE{IG5AjNkhoFD( zvF`UX9e9WZkxDIKkJzuLIS}{{;xl@B!K3WR@aX91w{JB)^WbQ%AJ}XeT?gOgz|$-! zlYXA~-afwHHMRR?=4aph!LMh!U%2MQm1Pjs{7V!CNA}zjd3j|6e6L$w-~CHb6nwr1 z3s^uobniP@XnFWv2a2MHe2rfxTTl)?6hgs<%l#jq3i|ui?(lF6mXsczZU32vyZ^%p z`#<0I*Zc%P5tZhz6j7C#1XTZ?|0t~aTKUgDD9(r5Ov3l+kIDEPl--G>`TX*{Lr-&! z9bTlT=$D8ZlcMeIv5DYoZ3;~kJ+E)duv6Q>DnkQ#{~PISlS<9L$&1h-U8#sAb=B2` zFr3)~&irI8_|*rc`N_rk4FL04nI9~=`jicYn38qoYnSWz<@T+((3`2mgTkF@7BToF z!^DHDc}vYTQhnG5Wqj&01PhlPI7{40Jaxg8iQ;Zbpg~_GI4QjAIBbtQ=_vx?;e`@} z8!G50%=v1(sZJ1Osn`~4Y{m{>C$+9CdGUl%qyQksF3{!FIa> zjZG1d1)j&Oa`l<7OF{l4?HVPep22&s#?Lo@Cd)q0r>D!0nu}*`IqJx}^3Pkx?q6(GI2=w*gJ7nEvoRy#NJeH>Rysyz zK`x{i69YsVU==tjD#XgdD9X++#CbwO@Px3`MQPE~r>_El4gkFc#TrOKEiM6Sm&EU| za>5j$Y_~a)_HdXpaKcE~$cDLS{E zImpQ>%kX;RHM=J3`wdQoRa6C)blC+$+b3-qQ28EYTxAlIP$GWO4QK$$a%T z?NxeFN=gdIq|VOCNzcki%`MI<`T+7Ci%UO%Cz-Mj?@J3ag5L#q$A=FW77rGG=qbpb z{!p=1Rx*$o@xG%dXDVZNKX~_N%<7M4&2=C8+R9hEihdrX?~vbr>xeCQ*7YpAspv!P z>$s_v%KG;3pTkwF3k8(!l(CO>O%?Uc<^5Y9L0zt{5q$Y={?s_w`w0Ypfz-#ofuWYp z?!|`Y?S|It^?t z`Kh6)`PRMZuDu@vYeSQ>gR|R1+mz31+f&n1le1vc(bC-9?C#v`+|QZK&Ewlbu$|4p^+XgwLNggrw#^&ZiBD$?OB|z;J1}J ztLI~=)!8q!O|dbTX7gf_lNIUAB0B#x2( zezk>fPk+?SFSOKuq2pMM5}WvPl(wl%q|ug^d>t@pD&-^BZz8|4H$f-*&IjEVh!R-1BV$D~Pk7F2p%ZXiB^SzF6@& zA?y0YR}6hZu8>`85$6k@Bm<=}f$8T==?7nh{rY?@MJ+W8KFmhGb>vU%sF#os4reL|Mbo2k1PeHBW+ zCKxQd-YS@#6QRZzg@vgLy^Kx%Bp#!FB!s`d^OmMS_y`{1*CM^CfeupiQ4l~eLa767n-u%f>Q_$KdIcjJ1b%iuCB#BTdW2~lS za^PtZtsr+2^|6gG4yAx_U&Z`3Y%gQbB@t&|7FEX!Py+**BMkhKe3pz)5r&<4$#GO- z0-Uw3isG|r4V%+%S!;8Qg*}+K+IRS3gLy_(i3P;l>U^)JeCZk|RLdQ7!})7XwHhU9 z1f*r&a#dp+MV69?3Pxw7Hr=&^YUL;>)+o_)i71e&Y^aJ$ZcI!c@8A<0EcJ4jwD#^A zJj!-4=8ZdCYyumQ+PU!x4b@d>`H{$c#U4d?6rQx1 z7Gr9C-IeJ}h6a@N`_JTIkD;5liIIG4*XmDO(tgn}a^TBmX!3Wu7<82h!KWlbQ&9OO zgp;74KaQoj>~DsI4KZ@Bx~oW&Yx*9TCTCUKD)KpzkWvi_+~1ODZcQg)9#+2PS|HI} zdbSzDm)gs<9;R}6gdy}EHj|T#V@&xWKiEP$ZOG8hrqp2GrT8J>tq&a?!*}J^qkb^Q zT^{8{*S9azl&%(3e!(2a^t zXPt>wdEND5{kfVAi*A8x0Qup86|Wm~FKkEGo)9BwhQl<94r)g#(wgK`L%dF)ulh-@ zNZHB`%lWam?@&oL%k2p7(3uhWj;$uD7-}Ku-OKnJqH<_t4An!A*6|mdQ`UGO89Vt! zK$kn^&f3`yvq3%%X>;?O8`iu*-}cJk!jK!bwuUD;*9Yx~|z$89Fz zYiK2Iqtwdhs_MdYCiFq#GYV_nPUC5jq#*oeFV{CWb*5W5*=i-y`P>5vj0+M(X7J)cg_UprSc!gum%;O&<(>pU+k=VWD8O42m9u4r75 z*Uh#L%QETk^EsOqDQL+kRtA$0VtDOGut2C_ee(SQT3f<6U9<9e(U;-0+Lq&k2CQ|g zX=cI4^?wev>eKKdw1|$3eArP^1NWY+(;rI^megHpX_@z`DzA1U-Z`oIO=?JZI#@7n zTeS$4df!o_?k##DbWKr^32!G8SKI-QzOz?5P5mTCRQ|>YAAt47*DDl$o2$XNlbpGu zpzL~x56pR{{x_uF4t7#Pwu=+;Awt4(Nc922nE@@LROL9@317!q9{%)PryRZP?Yd)S zZ%rP!t|zWgZ&dPLxhtW@&RNv_UFAkecUIB#g6=GQCI9jL5rc$N1~#pIdcpS#U22yM zRetu?h&?FHzOsZrcBwyG%&jbadda@&(ichZOV##1;L+A|aFsi&qNs{|yQyN7<+R(g zIpZ}q`n~q`wFjYy>V=5gUSE6Vw@W;$H@uHk&K-XfUJ`cNDdYP76e|6wPln9alP6V% z2i!l)!bgut>c9bj0E5i%bIFW((+8~jUMGyu>Zm?ut|bSbiGt8|Hq{oTkNXMgKS7?p zt$cxYE#RX2M~n+OfO2XsEO32Rj{XU2`*~408x2$Q)jKtQeWQO+zNa_re-EwNkF$PK z-SlL8Km7?1`-I~5WWPx=j{LaThEUW*_@3?|C2*f>oUR6Xb-$Eplc2|jI4-M<r#{0@i~L=6`k|h7~_(f!$?Wd!@Jbp!2IM{ z{l2aFD$V)wob?lnWw<(^##ZAE(Gh5h#zy9QLS)aoO3>A)cs0M(v>69uaR^gBZ!Z7q&@VBe(pri zSR&Du7~D+EpriyoFC)su62shyVN$-DJDwFh-kfsYX0G0e1F9)JV>!a=$R6Q>OPN$=Wzd!o=-ldEu za9Sl0x@N?}5`4@XQ;xgCGfua$ez#}fd5W#UH+_S&vO8~7%?yi!KlBEV#2&$$8$lV6 zMF;>b3k$^2xhFm~X1!M}9AJrf^hNJc|BFYGvjMHKm`R(*vlmGaz5-5j&_pg-fdedvoTa& zBJGLejy;s`_rza3S_Ej$ySa?@qf5tJ{z#{>C()#K8GmKKYg#`a*kO2G7Q!MOJ>MLa zSr(qldh0CAI%Oy7q#Ql}32YJo6DOOAk0Dk8+BzY)Di1sbK%0j-v?xcOM>=+wqSEn> z{WIuA9>mvDN8d4Y8O~`sfNmryszWXsHXfA|`FuDwJeVy`-yoP38NzeN5+lTjKk^i& zg`-XNz7wqrHN%{@#-ywE3WxfgI1^R}@OsvIsOZ^_fW_W?2X*W~_GEQD4pQNMTQCIZeGCU7IX*gr8pb zWoi?Sj@^)+=SS+WbaH!Vwx9^w=4F~_Ic9^D=GcPXz@`s~r(dGA>_)_UT#PrcrXQM1 zf07kj$$*j~3uPuLTi#@sIL{t~gGu@zq{J18SsCf!$n!ijIvaNWekq&gc_Sp71RRVY zewvI2zu~m~d3F*GX35A2X3j1UFw=M#0hi@}@z|~w#t1+xH!R1s zJjXQ)lkScAMt%GL{`ge01yI>&5#kt)$S&1(Vqc;C{ubC0H`1d?bL%k zXtdz`r6wS0vaAK`vE(oqz=KSNzyMjG5=Z|T2cXB^y=busA$jILz%XC|_Z+ES*X?57qj4CLIB-tfjxXv&Zq^ZjTSvEevYQgoC1I$>Fcb%EGLIp~Tm)Sm zoJ=O9)n3iHJe<}ameWIcd;cYNjt8?BSKMug?=?)({8>yk#b{lE$@L-iUO9av2qnwG z0RnOxfWh%9DQl<(fHzD8Z3F<~;&k&AEUH!sMb^R8%HBjKY0a)5BV$pkBBf905bjR_ z01HHz(rf*MBDF9z=jb2P0r$k|YsM;P@epcR^b8MeQJC*Rmr$Loy!%NMTVEl~7_ih? z{S8OY6qQ*=MolCF3^>e0Co+Ve{WI3+S=I+3R%fzy~I%3Fi`Abm<}zd`1s+&(ahrFn&R3^m9avv$oR@#UfSai*+cRH00%siWj_x9 zFL3ldo+^`g7!?4}kr3R&98W4d8E_~D03rqe!GO50J#da(mdyj4#x|irBq3b&v$ZxV1ecz3RQs<*P^8q0q5)^<*@&Hf* z>^nf;iGxuCfEW&CC)|xh=@37SN%4#r0{6E*)@|+(eB-bpwzD6q*JLNk#!DO<^!upa@5AEP4fE z3S9tt8Dv{wvb|@xfFe`+P7cWV#4ap>UW*QV`hN&255TMMY?i) z7fUt(8IyAL?0fSA3gtnGzzt`jfg+$6gQd?I`#NGue~SY-n-5T%qIa%2PltVM;6%*=G7xfe zzB7~Qr#Sf=n7SjFIRa*vTwC%oH40ty4m)wo4%03hnTMa~7(>;xBiLML>moo;28{PH#zx3h zY@@b1EE7U6Bn$KCh?R;3}PqN~Wku z9Bn>sss1bNOxVQn#}n_yXs1kRwZ@QL+{SI!El&i zfbxAb6&cuA|Ag*DBMWAl9(`CQ1GE6|y%1!PLDs{OVS*`rG7k`eLVPEHBN-NfMd}FB z>z<^k_gI~y7L4t&7>Sb@z0+{dZYi-G2D~?yS z5gM$G=|?o!Yc1$wDxsq|`lIcLU?-pz=%pWBTOqBD-2paaxX{DTA?yY!FOL*$BHFh70tNWS-p*B%OiL(sxd{{P5wnWH}Aa`r_h(_7su%F1p<{j&zMzBzry~dZr_r^Y&GY z{M0Dc@A-&w`B;2XW+43wwG=6>zKcfYgGByN>YqZ~4`3O6DVknPT#4FJRoj?=($3T!yVqMj0@JYph(MZ^{u zn!K3@KG3{&J0syufKJH19JA#*f+Yby^D4p@?5Rb zeR(27#y_oQHAy&;NQ^mv@6x}8Tv|90e|Ka)T*2Y2Wndbu|I7SZL=m%_(Y;oy%-nkc z3^teCyRWpRxpoxD(Rx((c^&bq&@}&WY00Q5MB)G;Ef3nO2-pD(9uAEtPo(SuJtOGpsMd*`}wQW&0W@ zajMF3GqJb1sn~6my&ujPMzB4!HhC^#J*8`h9J0FqER&MTd5pI$j9braU-Po216L!r zR)}it5`Tz$`IS;C^G0U9=CD^N?HjyJM*@>OF9kdHg{p|v8(Rp_VrR(tbd%1KJMT%rKj*WM7dnmpSnc&XdP#f=}Pz?x)#YHT;G}a2J z^$t1m?QoeYLKu>b3YHojYnw;lmk`T#1pq3jGUfR!48EGx)Q5%BxL05#UThRQga24>5|C zg(sozUGpDhFT7B-JbTv{8(-At{rt*i%~AFse-&9iO2k9IY!`kn+Lf4YZ#-XJ}Tn{OGXGHA%66R{P>4kh;%#3pQq~gjH zd;Ha&wzpZGWUD{-qhykU+OttS!yEJPGWd*FHYnT(3Dp&N%baVfbn>-Xh>Q9pGu@*G z$yo1DtECC1G+e+5buEmCwl7P?n376v4d(ucd@RT)DWb(47!kc~nW3b#aG%FgJ%d_HPPz(vc`cUS zjCBHg>k6F5B$$TF?_AEM9k?U`@H>{WMWajvO~&F>BID^ z-g%m&MQX`>h*f?a=JA$22h^U9nRPqA0GA_$6&P$2LvU3SPT(vrej%snRUJ2T^n7b~ z?K^wX{Vb7F_R$j&J09D`13tM9B_4>}uV##7;aUtT$Cqnv?7fZ7B7J2i>iuiETKp(f z`Xvd1av963*KcyA(CXJ%_vaH6j!I1=z1wmUE>uX$xp{MMf;^+wcs9oQk;YRd_Q(fD z8ylzfDlU#ekMEGItnv+?k3G|KkgH{+q%HcNtsHlE->Gv(6g>E1`t)@QKi3+9_nAbo zc~UWJm5I=XsEe1iq(X1wTd<+SSX9itRwNtvn#H@I4TrB1Xv~c9zFa6X!8dZWH*hOw z;-8II=vut%z3+R!!tALeQw%1sVV#B{W#|k)RhvX~f9%=)JIv(xAw!@e0$kmaT z3I%;ar%i)B2)!gv-F$<6uPFrG%i1YClqQNWhi0YVNMD|Yu9cKK_|d_(EibZAp{X(3i&TtLGiRw%jP0 z;ArYAz2bB`y7>EWGRCdnV?AUb7}UdelrMdiz}$#cpP3A6I!XO9ShsQ_u?rU<;*}Sy zR|Y-yS*qbgl$NX2Tq_6Hw9;w!n&%HQU>rBo%g-}$gb3e=pFI9SN;4~WEjQ43$wDu+ z?D|5jS6O(l*%_5#23m0!)k)64XUf`|4>9+~d^yj@(a10bul`wo}&d>$HxDi8^ zB+LZ0>K&FFR7}<*n{=Q4+GOY|NzFe~2Yw({T)gQJ z5EcTU)Eub5^KtzZL0R>W?IPfNB*Yp=&9FoGu>qVS(d@MXoazLWFtr!?52hVCCLUQB zr#GW;E!7_4o~?8QiR5KUv%Y|AdMhgwFE3JDz3k%6Tt>i3Mw8F}u^vfaa{c3|gPaS_ zpLGwAOsR1p{lQgVLqT<(JO-C%BvZpg<@qkldlGZqO|zCFNwE>NA}B>U)TLI>=+FT; z0^!X}AYhIByo8}haXF+roSC!k`z0DyI0P%JfX%4kaINE7`p5*-@~BH45tirolZyT+ zCdB#fCI0dPtU@kc$P$XGiKKd!R0+3S4b} zNWo>LEdwtqHt@rPU=K^_HWi+E78x!n-$lKia3G!WC8hbed^2 zd7!~L&9_-;D2j7F%CdgXT;cAq)GF@q(_|kNS-4gP%{5yeg)yiY02c!S?-Ss%v1-y` zFlAhzc^NFBM@>4`KeD^-b*-%9=0*Jz%?@m;Z`H3Zo5DVMdr@Fz;|dl;TC2 zYimMm=D}x?!FO$?`&$~H#LJ|LUMrf4-@Wre?_u|Ek}1&Do!M2q?SZ>Y5@)OUWKdD1dfVj|`912V z^Xi{B+dOF7Kj);|CsNx9w|A!mmm!;w$`L) zS&-bOP8sLyIPXH|hQH<~5cuAUc{=CXY;kLeqH5Dr>ugTz3}>L8oa($~Ynjot`>`~V zS)^Q!me>L0#O3Rok|I6fG%^=E1VjQSFKgbj4ZN55*$p4)CRM;_PxIpGb>U!|`|dOc zQGtwfo!gf+clw`NnAt+I2r<%a0ppPTf3vKS=yh zki?anl=F@^&uH9yA%6Wr!p(~fI4MV@bneY7qhDGpzkH(AltF9DZ7I{Xcc0_ZR@CT` z-TV^Wd{gO>wrZ7(vJO(^x%RcH9z;spANAUr%RRxbwC#p(T<6lcp&@}&3Q{SAwXhPLi=9RnR+y>mg@2|7mYIxZ))2|YTu_jMdHdqW92rl)i*&e57RT$a6}Ywf7p z_(gl;h>lHyuAN4ZrC^_3d!KbxpH;8!-E)18yX`G|y7#R5J~8xboYK3$-)kS;cmI)| z?zFCZLcjj~6Ryv7J=*(kMC(0T*3+EU8QawJF6nu|rSGfL<8wvdAFch^SU)iJOTZ)j zpetYe67(rgAKkRwy69G=AJX1QT-Fb(>I_C3L|pkCe##)Kp)FLyAV#Mp($N5PD86`Z z@G`d{I@chcS&^{S6~8Bb*NduCM)lKSH5x{ZRbdT|M$J@T${N0Wcy81hJ(7QF zsCCq+DPiP~X`{~ekS4TocZt+z$DWo`#=RwF$0fCMjEx7Bg6f_d4{#X|362g{jdr8^ zxgBqf?i*7grTV`%NR6E`89rswdc|bQ-^i28B-zMhRL5ja!>F{OfByOCNY&TIXp?31 z$kMV&{j>>rdU%!V_UaYmtB;H~tVY(2Z?7wT!`;8#>3DlL_g4OWllI(it*N*7?+-69 z4<9@?T0@T&Oy7ozneHg*Y+W&}L_$70lr0gIlG|SRRijn~pEM8b=0&Q%}rk7E%&WvL)z zsiXTYbz6L zi#)&Es!7aZ(;R|UcOGlmeGRcM6|#SA?UcsaJ>Kbnv2prpeJ{`2rE$i&Z^lK}##LE zA-8SNQCmuI$XxJOo2MOf{+hM{Gq#~$=lr*=151U7jWbqP(-X_hVq~q(D;sj3pN!Eo zhz*%f%@s89v3{90jNTWG?zr>j;7%gOE{WSNSi zS$THZ)pj`@cDY~e@>cBL9oXe#>9Ip|h{LDX4lQ{Ot&gG+Fj`RxzzWQ(zi$HIiL)H zHAK^kOKS^ri|Z3V$TQpf%ak8;l>Np1{naJV#P_QKdW*8QOCcW|kPm) z$?|WA9)S7!xc|_6efnXTG2ZDUS=LcAv)*WlM+z$h#GJP19{CiBrJ-QNJ!!dGW^HiEs*x@8o#PqZ z>9{WO`|KrII;UC92xToLCyyQ#O?(KJPvi{#w)vOl4!_5P0o>nE?+vgmREV0kn!u4p z#+H%gkw;J`^8(!qCY!+S36Mcn2sTKcy%Z$NOB+N>EBVx9Yuqo2?x=EhAC*PPq80$C zKU^y>T^=qwgnAzaaKRMVG0n=dwaMnllear6KWzMhdTUmdgAB4Fd$267;`{3V+C6dT z^8fdyz$pL4`Fg*jc5_Mpg=KNfE9Fb2Ak>@OcybkldfTs7?W`aDleZlF51;fv2n0fl zK-vQ^Pk=%Bs=Ahzrp|S3E!<5#T>}HdTgG}u7PdC_4vtQ)t}gc<-1qbf03TTZ>eq)( zY-B8e&H(5N0jg>MQVyV>F$>fH@J|5h3jmA&Kp()Cb5g$IqE?TvTGth2vY^6(q{i$e zBl5+YALO+t_=nrSCd_&qFcr_T@|I&cl_${eeqW+jU+%q4ibc-jrxos@i>|&PZt*$T zqVx1=G%+GNCN3fDWqd+H*3-x;;)@TFaiN*<;n}a#($YZA;`{W}ckc>w3i8X!%j*a) z2IFEEqQh2SM%O3$j#a*?dHuF4IlDizwE2D2P;vP}RwiYm6r5L0<@FQQbzhrFy^S4% zt?hkaomzKy&%n@B-KVX(R&q-xrRghWxR3Jf>$k;0%0lDV(!kVs_wGU;Wo-B-_-FE0 z%6jh}rEi}yIMqKs_HBHAbo^j=?Ay%v^z`(?%=Glk{M_sUXk*@(o}x^QZ_do`tt_l9 z&MdBv?XN9uf&DxC%OK0@U}tJu4vIWMi_BVfS|Ffp$|M|VGNf|SATmIZ2JN0IY9?F*rH&M<1_*LnXi?KUeCAw1*bZtC~sWe!z-Xl z9IkNRSXd4Yq)QNUM+}bsf>Zr59zS2`A0k^!{55a|k}kP73r|2k6dvZPPS*1yLU`o; zr1-CDXPiq?B*K{)G%89RD<7;36x7wp`S82UECt;R)J(WoaTgr8@!3!+1d}+Z7IY;l z1k$4I9yNz0&42@!qC!if$s$GUPSU91S9e=)WA9MopLndQC&W=BEk{1vS;vz zKobvyER5Jm@IeT^ZdPQ2mt-KAgX>i%!&TW?348$PPJj`2WEFXNQ2E}}*N76Gv|>W@ z(=XNr5vfr`zcp_f7UA#!I?)_bDy@VzWG3GAOcR0cEIge1C>tWokNZBgh_EA)DX|$6 zjPgb>$?{AXqmQfeHYG;sio|&aOECvB&!8C^xR)O`;ds76%;z&RtfybUU9bwT!zk-h z!j-svQR_6v-cmz}$1=AUPTrhnD-_`~+{F7c=}C<%aX-mOqE>J!gEX^$1pAqBby@EN zIqwqI>X&h;O+bDEFhVSPp%?jwrcuBRSY9fUZ77kpOUF1FM0%iF{FrbFCxzvK5& z_u1UU%R29ar36O;Vpw( zx2zrPtnb~u^S}lF$m30Q4<@E&+fl0QwGK^SYNQTukxb<+d`(+K+qz7O5g9PU-wcox`s?#4mE zr9JVIc`4=CE(O@9oTpGOS4Ka~d-te08s8S@3SJJt9X^ta-=bJjDEE_H{YpKa&3XkA zi9|nQa9n6eV0cJKTx{ekus-#5wr@~XOwyaAq~!FJvfR?F{DQI%Wi7FR?ExqZ1RO3zHKwGm~?(GYgCJi;D*UK=XBLXU6tPR$h~4xE$vBMvJYDC@|?V1R3+dWW*QI|^OTBLRt+iSB?qNpM0EP` znm3*}Ze(PtLV&=r_<8}QJz3?W24o&66TailT#};%iyEuDsSq{GBiS=Z0n{M18XwU* z>%`4AwV@FKOLuQYfzQl*)a>D$XNU?!ro#E`{G$}Xd6!60pL&iP>a?Hub+j3XocF{n z1G$Ku42uQL>rU4mu1m6*eTlcEK70@=%@5)!XCi~QUrR2_Y#t#ESwykYeWGzvl3 zMdcb+n>L1ApLp*E#+y;jjj2b9JPR6y(?uC_qo%@}xWs3>niWbj!AfmxJBL=g)c2(# zxmymrVQki{KJ%YdkB?$$g%Pf`$lFX=oBv9scGPAkY#9G^{=q+4+QPdeCB>j(Uf3A% zBULjWV@ddbe5dxGC9eO~q~`Abo0oR0;m~?aSzD@@+ox8OAL}njs5J3FwKjA1jo4=O zv@h>l4(zy;l>(q_guJ>d1@Qv3{wo`we z%Rs5a|Hs~YKsDL6+5TySkU$a;5d;dhKd@B(h(I4)_~Z{i;9Xp^p2qyQ3KMO zp?3_u1qi)E=%E^V=Q)q>J6}0d&dh(#%s1bh|F~Q%)^aUO0q*PG*WUX#U+{b~>v?sv z_IlB^jiP&F74Mcyp05Lz^T4f*--FmythbKuD2eY}L6zXWqm#3%ldG$fqnoRnn;Y2u z^2Ng|IP??P{u1rx9^>mB^XYT8M?n17@aU+hoYch3yu94}yo~JZ)a36e(GGQ=16V;H znTY|TIbVxXI_TMNv!;ek^EvH zs|?7i%quQxDJ$;mtZ(b?Y47L)8IFxLbz>D(%N4aiRr?qipl)yK9q3q_tX>_f*xan0 znXBrb=pNzxQd2i3JC;VffW^j*_2!L@?rCm$S6_dB*8tEnFy1x>0vAPixcbs{Xr?fbUk;fVj7;J04Q$xc& zJhibh1B#(BI*bjH{egPeXMmz<@8~A<#_Ar(YTwX9))wozlEPt5DAVRVu#ONYR!2a& zM(~>aa66=!71@r*G<~*Y-?4cH9Ct>eiD#QOza~QPlxTmS3!xlIqrg?^o}#>RwnaPw z*ir|_tw5sfpIuQjU0d0Rlz5;Wr2G=5-5vu-;celpQte7WRBQ z84w3Pd&s%baM$vdcD20SgRyEqRGU22_yzWPTD$!^=9_o#i;JmNmet*UFTDXNt|;7S zL@YHsVx(60@E74w`}~s8^X43ArJN@TrYHUsFYECh-C=2{MrXxOrXD%7B%J)j+Om3g zw3#?sxkSxMd0zr?Vk%4Zy!`HDYqN=}-L&O1deYIXh-&2|x>gM_t9!s*2`1*DoDC8V zg_0pbZ>o34LSU6L9$aZ%*=%~T0dc z>ZqFsrVJlcF59COWALdpk)`-=MpC}&8km}7Q!O`AFgbN;*r+}{XCy*nP#2@*ScfDA z)@gZ4z7e(5+etMv$r%o=P??jkX}<2F@UD(qjM-O8s*KFi8PE|qtsz*Y>~EA>HhYC2 zvoPpXk!#2?a@2Vc-%3Hzz`?xWz_UajNWOz_MkcNLNy&ESMfsfI^iM! zzb21}T)h@C%t9dOQuJ*JZGxMRr=KdLvz<0)?M*Om$y&Eug3`^l0 zg;V>^&hTnxH+U78p4vI0z^ALOMJS~>?OMFccQs$jlj1M9n?*+M^AG308SD^>WKr%>t;dxOUWo-92bp~uz^5<_I(3#dqijeV6`l4?Hnrkb)+31o|7qk~pP7A4T-idW289%U``&@AtE@raAcbiTK!;^=VjMeFF!hnW4?H_IgiY>KO{(SXpW zUAmJFPVdqYs(cRY%0~oXh=qUrBcr%)i;Pa zBzJVB%G5j6KgMWS@ybf|rMlF>EatGvo0S?eHZ8cqXhiMP3iGZ>T4)<{S;YsW9-t+vp;GZOC@Ph9R=l?P4q(klok z8dCOGqvsW<0NC$ifxx|oKyL8}KE3<;(S2(t2=tFBGZ+GmfJ=+-D z4~e&}xu?vTm#q5C?sQzfH+1gS(D}O^mXFyMkG~f}(h9&F7%nv*Pq#mwkSf;`D6tp_ zT?vE^1#j>1R~rgdnU7NhyLdK$KjzB=i@>q3&X*z`uOy`EC#0N7NWKv2{4&h-ew5E^ zP@1X7_yt`QPaJl^Mbjdqz z*@sQw<|1$l?EQ(irMw3ZVwYbdrkjha+aEfXk5B9;@95Bg2uGKQXpfB8K(G<}j|!fw zob1A==(aGA+Rp*4DWA)7aysdmjhUGhDRC27Im_AEKZ**gsy>d_dI^|+3w2a@_rO@+O!xd4 zlg({qgO!5QoZ+F3siF0W@rBXR&CQ|B*@?}KiRFdi^~ss(l_juQ5Lg6<%Q;{Xl)E;$ zOB<8i@xR02^8fshz|qs=KV$U#_bE)jkDhRhq)|4#A1uOFy3Wl0-}mrf8*5J5XuX1% zhBcd_2|pP1m=!F2v)pr+XDV4b`z9}^E4#~GZiBr)Ui{$YJm)=ET)ZU?-ygkR7dB}> ziV@yveXiz|z;@NtG{Le898NOh+g0G6N#S~{fW$#h(FQw{xSjgc${$a3&Aw`w&VsRn z-h2Qs=94885t|W)#C#Oolb8eXGu)FsH0uG@a-x_{49)935?}EynlbL(8gNS=N>e(P&CzrNT|78Ye0^&@7f%)ctfwPWSRtLph#& ziwgN~VQ24w%#!K`YKb-Qx+b(NQNKzhvQVu`{A=)8XGQhLuc88yK^U0Urx)mPxy*sf zB&A%VSr?ffNTq6eoCK&a!FC-rR7$iiuFftLK1We5=6`kyYQg_ZS|yL|Dw{Pg@@X;} zCIZ)2(uxqA@Q$mzVo|stqQOxvWJXx;y=VWrN;c@KrJ>5xyJy|ywDB{1D(2gtR#tc@ zTXHMyqb;6pzpHoFNP=(|T3jPzX6YgN6a{q=dm-%WuJCRCiJsIuN26Jm<(G9(Dnr04 z_>8_%wD=r`EK4y)#D-Eq$H=Fy(i?n{yjpaK!F+qp=R{;F z!S<*&fucrC$J;*O_Q6JjucjcQTo|6Q=bWAoV(V#*GdEP7QKdKf{6F1E-L5NNFwZvm ziq8;sm!EMIqPW6xhOS*qKJxf}WcaBGAJi5XzVuHd7@tGCrPJ1PMw%zLP=aBvL`v@z zRg70UAgiRFH~XBLOpBq|qjyK*7p4oAu$8-A31^LFD&+URzg@iC=&_fx7Qx>8+2*W) zyu67kTG9M=j)z^g=Xc;d~@@JRaTcq$uozI;j8? z{?`5#DL=@w*CrfuMNeBbok)R8K%jCDwN;hzcIa$6Oo~({NnzQGWHWe(*2Tz|%c8jV zL`T{E(lEf(7P9p+1hyrX!6V0ppJV=-0Hkp-*};1+&0wxjbcpE`3WEQM>m!9S!QG@& ze9I)^eO7kc%?T$Ja~p^k5!xsRL3@?gf}Rzuf{}yF6sJt)_*0lwBt^`_hu1Kf;P+`V zQhCPmq#Xq+B#WRxPy`ADK^Dkdrtqp!p#pbFs9cZ|^qvbRK%`MGf}{5TRKr|GIf@jZ zocD0pu8&_di7@Uu63WF~NffPZF``aVvvikZJB!~mdB$jr>Yok>i~F+7j5)qk1^gFd zNdK!Tq^1AeN6*>Ius`)EJO9;S*A}?FD@1ZG05TT}9S9Ta4k5G$s!c@6tYmBaq0-F* zhgN}o>%h@4pZA;jTGN@A)^g6z6qwf}ylY8*zV_qJT)~6oANLoFuLH%`7l11(MK@QA z9s-s3rz@UMmA#%XdA3^moLl*B_SfWe698=dy}UxG?mphW(Vtu+KKaq30`p?NDV;r|3ez+-()0)}eoIlZ;H_=hh z$b1#?4 zo^EB&PEU=nXC|kB@y+=`U}I=)X>xsiYHE0Ka$^}-Zg#sngdVgdcwk8S{B2Z%RA< zY;k^Uu-BC4>{va~CpGWr4(wLvYKcrw306qXE)@0I^UDm|i;_vuQ}`r(DKGN*v$rb5i88wOuK{u4Uy=;8ovJd&$Q(PY~GahyfSE%Sy*e zkyA<>O(a$~oqbZ;c2Tt?RKIX+^eaA`V$UbXX1Ne-u`+rBb6cNE(Ws}~@n3A87M+rI z=0EF7xX9dwiuQHheqZc1^>Vqu4TzeQptg~!lk|ll;0a4=#qIut@8O-{4%ox(EUj%1 zB>IcRNco|7$&B83Wj9G%MiGxV*}6nX1FT%IIlfGv%)Dw3DdyRxM<^1yYpTk_*C6J* zCu>r%;~~#h8@i^@Gb8DfHe;CyKfQilphFQ_%)6-EH4&o$Ua7Yjdme*QO()VWQDs#J z8CSd(s#o#Mbg9JLMU=!-NB#5DK2*0jrkuK-M;{%v;JGI4y_3A zKOMq}e{~2O8tUD+an;iD#)}uv-oAbH`t{4mOh{Z7Bt1tUJ4Z0|t72$~#@Cp=(Mbot zMI7u76kiO0EeFBpgCVQI(4i3F>2H!f!MnNwh(livb0U;CbB|2}kojLu9H_VN)u7-D zscAYnKhD|Nz0b+D-OSNi%Fx@$Gn*^CS{MJOE%9kr!V~ZSFD$)OTymkl?FLYEbqdf~ z*f3mPIHI+WGo^3<(Kz%yP`gaR~nukq{pr9~YgJ zoe-BEm6I2rnv|ZC4^nBeTGE_j%c62hGpcLcN-BJM8NOZJp@U_91La|pRi8Ei=gFnO zW#H53h+AcKa(j1lV{^_BGj6OQd91E*qq(cAqo=iFs=R8lipec1pD(SNt72|+b%R1j z%|uOae@*#HW%Wiii(B6@+|n@9*tO8TK2^3h!3377HaD5TLV16GZ~tWP)X%2XiH6O| z&bi6%jg6l5#g5LFVP@ZKfA0XOdw@$d4rgd&WSlcHF*PwcF*GzkI8YoYyyMxvs3G{Q=97(t8;^socYQ1)%jm8pxO2H`NgHRwZ*kL006DMz}(V*?6LOW z>#Ko>u=#(&Av}IAV0TQUk^cFU8H(ql|1jN77@m)^6&59uO2rZ`6#OE>CSA#j@AT(0 z9rE0HK9M!>uI6`j<<|8_+6=SncCX=os4FfPUmg#1;`jzdnhK2 zG{v4v=yhB2#GcnI53DlGnD1@*m2%i|_Pn&LmSP5!K=GYAXLfq#I+${J<`e<8mTQev zV0WA{`rKK!kpre2&YuP%bmDwtPxN%Pp_qqOB>@B+3xd?+NBHEGIuf0{pk&eI$ zG=u(~z5;Tw{r0h7NwwCU4p^g#yGH!1zr4;Tlijd;E3Kr#3A4V7p5wHEQ3bEf%b}mxr!vmaEv^&vumM=NnallQn!``w?*3ZA+c~{s@rNtiGXF4tC!l!{9 ziV9z{p)Lw$0lwAeUdboh>U@3MpFL=~6IM-dux@Y~zUi4#CG}=9+(i=Rl zY^o9dddn3@t;5@{gKng477u+Ld5_^ss}!P_rt?VV6xA}}L)`?b@Y(g`{Mmzv++w~& z)YDg>obqFRp`eT5E|SQ2tg*-j-fM}#-$`w*6u3y6VmVnqH`o5wq;=qLc?d`Dl-I8^ zxIF6{%#4&fR8?j2de)D|AEltHUwt-o)<4!LO7UV<^@ZHo0J>+C@*VyE@BSTT^uesE z+Q+ZwKC$^@)GPGso`%kaag1V)v{lu;$esJl{aszDf89Cv59*5Df33Q5hfUz3zf<0Xyy99(U1K$83ZWBmkH8uiE zwZKX}n1}&Zz`w1{eUq*I)7|rq#TeG*Y|6NY$8=Q8Y2 z2&r>`fh>V+=On0bzS`bZpLwYea&jefJ{3z!}GPY>(W{7W?4|7Kym z_yf{^vg@V(<>$x65dr~ycwlR$7X;!4;qihXsSrp21VV)%atcJL0YqB#k-Bzh_abBk z;2)jYz5(C?VB60X82~u&HR?uqv}QbACxLF59P>E8Oeeqi?T@k##We=iO=p=cW~-a# z6}1*?fW_~knpNVf9{UV?=NxBR!WWuLP82;nAu}#3Ga)@QGc!L8gn)n`ko?@dy03wC zUxHbm0~)>rerF~Y7RO{TQgRttl|`;YV~*>9%lxYM2H;v*TF9);ZfeaM=!zI&750yY zuK?fHfT#^nFazkDKw5L&6gvqhVU$-@l$4iLF-xnV)* zt&Pmy-nxdm=B5r-cXwM?Q%8GuZ}C7;K zlhrxg+B4YMH`UoR*Vw+$(!JQzv(!60R<{Z;Hh>ZUs2E^(vnP5voc777_Nl2pV6+dI z?w;ay4+6cw5{o<2y|~iJ?in0!0J`TV!O$JZvE;BvI3plDWMp!3^5@hvFg7?e(?84| z1ZBBtU}9l;XcHI!fT4xCpEJPpuLLqMw!S_I0Mk>`GpqdoDAY{>8(cFD=gi8(>EH7X^5EZEaQl~uZVd%%URrAA$7o8mZ3kD zrWz=F#9Eh&T4;<7pG#>9)g&SyZ;gl-9uW?ce^tMfFeO)C`NkInLD2&ph$jF zNz-K)0njIA)3d;D>zZ`%ot2a|2?{NxE_T{{Iz)j!t`U0K^Y4h#?Q`L4c!Bp)Ln}qo zAG<3?Ry-EGlbCI}HkF+f@kZ%;WRAhl@99r>{bay@8=kRkoiE)wuBB zH^}|xJkK9OY+tAw8XDiYapTGrNDpm%ohFOD?vO% zAzP=vN%aKFw+0dWXoorBDw81d3V^Hu7yuCZ;%|{ef4ZKjvyx@BUT~o+;aN_Vc}cZ# zaqXF!7V{3)mExlJpy__#=QEKD-q;(l!q+1CZ=~UGWnyoosoT=uy|PC>s75@fK;351 zZF}}OG+hmAHvTetE^P2Y!l1pqLtsDC(&@fYQ9)lmhljc5goj2Z#wW!_ z$I;gi%FkcSDlc&u zulx)EE&$+KT9I4doH5iHvkF9Q0tuTy1~8XbSimSPs9@z!4J88Qr8Uf&+RBQuwzlf# z=9Zq`mhSGZmiCs0y1JV2nu^i#ZgyGuN=3y)3v;TGIo8!Z)Yb>Iw#|184pmIf)B~V6 zxLP$h)H62m3rjY#+_AaYwX)pW+uh&Z+&|I?F#E^5hBzH_qqY4reVm2Xkr_}W9Go7U zm>3=znc$30fWyZKhXafc&Ww+b0R5b~k@>|T&@weQHwA2tFD`SYCub){XXZxN$2S+j z=->$OD>JyhzOcBsy0WweegK)PzaVDoVEYLGe!jf)&vVTFd&z%)JX&yEc=NA}3pe*( zmDF~Z&`*u5@>4hm60cK1_8R<272*}~VsglSi@!?VUp{+#k9q1@>1zfafr*z7J*nII z=j8pk(8VOPeA_(%!#0z;acVh#8W#>lc->QKR=#@hw~_esH5Yn5!tNOa3}4*Vnf~Mt zi`7kUbtrH7R&-lpRHDDL?*S$Mp|I;A`^gM))#sAKQorAx9whl>ltw;WX^t}u*QpXJ z8~<%Q_#Ib){Zv=DGUxjrRVTV(St6zD_g}TdT@O=tniY-@98ITbE&>+)@j=N|KA#gn zcmKO*r7yPg=bwDjs;K*AnS0M)QF!m^JNhDoE$4+D!`^^IQ?~t8=~fcnu4ka%rr_~>z&hm!vw?@U)auHzxk`4;dV2DpCD#`_BgetAlP3$hi$iJBcBWd1|Py5Vh z3r{PAvM&ji!fb=pw|W>I92@czY>0G`fG;!{s=TPRG?aAKh%xf8{2=&VB*^`wnQ*%A1z4+pu`5s@Ea--IB598~@ z0X52LwpJb%KlV&KzA{z#2`r@4^6>TLOH?!50)Y@95O{k3nLT-&r(cQ{ViMJU^qz0^5EcwEE#}+VEP<4L zB|&uHKfq*Y!6XY(YgEz`AI>*a-435`G`Q%)Bk~$0EUP2y3ef`1ICyP|8~n85Hl=nV zbSLZ<`328bej&rX$4pD-yR7fn&3D_#XYaWo)Y|C(0%i^fo@u#sv*3B#jToxE0E|=& zdy zP!@T3e7N&=PX1DF7zbA5*&qf_q-hBpPV7B0NUxDJ9LgHpq)xl6JldR^I42zUjsUMR%Ji_~8?wUkhodGOlXcid*ksyiMgAFt4mo1W zXGZC@VpHcGFR}H_9fKiuwnaAL&dv{J_jf zhD$|LnFHusw80&``g$!o15_VVgt(9(N`nf;Qxqb1D#42NR}nrgW;&9yWVDWsnp+_M zEp5f!)j^d5A{;Fz#WN|Vu2Nxw-U?C5TePapGf@HYBp#XbV@Y|8szAp6(?t13HPTik znfOZxSvJ@Cb}SgKgM2MzRvpG^~g z{c)EC9_)xSXt{0+O|&%rzi{`PYfXDd2l%3H5S|`#csrLGAn-`9QrPFo9?z>0#!07Q z5Ba?fA5lpRa92U6sk{LAj9$jq?$NgN*fw4in6*ze#2O<)k7ZxTsx(f18dTFga%3ro z<&|s`W7so(c`3KOHu*(XP0#e}r98I4ciRfX-r3Nle2($=*KIYui@8e$T(9qMM-BT{ zJC_QVYrnr=s`>kN_ow|0-2JWDbs5PoYbUO+t+p|+nRFN9NlWpy_DYk?)S%kQ+egp*JWmA)lNNrv)0ANW@T3xPe1*%*3B`=%5AHiev!AP_~)nq{x5T^ z1DFu7hd{tyD7W90FE0qp=l3XTeV9KpED#t5^_pH_b#ZNN4cJ@-1rZ*Au=DR)2Cio{ zG&a$2xaRhbJFT5Py?yNdfx)5Skx|ar_{4DA#2Xs&+vYL;e$^)4?mx|<9F#@u+c-mo9}`RUPWJf7k}YRoRLj}<$L;3 zkL3OCNyog>_Iu@Nc;_8-Pt)+tIN(=s)GuG%FGD#fU(fZ+1?Nvj)Gv43L!bM(oN|iN zcZ@W2k1}#f)bU6(@<`Bei97EYdD$`2%&5ZsV2p zAT;$>aJFqw)|JS@`;l2T-}2u?=h)H`j(Qgz@G4gcDBT-Wx!p-4PhP&F54f_urH+HNJ!(6payNvVok3~Ex%%|&{D%srTW2D7eXsfg*IIXWZwE* z_FHJB;kW8@kxcXGYNNy%$T*QW+> zZ(a9gas9eBKXt7Kbu7Ep&LotN#I#N1w~r)rEk^ckCUvdHHZP@iE~a#?<#a5k){cE1 z*bE+A|27E34Q?h)ZGIbFOBn}pN7f4FfvhEf{&Tgow6vz0SysWUu5GPo?`#GE++96w zZSD14m8(GY8qmGC(ZiW)D(xCB>z-hCk5{&jH1&*?bUL5Jv2PJ0Sv4GQ!_J@LsLtG^I+ZwnAikH z7goTa57<#R2WEVL&80=~?mG78TPS$7Tl-h8cK-;g{p)I{`Hm=992Qp}Rr^W(**{$E z5<0 zwu7N?xjqF-Kf|B%N*o`wJ(cW`ry4gLsN1sNn-Hxxi`toMa~AXBzNt{%!O*({ZgTym zXR9=**6^m|FJo1qqHNC#U1lqH&q1VK;%Vha%2mzlcfIUZb(8eEe)ja4Cz_Q}7nmAV zT~<6Y`$)oX@w~X>=8}<>hJjDx#^bl24|Y2~Kmum<_IzoE>F@n$_Owp@aqAJ2UH+5W ze1~AY4Q@)w*8A@LR`BQ?MD*?u9(LIFkvUHKh$+Pxdz(XYJ(d|2A9Vq8*FeP1t6iEQ z#-pw!5IB%|^YMx48Hh^rzO7T1b>D~ufw+%a9N>-I;Drdrw4w^rKI0(XB#9Nl_+o>o$& zs{h#27>f0|v7`}!5OkQ2`|Ss@N>-0xpdjr^co7k>Qn1#&<+R2| zJGTDza{gT10heoVjkNteX>QWaZzI6F=G%de&o5Iv_tvCc{MbCADUg9X))bJn>vGo< z`33Wsw9DuAGb8u1)Ed%T^L{!CEMiwObIz?D3&2E$%%3&?`Qdc?pvQ;%`~8xr^|zjS z7(@j-A1(*mN$T^O%t>2{*3DV=Kn=|Vc1iGE&+Xr~e=>a}SDAN0HR|mSF$?I|J0i2Y z+?1~8kh5V{vI3p-T@n&*UqzP-0=HT}+>}KFfE7wx+CWZGJCQ9ARH<_w>gED8i3-L9 zr|&$OS|1%@wR2k zN(yS~9$WSCc)wFtvMjqy2j7S{HyYBRjflM^j_kZ|$8L^o3e`2ZOM-#c4cJbCVclaA zJi=3Ux1X54P@R9I(Jnt~%5SMsSLGSs$Jdi*gWUOV_Z^4( z)lCv_nWbEZK1NKcnkuzM62(;C7ds@??aW& zh?+KsDJT8pQ$ytKMa%Y}$P`bp28#26JC^|Cd){+jjpBV&$1H<#g#G1sZ$*DahO+D; zc*1eFqP3(H4@3~n6h_nefyjfQjzXpp6=ApcMV&od!=A%4DW{GOh-p!Bo9~_6eOGrE zx-ndIe}rh%n9+{aGdFvMU-w4tJ}DKd)5T1W!Efc@M$JtEi+8>QGwo7Qs%6^>=i^68 zc5iJOtFPbPlwfjFzA-RVD>cI49?mFke>NBrBEUj!l*L~?=~|p)Vs-C!kE_O7$cdNh zNjsK3boU1ew&r#&(0{Y5I;^MZagi~QLchynCDr9#eR(l8_)(eS!J3Y`*Dtn)2qfJ) zVR*UDR0N<G~fYjL@p~w&h;^0gyFTZPza*6cG@QG$~De~m$|zx*}eR3*fVu-8-jW3@yoWF zYuqoi{FVU78)SYWB-z?Y#l{YEl?L1Tm;zIE?MEJJ=We50J1JXJ;1?=kA~b@fIFo_g z%C#3sH+52cXn`@~s5&KC^C(^FFS$g63DXz@3Z`}y60tD%C=!qOBpW8?swI4uYQODG zc$w-*vA_$4gQSf#MrxVFt6>d(N(L}T+ciIGhB@sf+m+p56>p8D^T@toz}4BB!H1bV zSnY7MIX*@BDb%iXHwX?K=c_CzXN?)sr?XJ3{+Rz#{ibkLn5znv`RPtiLm zlFEi2u8hDvZ-t3y@DC_*q(yA;B~rI7kg|PZ81q<|XB^&1QAZQ=&Xycty9j$TBp70`DN!Bl(cVLXOQ%Qc|tv@c!UL2 zysC+Qlbn7Hf2mb;78$k+xOS=>S>ajb6wpj;3p@Uz!Ew|T%D;8l;dp+-Al57#u8yDK zu@C=fs+n(#d;M>|6$Yth}q&GD9MFvdN8sY?UtkI%u zTV9g#l%()C$q4GQ`uv%XT32ZTx|VPpgSbe01`%FRFGp2Aw371wCTSB4S7X{aVs#F~ zcT|%6{koyx8w2;gV}GP|#!(^R9sE3_cv~`rhd9K*F3??Y(`4_PVNi^^>#>e~2P^w0F1f-anUXI1TrK#YTq+UCW?Lz@vvCX7 zXi+Y5g0LgP8fq3JaEuPUOXht@Lb8zPc`}AX=6yuDeVoESLE=45<@GUz?_eVz(|MjS zkT+RR%oy(;kdPsFu)_qz6)y523%X16!x;w8Ej+J??aq5_xDOX~C&)ph628s!P4I|d z_Mr>snz0~~Sm~rjzyHCKLr!hqaG9phI`ME-Jj{oRYog!wr(<QXK*p??q7(Gs@ZEeyRQ?5ufEXYDA%Mi!Bq(4Vi?tylhUi!mDq@(1 z)nX$iXt+r(|2!S*Zw+P8aGloRn~Z&V6a2psCN%5{1Ix(922i0Ju2`NiZ+%nV?H%wq zYp*CWl}5g|Q%4cB;HNq5H@I}^vF2%;5bw8c+WT~QyNix3kRlXGeJTPGG0Znyktp;0cnIU6*o#m$g@7iK>X*4C~Y#9 zLkrLuK)~?)DhkF#!YN2m%4KLPX1&f=?19LgTIXLA)gT9A(38 z2#B2o-zc)9%Ko6&apGA{K~v2^D8;jRG~@yS>p(mbNyF8X;MFwTEEzjO4bkTY2jW8( zh$tTtE{h10Bq9e*aWANFM&Pp^RA~1;UOBSu0v@GKg+|kG{zSeNw!l6XGAtOWO7P9@ zxOwap8d`}Rg&-nHxEMNi2!e>9;>IXg4$J=|fe+-%%38zX@CuEGQCei|I0@nZ3M&gX zAwpj2-NU&r%SMyGjN=g|BwQ^YERprai2PZH41H+5God0l@-SZ&QF4WVj-o4P%F~R` zpGE@iCI|d!)KDQ}3dV+pW8;xxWav9nKjC=XH$3_kK7K!*f0@GPBSw8r!gUZ~;tcp8 z6?`%JHi%$suLQRCv)gH&N zhCQcYm*Eya`!POvv>%oCI3=nAg4jysWiCZo9Elcm?^c`_$hjm0h5neMYaFmiT&q9h*1s14i1%`#%L3k-i z%$D}NEeK~zh34me`yR@F2#@Ab$7aT1O^Appwx13Vht(tTn!L_jAfYuFp9g4(Bc{Ah zln^#F?07D0Ll3=;iw@y)Ss~%>yzfB_Zu+7#DChdyMvJTQf7xx)y$JmypwosR3KQ?`;Yp7)SDsIcdhV%`V5 zN)R-NyuWl47Y;$BWZR|R^_YE77{P{GQ3bm9;lgRKCmx6_SN;Q}9}85z?IfhJV#FXB zcW1ZP0V?nL``B0_u7k_psC~r)_{6w-OB}miDFNM*hKE0uk(`%z z%(%!WrpQZNN*U?~t7yY;LzU7IWDHlNIqjo#?6-!gusap0u=pe= z1#6fR6($XVN#kLAOuN-gyHyylJ$RTh8&+|xdt3sl%!M`A!h{$wBDJSu54_`AhcZCy z*^7t51mLP%m=G6MlGLq6?op%n3gN-83&XQ|s|&iNx$r#@xB>wxK!6IeJ4So>Ei5hx z*)jM$8}^?uqZY8M9I^S}>qEm76Z=c37zTmAgxJ3Y%b!EV6jL!`-u*I?10tLKQrG(l z$^F~E^eZF}Y*E2%neH!!@Na$J&oJdLp$ulzFa-=uHj)2CGWc=ms5hpNHJH!B7$jqI z7=r~gjOpf(Y2DDd>7gHt!J~D9CA6W_D#N*SOg?+?T<>rpe#D}8sDO>p=G+ z++%a>jSA)3%<~?ONi*LI=z0==> z*GVujc}f`Jl&EsnJ!yKqbb1QgG4uXs<(G-UFO!3@0sejxE&Ma|%QoS6_>SbszRkl&%^D1fCq}OCkq3OHQ|e|84$Mg5s(K}7ma*e` zDzin$XB^&7$EuuJPv-D{oID0_-3`1C_MK4wI(PQO0^4eD&glH<8yvGA3ys)`;oyY} zWeb+47xn`Sr%$Kc{JJQ0V-XU#Ad<9bEj9J<<3fPs;*$?cFOM%h{yJ^jw}eSvdUJyI z{>1Wjfn~doi;iEHKR#G~^V^a;u*`RV^yaO-qm@&aaVxC_Kv#aWZa#pkp8)_mgE-0Ic}Ppp^T zSTFyuUio#s`o}u6Z@ms!XGv`|p4e!fy zNc4t(r>CSMzN1sKz9i-5J176VLqy?s%>brs!Y#rYVWvO|D&_F z?`%~{bq0H6R6mP9t(7zV({OT_JHK$eXt-o?ZT()_^sxSnYl@fFV&#hne0dW&7~ zsy63DQXdBrz_cldc==^C<3Gq@JK#?#^g9Y)xZCd}`YUZJ@q+XB7SnOR_NQ7`(GTgoqAVJh?B#AF)ll+sjsGf4EwXul0s zw{^b&TZ7roO4Hdxfe)s0IME6J6rnZ(5`ESeCw~5b@G5f|h;0wKpsx_j+43I(i9UE; zxBSLR6$+u(p_8E;MnZS zcFrMQL*sL+JI7bi;z~yiuRM6;@hKs%rfXsi zBcZHeboJp|&#=UNCb(qg-?8VI@wG?qygnxt)b>nm2uP|NH@W`!z4w>o!n)q+O{~=3 z6Q^(d_Tl5#??3AMegZfmjbVqtY}arlh8H{WiywK5QjI8e6IQyM@2dK(+zXI6`g$Fu z7Fp@D(=b%SO)aWAK>14UTfTkK%#i&LI`iH3#ngS)c(c0Bw?CE@uH&)&nEU>?#wept zN8X_i#5c#8C0s6WKakLxbT#kw2Kr!Pdx}*}=rNCjNu3!FyK>)Q4kdTz*i3X5cpUoP zTkv*mbpxYLXBRnQ#E*Nbrwo*NiXVN?e>ioh%3tY9q37YWk^j}+na4xD_x=Afi}xfMgla4?6owR`8d@wlrR9{O&e$o0ghJW(itKA+4G9&p)j`UVO4--%@2hh< z%l$aN`~Lmz>$>i9o%_1RJjVPn56R>6eSbgi_viU~y`IKtd8`sN3r3%%?2g?LqFFfJ znPXdig;T3&qNm_QUsZ@!@yAyc9!sm7+9i{Nb=QPJglU-=K~c2+GfOuz4YbbaR|*e+^m$sStAU?RC_ z3@?mWAj2EKsgdEswF77G%VSEj_v1elXzwp{ve7<3>l~+M?%zJ2ObI4{MdNp`i@oH(J);uqod&lVnIhEg!sYFhOmFxs!H2^vj#TA zbOakgOx{fC-$m>CuU=KF|H@UBCL6M!`tz#(ZCzbmhKWR&Us;Qm{Zs2|Q_t91UDY)H zJJi)yQ6jTdEbBGbr~5n1%r^Y+377Dw?a}o=sH^h{cbGv_GI+Y7G8L|?0&3@n13xD> zhDp8D(U$kQvnyO!v8-<1;z&!VihXa6Gf(RO>biR8A6r+AH#Hr-VY-9;Sfqui(XpHR z4+R~IvN_pwEc(zD_Tw=Qp+?7V9lsNF{I<*ersJ_EtJodm&a@gi#-D#3Fwgreu2}?)=DJ7t=5hzK6EgOOK7NDdGq_+V@EugvusA>Yu?O>Z4P}m}ExC5i6 z2ekFU7Gt1A!>Ac@Y&VqA(Fgi_z-|-N?%gC0%?F z=X}BU*MLV1aQ79uA|@F4-2g$ik@XhV?;#2NT85-%AjK6(X?$62 zWI=NZQd@;oS0L?aX#1yrDgPkd8_`C$GmY*%G`N#RPfs^aDKyARHP6enOwB%VGtr@> z`9NhWy}b2gL%m+Z#Lre}Hz6&(LO8^;aOhS;%x5GMSn) z9bK@QT{T}`wVYnHU4?9BXRRm3ZC|`R{^a?0qpweOj5s_WIr)Cvabo4z=#0zMssjWa znO;5tK_}jiof%&|H@|xR^OzF^`K_!3EkidUC}#Lm_{;vx-oE^vH~D>o_huK8x<|br zs0)H#Ezfj~f9Qmu(G_SGf*nFu*S=QgRyw;`zhH#_O2lp9W*Qyt?B(t<3sy!34k5TQ$W8hlWQ+0l3Fzpvm=9HE~TjJTVI1CS1GWBEJc}a zApbV9K|{WUVtqXGEyYr|>20Jb*V)vY4mR74-!e%GI(F0Q;kM&3M^&0q<6K*Nj^93d z#ptba4X7PfJ6xwn4$$Yn6csKLWnnB4NU5Pwu1Q2R!mXZ#k$ehl=`DMAkHT1bh^Dc8 zN=k5zTxv$z)xeYtl^O-f8>WzjQCdV4Pm654hD)!&gqXdZJXt8>`8LUzu_%mpfTb`%SasdX6skGJxcdWxiNj(m#^)Tg0u92 z(RPfS<>;hgVUW_$X#Ro8F#Qdg4NHo}NisuOc@|QL#*`TaZuT5=slk8;_lgox{5R;$ zIO%;-)$G!AxoY+Ttbmq$lkvHlQ`sR@grAh}B-5|?l|SNsiEh;Usr{_WM>v2&jCh4idX;K6tr$c0K?$LaT#|=mrv&$?$JSTmFQq?H& z%DZMhrO%F0t=e-QxmC_Z)xlZ*2U}K<2%$T-aUjCo^lIy1mHNlFion{!HB@3ys?*!iK`MZIv!62J0 z;XaRN;GitjkgNJ?Cg%bz60hA|&AA5+aGe>Ltrcz+C51yskO6qFnulbR4hbo1u#{-e zg2X8dAP}gl{;nZ#GkV~JXk#7Qj&>xl)FI_`GXW37$1&1@fQmtIpmV*fl@JIHhOR96 z**z*Ri>-<51GMQ(VJROx7^qPm21uk*0ya*rUJ*(4;g@0|EvXnbQMYQIxCByJE(?E> z3fM#v1yXYBU~?cQPh>Ue*(4K__UszIfDz51QL}}L2ome~f?e0nlp6+KB4OU^x6xUE z)Q;N68@|(sFk;z_xGsYMC{vmv7a*d|O2iQYBqWZD!Iptw@G*ELwR)N}Fzu5{Mc<^c?f$Yj650I1>W^{*cKVkD@+a)8Reew3+v zj@&?Jk`cOLULcg*40xFs9U2RzA|Ar0F(CK|K5=9mKqRr*Bd`>dJnUveB8Veoi1k}` zP`sQ+lQN{qHApnW--0R*1YxltX!mlKNWi4Byph&aG!d78`O&VGyWZ$!3aKgXl&2&t zwe&qYNdjXrmSjIrgJSS zoC70_PeAN#Oav;Eb&^|jf=|IS7df)wN7jLtNX2^5J?DmSx2p#%C)EU%8;7t;WWbYK z3=Zp0Y?R63H1SFR7h_y0x$y7E99qZ8V9EIB1rupN=%Fqf$OsEUVNiv9K%e40VAHJ- z%$@0UU#YN~4J0HXH<4AkHQl@rBp~qk@_=$3nJH{t%eHP{*Trp=5Iea9bPvtn=s-9J zlEgrXbt?!&C3@N0yoAs_8JKx%?hrid7H?SNpxiKpxqJo5p*9cDXr}jRg7tlj>9jes zHe`TvGk0pjLt>aY3b7>-zb_X_>ehOFf<+B3CNnu7+RGD3jCCDZu0c9FIE>xEx=4Bh zR*b<_%eR0(o*|_wKFQn}=Kc6VNc2WtDgwwQ^2U&uICKJPi@lfT z&p&_Z7?yfONH^X2o_SG*PE9y@LnxO;hIZe5+SLifeY={jcP{< zk3sdvL?u`#`rE$PhTZpoGMq{o```C5Tmhh%XWv1gZd;g!JvHo<)a zc{0HZWm)|I%-5(Lr2`u#5|5mx5~ZkSR@?CJz$7AjBg4y(UbEhnMn!tlkzkm`d%3t; zR*V~gTSoA1ce|HK@(Z-@0Dw4&k`B!?MGt%NB$B0uf zs*w?FOym%gD^rJYJ=!bmr4u_qRq{BqQ_!cU@EhoWI}B|*g2qkm+BOM_+)V5k2uuRP zip=={c^1WDTP;FJGdv>c?70*qhKSG(<4mJq){)T(lQ^ja#1C`>3=xx7qwtu_hNPk* z80<}S_;*0Uz*RLFs}u&f7$^@a{(cyMQ)nIcV>%d|YD7dEku!4dL4F3RkwVxvc_59& zu1iK>sL1^T9DNj|G?BBEiBJm**h>ZXAS(V270sCocF>VzvfH{zRIMAk9P5l-0%9G7 zi{D9K$olG5giz-IhsPw=uU&594K`v(!IO%+QG@f##rh>^=aLlt-E>>MaVo9V;%S>&3(- zFtHZ~aG^}BPXZ;B6>`H3znAWnE8ap`?DXFjs=`isv-!vy zrL5$$$~{W{Z`eDMC^ulvFxNr8uvOoD9yp*f6T?M;xAh;3rVHg1dezeuo+j+Ie~f3*QUAT+4;aqo# zvp<(}ESD>LFnXdiNkT_xbb;#=^Nxy()JKp^agn;`bw>>^q1v0Qju+B4PNv}3DH|uN zx+H&MCVv3yva6GIdXo*lBpcMEkdsmjE~Oe8rzqQ`s+Of#x}@wLPu)|NvNsF*=|l*7hpS2R;>ZA6lEQths$ z+Cg}Utv2Z@%|hF=GVHT5>h06?jFUr()8ZDnGd^e3d8LFcW}dz+x-%;|(R@ROf>_d} z)S+i-IhT^N%Y^PL2wis(y(c85c{?LBFZ+I$XsV5ndRBV8O^&2}ii%KjL2uT>&q>U( z91EAUWb@P)nrUhZsTqmsoACFpE8I)9zejVqXOoo^q>$W&&n&olzi2!u`Ezoeea_@~ z=7+1oNL@0IijWYG@M%rCVeR&FKd?nGMJ% zB6GKMXA!x>_PHrudE-sFVoM^VB(Wm%4YT4RTo<_Ks`ECKKU~lKaFdp>%n7obmbj8_ zzB=TQuMwNCS)Q-mm%n2vpDJ9St5u+HTVUW(K#MIfE-%>AS75qSKo>5w&?>aFE!^)> zXdPQ;pjC9#w&=J=kyC7uOL>uNU(v~>A~)gUGg`&xY>Ur(6uZY3 zUn(#5>?^*qRLm4E@zyHwwJq`YC<%-$xmsQl+*cC1R1zj!8lhDhX%NUvyK*5 zXIxRYr@zj0xsEPUZ=qdpX;;7Bv)($c-ln47uD|}!ay>(&!9ly>s9nQx&jzQs2A7Hk z*Zzi+%METKkI!g7K4$hFBBJ15}d0)+JdBMb|AUJIzG0k!Q&&7D9~6(}exXzL->cY~e#!FFR2ojt(Vgxx?77?=b717PoA zu+J86Va{c1N3vr8OIKiXl;Ge994-QflcZy3#B}Kr?pHRuomcU47e5sUoW0Q({D8*| z;CCH_UI$krfo~*;iUhIQASM~amw==MkemZDAAyQWP*f%s7^M{vwdHz-LUh`;J9%0e zIXmjBwrACVl4dwqnYXllOLa4-X%lSe;B6WQFW-Wfa(L41@%$}g{Nu6lVW;8QV`EDWvuhDD@T>FSoI3=ahE{zCC&T8Th|ZVy`g;ny zhYM#uwn4BBB=lw#cGvs&8@7?1Kx5SH%Fs*d@a4J<$;`ipctZM(n!)QSm&`QaAgIG zZv_-z55gV`#%1;a$Hpt?sWdOyTM1rlB5YzAOmF{DKoyN=GFW2gl*9oWiJw{{DTX5( z$!@{5d&#B5j2^dU#PP`LScTaK;?qTly97@=5vlCrxLj`$8jiwZlOas9gkoIX06D1T zLemB|(k&D)XxGsTm6xJ;2?fB-uY@O=Rqef>XAu5B)0lK|cNd7_jYL{g!sJiAE4xWb z_cW)I>`65~w-2H@>ajRVm@eO$VJ|>v+|NQw#l#JO6d_m27)oyVu@AzqUD<$xlbqni z<0Ep$tH{%>JWzZGFC#$scttzV4NXZzAo+=(S(Rm&96l0y{c=6;L8dsS+S1ydLOSN2 zw~K_?jZmsVU(563w|8>&BRM$b)z=(kwjlB}ycHw7ml*L)@=id=qyeblX^#fCX*v{)N|#lBqin zX^w;(mC%<!J@AxiQhZP$*~W3IVyc$oZj*edc7*3try_)# z3EOg)eY#((&2#>pUQLsDGHzIFa&rB#=H;mkD?9XOHv7I`Ef$M>v^32z@Qn0u=VJXQ zrXD*3A^+u(?_}GBITTrk*NKG_N?~&9Ct$WVR&!mN^dZCMN`^Gu7xYPAxjl(^t43Xp zs7XI<=R`Q>L=Rsx>95g}$aSHyR%~%HfJ#Ur{;NBzm;A98W4piRbRsb%LtobT*;SkA zB+}CigRRZaLN84xlQ}bKhQ`k$ZcnGk{gJs+n#R*i(+kZn?krBHQ#rHf0mdCkLNggO zlPrtq=8iPYnM`^}mSwteXO_)Omi2!xzb>Be%}#{y>t@EMv*UhO_x-L{4|@9YI^X2K zd|Np6rDYZBhoC{&W*9aGgc;6ng@5fk8VYOrGg!{J_&YGmnUtK8nwFlCnU$S$@BSLg zxn{mmTvA$AUQt=~h*e!vTUX!k&2s&#*G@-g*URpn-oE~yy>_0n5jcj&TF}_>k4;Dd z`{<{c`svw)N)&c}5h_K}Cb78#N&w44vZFl#-e(DtRW`X)FJutO%G{DlS!4U4-?N;@ zC|7?u@!5KCe2@2<<@(MG|2tXEHIy^$FTipN*?a@t_ce2)zD`UxEMxAs~ov4w77eq~WdR*oPw{i{JnDD)__qY!E~G ze-3W`TQ3N0F3$deLDSb66E$HQ>50vcc!*+r~%Sb!b9 zzL$f^^oHSPN#k?s)vUTdgk7PZT{M5WAbzo0`QHjR|DJ7*{%3@nT};1~eZ;TV0`vW6 zTX+p4q2NCc_x$f+N%0)yf8(BiH{A2kKM+e2gb!!L7tjbiywH@^3Z@fs9Rgl*zJIkP z_iw`Z?@1Wj{lk`AIgAbbwBU4pU2y&=c;&Id$OGWz1Vlcto&@j`Ku!jTZv=`8fU+4# zssm|tuu*kwHz2nK$Zi8_s$iQ6*kk~X9~Qpg2~M6>ckui2)haHJyw49Bj_7L z_fCQj5MmZW!aIg#2o7FhTY=aYA+Cu9(K(3k3naV*39hWYO07UL5G20&0#z5b z0_SObd_(T@O*?rN*b4m9m1UeftkAkmIXk}Pam3r!yVUX-JHdhsa~HkcVh5Yg9SB)d zXx)2OkhRZV^`XnF=I=TNj%3?3>Td5{1D8xgvg5d}{9mI( z{$$Ax6!Fyy{42<1x!?Ki%{7oK%I^Hw+h~Tr{JWT=QO@sfIi+R3yX^|6^2WL~$dABY z;LaoQ?(Z^3?s(3^(IHHX!f1jozsqQ1piI_iQZO7Hk{o96|Ek&fli_mRze%%0lYQkt z{<*9j|4mt2D+ySD!~^U)z`+4X+(1we2#Eo4As{9RHf#oJ@G%2S+3o;3#=wjQ4mkij zXJF+>uswo1d>Wkn0i1N?KI^{z(k03nZ`n)Nv^+w0`i6mkFaXEJ=9I3#5v>-JwW<8E zdfSiS*=y0xH{j(6>cK+Dy&=7>3gE$r-&S_}<#^1JUQ!o|e-q za8;x)LHoXzN4Q8HYVGoXAjiR}3lJ1Ey96h_K3axqmY~OQgwqQ2WC3c0)}Ea(@wvJ@ zzp}Ep0xiOpz_2Os3becmzx=%?_;6V}{!d@lemGneCTJ9~=T^9Pqwj&B=X;)9ryMC; z;z=8Bys^=+tHsD5t?lkeg}eL#nPBlaDYi~DY=gNqN}WAkzxhRGXLcuxndh9pJ6ie3 zejbaU!kh!g;bX{YO@q{DIu1}W^KK2MmjbHZe9J7G`yDPdPa*=vjvLs(5AdUm@6FD^?lKZ? zF!o|ip>_C(d`$C2p{UBc*buH^_JSJm9fMczv2lBmi6TTQ=JPFIiEA2X_M_Row*YS> z&$6RksJ@uYZ9#Fj%*I1WFn2KGe`EF{PVJAD2F{u$z}B>jX|Me{Ph0u>7TE>!;k_}^X4zqoGlf1<1Tt+;FjdI3Q%A!rfa2K@7i%M`IhGC6FC!?mDK_}`-4 zf0$_Z*gveL{wmsq#br`A;1>F)-ukyjAIne=w02aq0G|{6nMNP~c^4^%EUT>A2j?ZA z9@RG(SJys%((<(R4-bd_rY;it=W%|BQT-Ew7*70t82%5Ng{MZce_M;cjS7LgA#MVY zCa)dscwUA9sSU?YOH@7I`UR4Xe`wrTr~9PAY8vK*-kkd?%Kcqb$nG5{|M?Q5f4@Rq zxwzoOXiF{%oEUAq?%mjjkJR^{zD#ZVae8ik)7ypR73t5b$ag5YT*eMISwae#;h@9Z zfF&58^UFmuk%~NFPUHbJk{2cOOXS(lr!@+ML;r~t%}2Yr0o&5=O>cQ$`^-81BFp4~ zOJTFx39B4N@ug!~1rwav_O;FKy_Q+F8K?Sc;uVWG^_8Dyzy0bjkQhDq4_l#cBmW8J z9KC|yHmW_pjtv43s5MnDk^>M3YpPxp@0zNYAOcV%z{d-O)&mhCz$*zvB!HL#kdOij z5S@zK!Z>rm=Z)VUdQ>YmT3CnV!Y0l+U*rJ$g<^B5kVUdv~0q6_w9K^k{ z!V9g4EG>vNbSpL1@9gYX9BY^E9aUL`Bw+?}c1h;bvc?po3PGyV%bKth_w(m%e!)7o z;`HLPO>SlGx?8X(EyEBN;pXJ-Zmgo0wOLg?-`7y5+tahBtHIeI?|SFKi(Xr{O01* zj2A!qbtxF6^hBwZ``=SE%VyMG72REw(-UZ&FMlJ7Q}|`R+neV2-NpBt3tmR;n{xTd zuj`3PcCbKx(P6f=Jf*xN(NC`|Saf9z4y9fHdK*{OJ+2igy*;=)f9yrZ-Y4}9QG&Ut zsr#PXF)5#IyZ_yTeI6&ui$DFy(vjgZttk2Yh7cfmxV576ySJ^$yYHG-md(8H{&g5E z3C-=g7XSTIuan>V9q=m@*VxT$%AERC{*x z&2=hfOyb&+`Vxt7l`l?`>RkiwDTZni>d7~@vws~1k4Z)Z@9KFKib?HG39*Z6ijQ_2 zk4Xu)ybTY7>t>uxZkS}zWa8W{um{hd=?Xd?dl4g)9^Ze@VKgzIE223mdw9rbOUJpl z=?RfSvSW9;6OqPp8E#kc3YkuLqfDPfMr>ji#Wl29!a%&goXQ$B7DBkHH(eu;c?aE^0VXzU`BcZFFdvvcC8`4>c zzOILQCQJ%l7{SS=?1*COUBY=cQ+5F0U2U;xqJYtgaR>wJB`uZPdhA-*>#)xhh(P0L zvY{T6IL$;!+=vU=fLoYkQSCU6vScFNM4PEaVL(+klK_QtN@F)ZJFC870BJ7nCpD;x z;lu%?%52)=^zfBqD&Kdq+h5Mp&BcqJ7vkB)VhZ_phnet7_9+L5M#&}UsOua>u_1)f z1A6M(XrQ;=P(++KuwyvsDi5+{Kn0asC*j4GpZk!>p5-Z_-x?=JujVn73V$k;XGceD zyeCIT%HIXyCQ@Zo24a){D7OyVHBV)LFI*-wIriZYRL(GAqXp>uJQ00&a+qx#SvYz? zM6`;(D8PM>E0+@(+av22ey^3QEQZ-mm%ZkNAme*7d_VXj@SB%6femuI6qo=Qc1xfM zqrP8a9$!Vru=smo#1_ePgnb8+c!CN~o0X{7Oq3X&nPeo8;11>{gY`Wz-e6$P51lZ; zD=x=W^yWsTioX$zHYS0`qoUa0`$SbDO@ekFtCcdu~RMPIWjWoaqRd zn5*u(0K-J^qsd6$l3h41axF(Y9MVbOr7-={*Q^l$F@_gXi5h5rGy$2~u8-V7+%COC zmz#!Tp{>bYu6E=r7%Db`D1LgaxKN2fXOBIfK8eaX!3wbC zMF0h+o@ylpmIx29IWhF5dBc3T73WU`I2P$VjvG|Y$Babp4!Lzhh~;mOg3FG;=I^h5&H zh?-#&``k280QpGw)RJ(t8=??d@vY|4RN53Eac`E%UZs%Q6cShsugKg{*p zcr-EB8s~a6Z_>K?iyDUw#q}tsZ4c{E^+UhQN(^q>?s}R1dEuSjhq2W@M+&~DoetS} zmYOHu3tcfL-?i{Nxm(9}Z;S+QBB@i})C)i4ugjZ&>y-CAAvg5yJYOb}O<}*X-Dr|7 zUuyezr?;hEeV;bO`&4b$+47~#vD-tuahjjbTt0y}2Nz0GRT{R~)ot$Sjn>F+#GFgC zy|z4F%wL+}$K+HSKyu8pR(9nwPo3sCtx2jToXqvMdUhCZIM3ofKFPFt#=wtUsAj)U z@k40io#?gqUX?w#`a^y~DY#~(7<$^xLMck%g>{3*yZuomNm940b~g8xMPX|%1=}mPRG2| zKC-cN0eZ^ir5rord3$T$w%w%eTY5d;T3j{v^wX84r60k%5*F5U(pz|W0B2TGBhWhOueCf# zyk1f#Yx?=B?eY+*t)yXV>*r99bkP_0MqFt;gwOES=saG*6B2@l`;DDvW|4qnJn9taqG6S zuHx32`yMOr8SBcsADhlTj9r;0DXg%18IM^4D{%b5%<# zpP1_^2C!!HHNvZtfo2s$0&VjRTC1PKu2&4pnk_Wju6~JWt9ZAyZK2g;bt++9<*1?A z;`7+m=?t^VajUk)uJYBH-0PJSj%G`}eXFx2ZIvG{v@N|}TAgF9tC|cjTOJaI<{Qnb zzC^bzzte&i+OJnlr<<*e+x|H6i$!brZ~6d$1Za2zh5;M^ruzUV7OcG^0CskO;0GK6 z04)eeB(OnfP07S32?V5phyoB(0+NzIQW_{IfQ`yPUK4EGtN`Pay86Jt4A9Jg?tZZA z061_ET=WE2egIBin{XF5@zd@S=iH^;J>^d`L0~utz6pY3L3R}gidHMmCpQoAbWDg0 zeP*9u11V4tgjs}eOAs9O1V1?kr-eo#(fWp+H7_WWkmMAce*$UT&d`s^+*3tqH-#0Itj4C6 zj?Qj)T01`rPs?5ny?OU;WPEgN0)pPnFV4-*Elw}Y&%lxF^Gl11i)%@yFp0dfIKQyE zI1eo@twKv{95$TO{-^Ah|F{05a33J~+dhCOo)Qq&66buw&@9>i|7zsAJCrE?7BP)A z6QhNTRrNRh+6QEqCn|4PTu_xuZ;dldHje)}Al~Nkyj&V9gtA1axLSDi6%iJSRT6>FOFUOLz@2@mnTjTPyzV-oABkjNM13Vt9f7g)< zv6~S&Z>yca-8awQ8xpI25?$jp^)7_~-9=L*(ASHNXWM~OK z*c~MaKXCDM|HwpNN*{C#Avw?j1URJv$pIp|L<#?ix<&~ld>u|QL}SPy&{EJMFvO3T zlpLbZUNi%z-E&`I??6g^PuP zwhW<}u3w-K8D~4p{^M~R3u+@q4(~GKZk_rHg=86}A9LV>p%7vItKXoIcWE@(-3Q;V z7b@id8@V=P!qejY6?k@fg5VjV~wJN*b9L5ZHv4^AMl z@m)L^QA&;OE?fbV2mf^Pv=oS;D;siaGl*R39SoE%2}fxM=)3_RZbe7sFcR{jS39pf zj_j+W#G;0+4?oBBqg|LrB=UX}efj znzJ3VFQFQeYqvtT_+t)MW2aiJHc#K_a=fc}zxTqYmAQd{&8zdn(Wh1yMm-kaxp@_> zb6lK+I%StWzPx^Ud4A*pw7NX^3GPG*2>?rDA%!NHxIGC-fkqZabJB|#oPd_4RpV_Y zy-6+qLBmwTbNicysfNF7(vK3nreUfT>ixHdDP4QSsO?hk)Sda3^c{0eC;#U(Oyl#& zZ=*=s_KL9PlxAPMt!{>^M^5L8J!=e)S{@v1=^1LJK#gDl?{grEi-}#@;v)(Sk zH|9my4tHsOVHv&$uPi}pTBzSEp)e5jjvGx$=z3$ynI`>@=gQN0dvk0abmyFZ^5N2> zfn4`Jn_}BW3oga`nWj&ac$z-w`!rv1rR~Q@iI$gtC5Lo>&?t-qv7+V!7!m`f%4%k0hC z<9h}MBCl}O#2KlYKDn)NHlj2$Kiv%4sQm+8^tP1Tvt+{%iG!CqYPqpSB+>$z8H|=- z!|+x!5^K|+yQBcih;z)!tVm5 z99l9im(Q_8wmB_{iE(S38fv_uxHbd(&AqQq(8baHSoz$ifm(q&(>vGQeO|S}9_E!5 zOLLQNp4^4WA=udNwM zvX=w!20I@fFhdYLY<~51zzlDce|MRpq1=BKwPGxR@F2e+DzEVWqE?IoZO>o)N44VD zt9XbF`w)*Go9sYiISKfOpBEOFmRD9GKQs{0Py$GA++|Lhn_^Q|1iL)WCA`Cr$w|5|&60kA{{*4F<*@xlnNgycyQ@r-azy7R>d|L1-B5g^5`>zGVTz zK$Gi!LVH(6h)ZvUe*%1=c>!oz6vliPA;GR*`LCp}_%EdISIk#CHp<{p!>$kSb>?UH z%>In|n!%Xw{M_EJq_5@Tf;j|Pzzz7q>>&s`0As#SyDrZzGGJQ{_#_H~;Pa@HUy_%L1i6Z;E;zw^*j2zt5%wZq^q%%S|u{=!Z30tDZ&Vet3Aq<&$F_x!K- z;(tMc}Q@mBzBp*sO-H^1Z@|1_$&@)^1;zN!!9^b7c z_k+U0aTD3*6rbQK-)1<>-uc|?$fLKWo(gN8v*h9ND9q_OcIdtDTjS@7)(>T&pgZxq ztz!5Tt-g#ujo5W9s{BA%$!WX&T}>!W}a3o zq>Jg;BrrZp1iEZ%jz96^74{%e0v1O~AYx2}qMwvzAATff6o@3ME9I)zXkVJ0pAtT! zEY%!C0B(#!MvHubce$y7)0 z^XEXKxp)yyn3u16ki`Z&33>&Tmu9@Nx55oFMLFdXsc6*k;y2*|uLf!%F8R^PTD(F` zp1;UhTHx?at9ZIMStf>#WIvW;Zg_L6y|c_-3)(Y%K5ND^^m^9=10" + }, + "keywords": [ + "react-weblineindia-ck-editor", + "react-ck-editor", + "reactjs-ck-editor", + "react-editor", + "react-ckeditor", + "rich-text-editor", + "wysiwyg-editor", + "reactjs-wysiwyg" + ], + "scripts": { + "build": "microbundle-crl --no-compress --format modern,cjs", + "start": "microbundle-crl watch --no-compress --format modern,cjs", + "prepare": "run-s build", + "test": "run-s test:unit test:lint test:build", + "test:build": "run-s build", + "test:lint": "eslint .", + "test:unit": "cross-env CI=1 react-scripts test --env=jsdom", + "test:watch": "react-scripts test --env=jsdom", + "predeploy": "cd example && npm install && npm run build", + "deploy": "gh-pages -d example/build" + }, + "peerDependencies": { + "react": "^16.0.0" + }, + "devDependencies": { + "microbundle-crl": "^0.13.10", + "babel-eslint": "^10.0.3", + "cross-env": "^7.0.2", + "eslint": "^6.8.0", + "eslint-config-prettier": "^6.7.0", + "eslint-config-standard": "^14.1.0", + "eslint-config-standard-react": "^9.2.0", + "eslint-plugin-import": "^2.18.2", + "eslint-plugin-node": "^11.0.0", + "eslint-plugin-prettier": "^3.1.1", + "eslint-plugin-promise": "^4.2.1", + "eslint-plugin-react": "^7.17.0", + "eslint-plugin-standard": "^4.0.1", + "gh-pages": "^2.2.0", + "npm-run-all": "^4.1.5", + "prettier": "^2.0.4", + "react": "^16.13.1", + "react-dom": "^16.13.1", + "react-scripts": "^3.4.1" + }, + "dependencies": { + "react-quill": "^1.3.5" + }, + "files": [ + "dist" + ] +} diff --git a/src/.eslintrc b/src/.eslintrc new file mode 100644 index 0000000..55f121d --- /dev/null +++ b/src/.eslintrc @@ -0,0 +1,5 @@ +{ + "env": { + "jest": true + } +} diff --git a/src/index.js b/src/index.js new file mode 100644 index 0000000..f6a1376 --- /dev/null +++ b/src/index.js @@ -0,0 +1,103 @@ +import React from "react"; +import PropTypes from "prop-types"; +import ReactQuill from "react-quill"; +import "react-quill/dist/quill.snow.css"; +/* + * Simple editor component that takes placeholder text as a prop + */ +class Editor extends React.Component { + constructor(props) { + super(props); + this.state = { + }; + } + + handleChange(html) { + this.props.handleChange(html); + } + + handleThemeChange(newTheme) { + if (newTheme === "core") newTheme = null; + this.props.handleThemeChange(newTheme); + } + + render() { + return ( +
+ +
+ ); + } +} + +Editor.propTypes = { + toolbar: PropTypes.any, + formats: PropTypes.any, + placeholder: PropTypes.string, + value: PropTypes.any, + handleThemeChange: PropTypes.func, + handleChange: PropTypes.func, + modules: PropTypes.any, + theme:PropTypes.string +}; +Editor.defaultProps = { + theme:'snow', + handleThemeChange: function () {}, + handleChange: function () {}, + value: "", + placeholder: "Type Something", + modules: { + toolbar: [ + [{ header: "1" }, { header: "2" }, { font: [] }], + [{ size: [] }], + ["bold", "italic", "underline", "strike", "blockquote"], + [ + { list: "ordered" }, + { list: "bullet" }, + { indent: "-1" }, + { indent: "+1" }, + ], + ["link", "image", "video"], + ["clean"], + ], + }, + toolbar: [ + [{ header: "1" }, { header: "2" }, { font: [] }], + [{ size: [] }], + ["bold", "italic", "underline", "strike", "blockquote"], + [ + { list: "ordered" }, + { list: "bullet" }, + { indent: "-1" }, + { indent: "+1" }, + ], + ["link", "image", "video"], + ["clean"], + ], + formats: [ + "header", + "font", + "size", + "bold", + "italic", + "underline", + "strike", + "blockquote", + "list", + "bullet", + "indent", + "link", + "image", + "video", + ], +}; + +export default Editor; diff --git a/src/index.test.js b/src/index.test.js new file mode 100644 index 0000000..a0f0449 --- /dev/null +++ b/src/index.test.js @@ -0,0 +1,7 @@ +import { ExampleComponent } from '.' + +describe('ExampleComponent', () => { + it('is truthy', () => { + expect(ExampleComponent).toBeTruthy() + }) +}) diff --git a/src/styles.module.css b/src/styles.module.css new file mode 100644 index 0000000..41006b5 --- /dev/null +++ b/src/styles.module.css @@ -0,0 +1,9 @@ +/* add css module styles here (optional) */ + +.test { + margin: 2em; + padding: 0.5em; + border: 2px solid #000; + font-size: 2em; + text-align: center; +} diff --git a/src/util.js b/src/util.js new file mode 100644 index 0000000..edd61ca --- /dev/null +++ b/src/util.js @@ -0,0 +1,56 @@ +export const valueExistInSelected = (value, values, props) => + !!values.find((val) => getByPath(val, props['valueField']) === value); + +export const hexToRGBA = (hex, alpha) => { + const RR = parseInt(hex.slice(1, 3), 16); + const GG = parseInt(hex.slice(3, 5), 16); + const BB = parseInt(hex.slice(5, 7), 16); + + return `rgba(${RR}, ${GG}, ${BB}${alpha && `, ${alpha}`})`; +}; + +export const debounce = (fn, delay = 0) => { + let timerId; + + return (...args) => { + if (timerId) { + clearTimeout(timerId); + } + timerId = setTimeout(() => { + fn(...args); + timerId = null; + }, delay); + }; +}; + +export const isEqual = (a, b) => JSON.stringify(a) === JSON.stringify(b); + +export const getByPath = (object, path) => { + if (!path) { + return; + } + + return path.split('.').reduce((acc, value) => acc[value], object); +}; + +export const getProp = (object, path, defaultValue) => { + if (!path) { + return object; + } + + const normalizedPath = Array.isArray(path) ? path : path.split('.').filter((item) => item.length); + + if (!normalizedPath.length) { + return object === undefined ? defaultValue : object; + } + + return getProp(object[normalizedPath.shift()], normalizedPath, defaultValue); +}; + +export const isomorphicWindow = () => { + if (typeof window == 'undefined') { + global.window = {}; + } + + return window; +};