PK!autosave.min.jsnu[/*! This file is auto-generated */ window.autosave=function(){return!0},function(c,a){function n(){T={post_title:c("#title").val()||"",content:c("#content").val()||"",excerpt:c("#excerpt").val()||""},w=r(T)}function i(t){var e=(new Date).getTime(),n=[],o=u();return o&&o.isDirty()&&!o.isHidden()&&H/g,">").replace(/"/g,""").replace(/'/g,"'")}r.instances={},r.getInstance=function(t){return r.instances[t]},r._buttonsInit=function(t){var c=this;function e(t){var e,n,o=c.instances[t],a=(o.canvas,o.name),i=o.settings,s="",l={},u="";for(n in i.buttons&&(u=","+i.buttons+","),edButtons)edButtons[n]&&(e=edButtons[n].id,u&&-1!==",strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,".indexOf(","+e+",")&&-1===u.indexOf(","+e+",")||edButtons[n].instance&&edButtons[n].instance!==t||(l[e]=edButtons[n],edButtons[n].html&&(s+=edButtons[n].html(a+"_"))));u&&-1!==u.indexOf(",dfw,")&&(l.dfw=new r.DFWButton,s+=l.dfw.html(a+"_")),"rtl"===document.getElementsByTagName("html")[0].dir&&(l.textdirection=new r.TextDirectionButton,s+=l.textdirection.html(a+"_")),o.toolbar.innerHTML=s,o.theButtons=l,"undefined"!=typeof jQuery&&jQuery(document).triggerHandler("quicktags-init",[o])}if(t)e(t);else for(t in c.instances)e(t);c.buttonsInitDone=!0},r.addButton=function(t,e,n,o,a,i,s,l,u){var c;if(t&&e){if(s=s||0,o=o||"",u=u||{},"function"==typeof n)(c=new r.Button(t,e,a,i,l,u)).callback=n;else{if("string"!=typeof n)return;c=new r.TagButton(t,e,n,o,a,i,l,u)}if(-1===s)return c;if(0":"dfw"===this.id?(e=i&&i.isActive()?"":' disabled="disabled"','"):'"},r.Button.prototype.callback=function(){},r.TagButton=function(t,e,n,o,a,i,s,l){r.Button.call(this,t,e,a,i,s,l),this.tagStart=n,this.tagEnd=o},r.TagButton.prototype=new r.Button,r.TagButton.prototype.openTag=function(t,e){e.openTags||(e.openTags=[]),this.tagEnd&&(e.openTags.push(this.id),t.value="/"+t.value,this.attr.ariaLabelClose)&&t.setAttribute("aria-label",this.attr.ariaLabelClose)},r.TagButton.prototype.closeTag=function(t,e){var n=this.isOpen(e);!1!==n&&e.openTags.splice(n,1),t.value=this.display,this.attr.ariaLabel&&t.setAttribute("aria-label",this.attr.ariaLabel)},r.TagButton.prototype.isOpen=function(t){var e=0,n=!1;if(t.openTags)for(;!1===n&&e","","","",t)},r.LinkButton.prototype=new r.TagButton,r.LinkButton.prototype.callback=function(t,e,n,o){"undefined"!=typeof wpLink?wpLink.open(n.id):(o=o||"http://",!1===this.isOpen(n)?(o=prompt(quicktagsL10n.enterURL,o))&&(this.tagStart='',r.TagButton.prototype.callback.call(this,t,e,n)):r.TagButton.prototype.callback.call(this,t,e,n))},r.ImgButton=function(){var t={ariaLabel:quicktagsL10n.image};r.TagButton.call(this,"img","img","","","","","",t)},r.ImgButton.prototype=new r.TagButton,r.ImgButton.prototype.callback=function(t,e,n,o){o=o||"http://";var a,o=prompt(quicktagsL10n.enterImageURL,o);o&&(a=prompt(quicktagsL10n.enterImageDescription,""),this.tagStart=''+a+'',r.TagButton.prototype.callback.call(this,t,e,n))},r.DFWButton=function(){r.Button.call(this,"dfw","","f",quicktagsL10n.dfw)},r.DFWButton.prototype=new r.Button,r.DFWButton.prototype.callback=function(){var t;(t=window.wp)&&t.editor&&t.editor.dfw&&window.wp.editor.dfw.toggle()},r.TextDirectionButton=function(){r.Button.call(this,"textdirection",quicktagsL10n.textdirection,"",quicktagsL10n.toggleTextdirection)},r.TextDirectionButton.prototype=new r.Button,r.TextDirectionButton.prototype.callback=function(t,e){var n="rtl"===document.getElementsByTagName("html")[0].dir,o=(o=e.style.direction)||(n?"rtl":"ltr");e.style.direction="rtl"===o?"ltr":"rtl",e.focus()},edButtons[10]=new r.TagButton("strong","b","","","","","",{ariaLabel:quicktagsL10n.strong,ariaLabelClose:quicktagsL10n.strongClose}),edButtons[20]=new r.TagButton("em","i","","","","","",{ariaLabel:quicktagsL10n.em,ariaLabelClose:quicktagsL10n.emClose}),edButtons[30]=new r.LinkButton,edButtons[40]=new r.TagButton("block","b-quote","\n\n
","
\n\n","","","",{ariaLabel:quicktagsL10n.blockquote,ariaLabelClose:quicktagsL10n.blockquoteClose}),edButtons[50]=new r.TagButton("del","del",'',"","","","",{ariaLabel:quicktagsL10n.del,ariaLabelClose:quicktagsL10n.delClose}),edButtons[60]=new r.TagButton("ins","ins",'',"","","","",{ariaLabel:quicktagsL10n.ins,ariaLabelClose:quicktagsL10n.insClose}),edButtons[70]=new r.ImgButton,edButtons[80]=new r.TagButton("ul","ul","
    \n","
\n\n","","","",{ariaLabel:quicktagsL10n.ul,ariaLabelClose:quicktagsL10n.ulClose}),edButtons[90]=new r.TagButton("ol","ol","
    \n","
\n\n","","","",{ariaLabel:quicktagsL10n.ol,ariaLabelClose:quicktagsL10n.olClose}),edButtons[100]=new r.TagButton("li","li","\t
  • ","
  • \n","","","",{ariaLabel:quicktagsL10n.li,ariaLabelClose:quicktagsL10n.liClose}),edButtons[110]=new r.TagButton("code","code","","","","","",{ariaLabel:quicktagsL10n.code,ariaLabelClose:quicktagsL10n.codeClose}),edButtons[120]=new r.TagButton("more","more","\x3c!--more--\x3e\n\n","","","","",{ariaLabel:quicktagsL10n.more}),edButtons[140]=new r.CloseButton}(),window.quicktags=function(t){return new window.QTags(t)},window.edInsertContent=function(t,e){return window.QTags.insertContent(e)},window.edButton=function(t,e,n,o,a){return window.QTags.addButton(t,e,n,o,a,"",-1)};PK!Z 0 ? injectUrlWithState( url ) : url ); }; } )( history.replaceState ); history.pushState = ( function( nativePushState ) { return function historyPushState( data, title, url ) { currentHistoryState = data; return nativePushState.call( history, data, title, 'string' === typeof url && url.length > 0 ? injectUrlWithState( url ) : url ); }; } )( history.pushState ); window.addEventListener( 'popstate', function( event ) { currentHistoryState = event.state; } ); }( history ) ); /** * Returns a debounced version of the function. * * @todo Require Underscore.js for this file and retire this. */ debounce = function( fn, delay, context ) { var timeout; return function() { var args = arguments; context = context || this; clearTimeout( timeout ); timeout = setTimeout( function() { timeout = null; fn.apply( context, args ); }, delay ); }; }; /** * @memberOf wp.customize * @alias wp.customize.Preview * * @constructor * @augments wp.customize.Messenger * @augments wp.customize.Class * @mixes wp.customize.Events */ api.Preview = api.Messenger.extend(/** @lends wp.customize.Preview.prototype */{ /** * @param {Object} params - Parameters to configure the messenger. * @param {Object} options - Extend any instance parameter or method with this object. */ initialize: function( params, options ) { var preview = this, urlParser = document.createElement( 'a' ); api.Messenger.prototype.initialize.call( preview, params, options ); urlParser.href = preview.origin(); preview.add( 'scheme', urlParser.protocol.replace( /:$/, '' ) ); preview.body = $( document.body ); preview.window = $( window ); if ( api.settings.channel ) { // If in an iframe, then intercept the link clicks and form submissions. preview.body.on( 'click.preview', 'a', function( event ) { preview.handleLinkClick( event ); } ); preview.body.on( 'submit.preview', 'form', function( event ) { preview.handleFormSubmit( event ); } ); preview.window.on( 'scroll.preview', debounce( function() { preview.send( 'scroll', preview.window.scrollTop() ); }, 200 ) ); preview.bind( 'scroll', function( distance ) { preview.window.scrollTop( distance ); }); } }, /** * Handle link clicks in preview. * * @since 4.7.0 * @access public * * @param {jQuery.Event} event Event. */ handleLinkClick: function( event ) { var preview = this, link, isInternalJumpLink; link = $( event.target ).closest( 'a' ); // No-op if the anchor is not a link. if ( _.isUndefined( link.attr( 'href' ) ) ) { return; } // Allow internal jump links and JS links to behave normally without preventing default. isInternalJumpLink = ( '#' === link.attr( 'href' ).substr( 0, 1 ) ); if ( isInternalJumpLink || ! /^https?:$/.test( link.prop( 'protocol' ) ) ) { return; } // If the link is not previewable, prevent the browser from navigating to it. if ( ! api.isLinkPreviewable( link[0] ) ) { wp.a11y.speak( api.settings.l10n.linkUnpreviewable ); event.preventDefault(); return; } // Prevent initiating navigating from click and instead rely on sending url message to pane. event.preventDefault(); /* * Note the shift key is checked so shift+click on widgets or * nav menu items can just result on focusing on the corresponding * control instead of also navigating to the URL linked to. */ if ( event.shiftKey ) { return; } // Note: It's not relevant to send scroll because sending url message will have the same effect. preview.send( 'url', link.prop( 'href' ) ); }, /** * Handle form submit. * * @since 4.7.0 * @access public * * @param {jQuery.Event} event Event. */ handleFormSubmit: function( event ) { var preview = this, urlParser, form; urlParser = document.createElement( 'a' ); form = $( event.target ); urlParser.href = form.prop( 'action' ); // If the link is not previewable, prevent the browser from navigating to it. if ( 'GET' !== form.prop( 'method' ).toUpperCase() || ! api.isLinkPreviewable( urlParser ) ) { wp.a11y.speak( api.settings.l10n.formUnpreviewable ); event.preventDefault(); return; } /* * If the default wasn't prevented already (in which case the form * submission is already being handled by JS), and if it has a GET * request method, then take the serialized form data and add it as * a query string to the action URL and send this in a url message * to the customizer pane so that it will be loaded. If the form's * action points to a non-previewable URL, the customizer pane's * previewUrl setter will reject it so that the form submission is * a no-op, which is the same behavior as when clicking a link to an * external site in the preview. */ if ( ! event.isDefaultPrevented() ) { if ( urlParser.search.length > 1 ) { urlParser.search += '&'; } urlParser.search += form.serialize(); preview.send( 'url', urlParser.href ); } // Prevent default since navigation should be done via sending url message or via JS submit handler. event.preventDefault(); } }); /** * Inject the changeset UUID into links in the document. * * @since 4.7.0 * @access protected * @access private * * @return {void} */ api.addLinkPreviewing = function addLinkPreviewing() { var linkSelectors = 'a[href], area[href]'; // Inject links into initial document. $( document.body ).find( linkSelectors ).each( function() { api.prepareLinkPreview( this ); } ); // Inject links for new elements added to the page. if ( 'undefined' !== typeof MutationObserver ) { api.mutationObserver = new MutationObserver( function( mutations ) { _.each( mutations, function( mutation ) { $( mutation.target ).find( linkSelectors ).each( function() { api.prepareLinkPreview( this ); } ); } ); } ); api.mutationObserver.observe( document.documentElement, { childList: true, subtree: true } ); } else { // If mutation observers aren't available, fallback to just-in-time injection. $( document.documentElement ).on( 'click focus mouseover', linkSelectors, function() { api.prepareLinkPreview( this ); } ); } }; /** * Should the supplied link is previewable. * * @since 4.7.0 * @access public * * @param {HTMLAnchorElement|HTMLAreaElement} element Link element. * @param {string} element.search Query string. * @param {string} element.pathname Path. * @param {string} element.host Host. * @param {Object} [options] * @param {Object} [options.allowAdminAjax=false] Allow admin-ajax.php requests. * @return {boolean} Is appropriate for changeset link. */ api.isLinkPreviewable = function isLinkPreviewable( element, options ) { var matchesAllowedUrl, parsedAllowedUrl, args, elementHost; args = _.extend( {}, { allowAdminAjax: false }, options || {} ); if ( 'javascript:' === element.protocol ) { // jshint ignore:line return true; } // Only web URLs can be previewed. if ( 'https:' !== element.protocol && 'http:' !== element.protocol ) { return false; } elementHost = element.host.replace( /:(80|443)$/, '' ); parsedAllowedUrl = document.createElement( 'a' ); matchesAllowedUrl = ! _.isUndefined( _.find( api.settings.url.allowed, function( allowedUrl ) { parsedAllowedUrl.href = allowedUrl; return parsedAllowedUrl.protocol === element.protocol && parsedAllowedUrl.host.replace( /:(80|443)$/, '' ) === elementHost && 0 === element.pathname.indexOf( parsedAllowedUrl.pathname.replace( /\/$/, '' ) ); } ) ); if ( ! matchesAllowedUrl ) { return false; } // Skip wp login and signup pages. if ( /\/wp-(login|signup)\.php$/.test( element.pathname ) ) { return false; } // Allow links to admin ajax as faux frontend URLs. if ( /\/wp-admin\/admin-ajax\.php$/.test( element.pathname ) ) { return args.allowAdminAjax; } // Disallow links to admin, includes, and content. if ( /\/wp-(admin|includes|content)(\/|$)/.test( element.pathname ) ) { return false; } return true; }; /** * Inject the customize_changeset_uuid query param into links on the frontend. * * @since 4.7.0 * @access protected * * @param {HTMLAnchorElement|HTMLAreaElement} element Link element. * @param {string} element.search Query string. * @param {string} element.host Host. * @param {string} element.protocol Protocol. * @return {void} */ api.prepareLinkPreview = function prepareLinkPreview( element ) { var queryParams, $element = $( element ); // Skip elements with no href attribute. Check first to avoid more expensive checks down the road. if ( ! element.hasAttribute( 'href' ) ) { return; } // Skip links in admin bar. if ( $element.closest( '#wpadminbar' ).length ) { return; } // Ignore links with href="#", href="#id", or non-HTTP protocols (e.g. javascript: and mailto:). if ( '#' === $element.attr( 'href' ).substr( 0, 1 ) || ! /^https?:$/.test( element.protocol ) ) { return; } // Make sure links in preview use HTTPS if parent frame uses HTTPS. if ( api.settings.channel && 'https' === api.preview.scheme.get() && 'http:' === element.protocol && -1 !== api.settings.url.allowedHosts.indexOf( element.host ) ) { element.protocol = 'https:'; } // Ignore links with class wp-playlist-caption. if ( $element.hasClass( 'wp-playlist-caption' ) ) { return; } if ( ! api.isLinkPreviewable( element ) ) { // Style link as unpreviewable only if previewing in iframe; if previewing on frontend, links will be allowed to work normally. if ( api.settings.channel ) { $element.addClass( 'customize-unpreviewable' ); } return; } $element.removeClass( 'customize-unpreviewable' ); queryParams = api.utils.parseQueryString( element.search.substring( 1 ) ); queryParams.customize_changeset_uuid = api.settings.changeset.uuid; if ( api.settings.changeset.autosaved ) { queryParams.customize_autosaved = 'on'; } if ( ! api.settings.theme.active ) { queryParams.customize_theme = api.settings.theme.stylesheet; } if ( api.settings.channel ) { queryParams.customize_messenger_channel = api.settings.channel; } element.search = $.param( queryParams ); }; /** * Inject the changeset UUID into Ajax requests. * * @since 4.7.0 * @access protected * * @return {void} */ api.addRequestPreviewing = function addRequestPreviewing() { /** * Rewrite Ajax requests to inject customizer state. * * @param {Object} options Options. * @param {string} options.type Type. * @param {string} options.url URL. * @param {Object} originalOptions Original options. * @param {XMLHttpRequest} xhr XHR. * @return {void} */ var prefilterAjax = function( options, originalOptions, xhr ) { var urlParser, queryParams, requestMethod, dirtyValues = {}; urlParser = document.createElement( 'a' ); urlParser.href = options.url; // Abort if the request is not for this site. if ( ! api.isLinkPreviewable( urlParser, { allowAdminAjax: true } ) ) { return; } queryParams = api.utils.parseQueryString( urlParser.search.substring( 1 ) ); // Note that _dirty flag will be cleared with changeset updates. api.each( function( setting ) { if ( setting._dirty ) { dirtyValues[ setting.id ] = setting.get(); } } ); if ( ! _.isEmpty( dirtyValues ) ) { requestMethod = options.type.toUpperCase(); // Override underlying request method to ensure unsaved changes to changeset can be included (force Backbone.emulateHTTP). if ( 'POST' !== requestMethod ) { xhr.setRequestHeader( 'X-HTTP-Method-Override', requestMethod ); queryParams._method = requestMethod; options.type = 'POST'; } // Amend the post data with the customized values. if ( options.data ) { options.data += '&'; } else { options.data = ''; } options.data += $.param( { customized: JSON.stringify( dirtyValues ) } ); } // Include customized state query params in URL. queryParams.customize_changeset_uuid = api.settings.changeset.uuid; if ( api.settings.changeset.autosaved ) { queryParams.customize_autosaved = 'on'; } if ( ! api.settings.theme.active ) { queryParams.customize_theme = api.settings.theme.stylesheet; } // Ensure preview nonce is included with every customized request, to allow post data to be read. queryParams.customize_preview_nonce = api.settings.nonce.preview; urlParser.search = $.param( queryParams ); options.url = urlParser.href; }; $.ajaxPrefilter( prefilterAjax ); }; /** * Inject changeset UUID into forms, allowing preview to persist through submissions. * * @since 4.7.0 * @access protected * * @return {void} */ api.addFormPreviewing = function addFormPreviewing() { // Inject inputs for forms in initial document. $( document.body ).find( 'form' ).each( function() { api.prepareFormPreview( this ); } ); // Inject inputs for new forms added to the page. if ( 'undefined' !== typeof MutationObserver ) { api.mutationObserver = new MutationObserver( function( mutations ) { _.each( mutations, function( mutation ) { $( mutation.target ).find( 'form' ).each( function() { api.prepareFormPreview( this ); } ); } ); } ); api.mutationObserver.observe( document.documentElement, { childList: true, subtree: true } ); } }; /** * Inject changeset into form inputs. * * @since 4.7.0 * @access protected * * @param {HTMLFormElement} form Form. * @return {void} */ api.prepareFormPreview = function prepareFormPreview( form ) { var urlParser, stateParams = {}; if ( ! form.action ) { form.action = location.href; } urlParser = document.createElement( 'a' ); urlParser.href = form.action; // Make sure forms in preview use HTTPS if parent frame uses HTTPS. if ( api.settings.channel && 'https' === api.preview.scheme.get() && 'http:' === urlParser.protocol && -1 !== api.settings.url.allowedHosts.indexOf( urlParser.host ) ) { urlParser.protocol = 'https:'; form.action = urlParser.href; } if ( 'GET' !== form.method.toUpperCase() || ! api.isLinkPreviewable( urlParser ) ) { // Style form as unpreviewable only if previewing in iframe; if previewing on frontend, all forms will be allowed to work normally. if ( api.settings.channel ) { $( form ).addClass( 'customize-unpreviewable' ); } return; } $( form ).removeClass( 'customize-unpreviewable' ); stateParams.customize_changeset_uuid = api.settings.changeset.uuid; if ( api.settings.changeset.autosaved ) { stateParams.customize_autosaved = 'on'; } if ( ! api.settings.theme.active ) { stateParams.customize_theme = api.settings.theme.stylesheet; } if ( api.settings.channel ) { stateParams.customize_messenger_channel = api.settings.channel; } _.each( stateParams, function( value, name ) { var input = $( form ).find( 'input[name="' + name + '"]' ); if ( input.length ) { input.val( value ); } else { $( form ).prepend( $( '', { type: 'hidden', name: name, value: value } ) ); } } ); // Prevent links from breaking out of preview iframe. if ( api.settings.channel ) { form.target = '_self'; } }; /** * Watch current URL and send keep-alive (heartbeat) messages to the parent. * * Keep the customizer pane notified that the preview is still alive * and that the user hasn't navigated to a non-customized URL. * * @since 4.7.0 * @access protected */ api.keepAliveCurrentUrl = ( function() { var previousPathName = location.pathname, previousQueryString = location.search.substr( 1 ), previousQueryParams = null, stateQueryParams = [ 'customize_theme', 'customize_changeset_uuid', 'customize_messenger_channel', 'customize_autosaved' ]; return function keepAliveCurrentUrl() { var urlParser, currentQueryParams; // Short-circuit with keep-alive if previous URL is identical (as is normal case). if ( previousQueryString === location.search.substr( 1 ) && previousPathName === location.pathname ) { api.preview.send( 'keep-alive' ); return; } urlParser = document.createElement( 'a' ); if ( null === previousQueryParams ) { urlParser.search = previousQueryString; previousQueryParams = api.utils.parseQueryString( previousQueryString ); _.each( stateQueryParams, function( name ) { delete previousQueryParams[ name ]; } ); } // Determine if current URL minus customized state params and URL hash. urlParser.href = location.href; currentQueryParams = api.utils.parseQueryString( urlParser.search.substr( 1 ) ); _.each( stateQueryParams, function( name ) { delete currentQueryParams[ name ]; } ); if ( previousPathName !== location.pathname || ! _.isEqual( previousQueryParams, currentQueryParams ) ) { urlParser.search = $.param( currentQueryParams ); urlParser.hash = ''; api.settings.url.self = urlParser.href; api.preview.send( 'ready', { currentUrl: api.settings.url.self, activePanels: api.settings.activePanels, activeSections: api.settings.activeSections, activeControls: api.settings.activeControls, settingValidities: api.settings.settingValidities } ); } else { api.preview.send( 'keep-alive' ); } previousQueryParams = currentQueryParams; previousQueryString = location.search.substr( 1 ); previousPathName = location.pathname; }; } )(); api.settingPreviewHandlers = { /** * Preview changes to custom logo. * * @param {number} attachmentId Attachment ID for custom logo. * @return {void} */ custom_logo: function( attachmentId ) { $( 'body' ).toggleClass( 'wp-custom-logo', !! attachmentId ); }, /** * Preview changes to custom css. * * @param {string} value Custom CSS.. * @return {void} */ custom_css: function( value ) { $( '#wp-custom-css' ).text( value ); }, /** * Preview changes to any of the background settings. * * @return {void} */ background: function() { var css = '', settings = {}; _.each( ['color', 'image', 'preset', 'position_x', 'position_y', 'size', 'repeat', 'attachment'], function( prop ) { settings[ prop ] = api( 'background_' + prop ); } ); /* * The body will support custom backgrounds if either the color or image are set. * * See get_body_class() in /wp-includes/post-template.php */ $( document.body ).toggleClass( 'custom-background', !! ( settings.color() || settings.image() ) ); if ( settings.color() ) { css += 'background-color: ' + settings.color() + ';'; } if ( settings.image() ) { css += 'background-image: url("' + settings.image() + '");'; css += 'background-size: ' + settings.size() + ';'; css += 'background-position: ' + settings.position_x() + ' ' + settings.position_y() + ';'; css += 'background-repeat: ' + settings.repeat() + ';'; css += 'background-attachment: ' + settings.attachment() + ';'; } $( '#custom-background-css' ).text( 'body.custom-background { ' + css + ' }' ); } }; $( function() { var bg, setValue, handleUpdatedChangesetUuid; api.settings = window._wpCustomizeSettings; if ( ! api.settings ) { return; } api.preview = new api.Preview({ url: window.location.href, channel: api.settings.channel }); api.addLinkPreviewing(); api.addRequestPreviewing(); api.addFormPreviewing(); /** * Create/update a setting value. * * @param {string} id - Setting ID. * @param {*} value - Setting value. * @param {boolean} [createDirty] - Whether to create a setting as dirty. Defaults to false. */ setValue = function( id, value, createDirty ) { var setting = api( id ); if ( setting ) { setting.set( value ); } else { createDirty = createDirty || false; setting = api.create( id, value, { id: id } ); // Mark dynamically-created settings as dirty so they will get posted. if ( createDirty ) { setting._dirty = true; } } }; api.preview.bind( 'settings', function( values ) { $.each( values, setValue ); }); api.preview.trigger( 'settings', api.settings.values ); $.each( api.settings._dirty, function( i, id ) { var setting = api( id ); if ( setting ) { setting._dirty = true; } } ); api.preview.bind( 'setting', function( args ) { var createDirty = true; setValue.apply( null, args.concat( createDirty ) ); }); api.preview.bind( 'sync', function( events ) { /* * Delete any settings that already exist locally which haven't been * modified in the controls while the preview was loading. This prevents * situations where the JS value being synced from the pane may differ * from the PHP-sanitized JS value in the preview which causes the * non-sanitized JS value to clobber the PHP-sanitized value. This * is particularly important for selective refresh partials that * have a fallback refresh behavior since infinite refreshing would * result. */ if ( events.settings && events['settings-modified-while-loading'] ) { _.each( _.keys( events.settings ), function( syncedSettingId ) { if ( api.has( syncedSettingId ) && ! events['settings-modified-while-loading'][ syncedSettingId ] ) { delete events.settings[ syncedSettingId ]; } } ); } $.each( events, function( event, args ) { api.preview.trigger( event, args ); }); api.preview.send( 'synced' ); }); api.preview.bind( 'active', function() { api.preview.send( 'nonce', api.settings.nonce ); api.preview.send( 'documentTitle', document.title ); // Send scroll in case of loading via non-refresh. api.preview.send( 'scroll', $( window ).scrollTop() ); }); /** * Handle update to changeset UUID. * * @param {string} uuid - UUID. * @return {void} */ handleUpdatedChangesetUuid = function( uuid ) { api.settings.changeset.uuid = uuid; // Update UUIDs in links and forms. $( document.body ).find( 'a[href], area[href]' ).each( function() { api.prepareLinkPreview( this ); } ); $( document.body ).find( 'form' ).each( function() { api.prepareFormPreview( this ); } ); /* * Replace the UUID in the URL. Note that the wrapped history.replaceState() * will handle injecting the current api.settings.changeset.uuid into the URL, * so this is merely to trigger that logic. */ if ( history.replaceState ) { history.replaceState( currentHistoryState, '', location.href ); } }; api.preview.bind( 'changeset-uuid', handleUpdatedChangesetUuid ); api.preview.bind( 'saved', function( response ) { if ( response.next_changeset_uuid ) { handleUpdatedChangesetUuid( response.next_changeset_uuid ); } api.trigger( 'saved', response ); } ); // Update the URLs to reflect the fact we've started autosaving. api.preview.bind( 'autosaving', function() { if ( api.settings.changeset.autosaved ) { return; } api.settings.changeset.autosaved = true; // Start deferring to any autosave once changeset is updated. $( document.body ).find( 'a[href], area[href]' ).each( function() { api.prepareLinkPreview( this ); } ); $( document.body ).find( 'form' ).each( function() { api.prepareFormPreview( this ); } ); if ( history.replaceState ) { history.replaceState( currentHistoryState, '', location.href ); } } ); /* * Clear dirty flag for settings when saved to changeset so that they * won't be needlessly included in selective refresh or ajax requests. */ api.preview.bind( 'changeset-saved', function( data ) { _.each( data.saved_changeset_values, function( value, settingId ) { var setting = api( settingId ); if ( setting && _.isEqual( setting.get(), value ) ) { setting._dirty = false; } } ); } ); api.preview.bind( 'nonce-refresh', function( nonce ) { $.extend( api.settings.nonce, nonce ); } ); /* * Send a message to the parent customize frame with a list of which * containers and controls are active. */ api.preview.send( 'ready', { currentUrl: api.settings.url.self, activePanels: api.settings.activePanels, activeSections: api.settings.activeSections, activeControls: api.settings.activeControls, settingValidities: api.settings.settingValidities } ); // Send ready when URL changes via JS. setInterval( api.keepAliveCurrentUrl, api.settings.timeouts.keepAliveSend ); // Display a loading indicator when preview is reloading, and remove on failure. api.preview.bind( 'loading-initiated', function () { $( 'body' ).addClass( 'wp-customizer-unloading' ); }); api.preview.bind( 'loading-failed', function () { $( 'body' ).removeClass( 'wp-customizer-unloading' ); }); /* Custom Backgrounds */ bg = $.map( ['color', 'image', 'preset', 'position_x', 'position_y', 'size', 'repeat', 'attachment'], function( prop ) { return 'background_' + prop; } ); api.when.apply( api, bg ).done( function() { $.each( arguments, function() { this.bind( api.settingPreviewHandlers.background ); }); }); /** * Custom Logo * * Toggle the wp-custom-logo body class when a logo is added or removed. * * @since 4.5.0 */ api( 'custom_logo', function ( setting ) { api.settingPreviewHandlers.custom_logo.call( setting, setting.get() ); setting.bind( api.settingPreviewHandlers.custom_logo ); } ); api( 'custom_css[' + api.settings.theme.stylesheet + ']', function( setting ) { setting.bind( api.settingPreviewHandlers.custom_css ); } ); api.trigger( 'preview-ready' ); }); })( wp, jQuery ); PK!-c)Mii tw-sack.jsnu[/* Simple AJAX Code-Kit (SACK) v1.6.1 */ /* 2005 Gregory Wild-Smith */ /* www.twilightuniverse.com */ /* Software licenced under a modified X11 licence, see documentation or authors website for more details */ function sack(file) { this.xmlhttp = null; this.resetData = function() { this.method = "POST"; this.queryStringSeparator = "?"; this.argumentSeparator = "&"; this.URLString = ""; this.encodeURIString = true; this.execute = false; this.element = null; this.elementObj = null; this.requestFile = file; this.vars = new Object(); this.responseStatus = new Array(2); }; this.resetFunctions = function() { this.onLoading = function() { }; this.onLoaded = function() { }; this.onInteractive = function() { }; this.onCompletion = function() { }; this.onError = function() { }; this.onFail = function() { }; }; this.reset = function() { this.resetFunctions(); this.resetData(); }; this.createAJAX = function() { try { this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e1) { try { this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e2) { this.xmlhttp = null; } } if (! this.xmlhttp) { if (typeof XMLHttpRequest != "undefined") { this.xmlhttp = new XMLHttpRequest(); } else { this.failed = true; } } }; this.setVar = function(name, value){ this.vars[name] = Array(value, false); }; this.encVar = function(name, value, returnvars) { if (true == returnvars) { return Array(encodeURIComponent(name), encodeURIComponent(value)); } else { this.vars[encodeURIComponent(name)] = Array(encodeURIComponent(value), true); } } this.processURLString = function(string, encode) { encoded = encodeURIComponent(this.argumentSeparator); regexp = new RegExp(this.argumentSeparator + "|" + encoded); varArray = string.split(regexp); for (i = 0; i < varArray.length; i++){ urlVars = varArray[i].split("="); if (true == encode){ this.encVar(urlVars[0], urlVars[1]); } else { this.setVar(urlVars[0], urlVars[1]); } } } this.createURLString = function(urlstring) { if (this.encodeURIString && this.URLString.length) { this.processURLString(this.URLString, true); } if (urlstring) { if (this.URLString.length) { this.URLString += this.argumentSeparator + urlstring; } else { this.URLString = urlstring; } } // prevents caching of URLString this.setVar("rndval", new Date().getTime()); urlstringtemp = new Array(); for (key in this.vars) { if (false == this.vars[key][1] && true == this.encodeURIString) { encoded = this.encVar(key, this.vars[key][0], true); delete this.vars[key]; this.vars[encoded[0]] = Array(encoded[1], true); key = encoded[0]; } urlstringtemp[urlstringtemp.length] = key + "=" + this.vars[key][0]; } if (urlstring){ this.URLString += this.argumentSeparator + urlstringtemp.join(this.argumentSeparator); } else { this.URLString += urlstringtemp.join(this.argumentSeparator); } } this.runResponse = function() { eval(this.response); } this.runAJAX = function(urlstring) { if (this.failed) { this.onFail(); } else { this.createURLString(urlstring); if (this.element) { this.elementObj = document.getElementById(this.element); } if (this.xmlhttp) { var self = this; if (this.method == "GET") { totalurlstring = this.requestFile + this.queryStringSeparator + this.URLString; this.xmlhttp.open(this.method, totalurlstring, true); } else { this.xmlhttp.open(this.method, this.requestFile, true); try { this.xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") } catch (e) { } } this.xmlhttp.onreadystatechange = function() { switch (self.xmlhttp.readyState) { case 1: self.onLoading(); break; case 2: self.onLoaded(); break; case 3: self.onInteractive(); break; case 4: self.response = self.xmlhttp.responseText; self.responseXML = self.xmlhttp.responseXML; self.responseStatus[0] = self.xmlhttp.status; self.responseStatus[1] = self.xmlhttp.statusText; if (self.execute) { self.runResponse(); } if (self.elementObj) { elemNodeName = self.elementObj.nodeName; elemNodeName.toLowerCase(); if (elemNodeName == "input" || elemNodeName == "select" || elemNodeName == "option" || elemNodeName == "textarea") { self.elementObj.value = self.response; } else { self.elementObj.innerHTML = self.response; } } if (self.responseStatus[0] == "200") { self.onCompletion(); } else { self.onError(); } self.URLString = ""; break; } }; this.xmlhttp.send(this.URLString); } } }; this.reset(); this.createAJAX(); } PK!tWѓ customize-views.min.jsnu[/*! This file is auto-generated */ !function(i,e,o){var t;e&&e.customize&&((t=e.customize).HeaderTool.CurrentView=e.Backbone.View.extend({template:e.template("header-current"),initialize:function(){this.listenTo(this.model,"change",this.render),this.render()},render:function(){return this.$el.html(this.template(this.model.toJSON())),this.setButtons(),this},setButtons:function(){var e=i("#customize-control-header_image .actions .remove");this.model.get("choice")?e.show():e.hide()}}),t.HeaderTool.ChoiceView=e.Backbone.View.extend({template:e.template("header-choice"),className:"header-view",events:{"click .choice,.random":"select","click .close":"removeImage"},initialize:function(){var e=[this.model.get("header").url,this.model.get("choice")];this.listenTo(this.model,"change:selected",this.toggleSelected),o.contains(e,t.get().header_image)&&t.HeaderTool.currentHeader.set(this.extendedModel())},render:function(){return this.$el.html(this.template(this.extendedModel())),this.toggleSelected(),this},toggleSelected:function(){this.$el.toggleClass("selected",this.model.get("selected"))},extendedModel:function(){var e=this.model.get("collection");return o.extend(this.model.toJSON(),{type:e.type})},select:function(){this.preventJump(),this.model.save(),t.HeaderTool.currentHeader.set(this.extendedModel())},preventJump:function(){var e=i(".wp-full-overlay-sidebar-content"),t=e.scrollTop();o.defer(function(){e.scrollTop(t)})},removeImage:function(e){e.stopPropagation(),this.model.destroy(),this.remove()}}),t.HeaderTool.ChoiceListView=e.Backbone.View.extend({initialize:function(){this.listenTo(this.collection,"add",this.addOne),this.listenTo(this.collection,"remove",this.render),this.listenTo(this.collection,"sort",this.render),this.listenTo(this.collection,"change",this.toggleList),this.render()},render:function(){this.$el.empty(),this.collection.each(this.addOne,this),this.toggleList()},addOne:function(e){e.set({collection:this.collection}),e=new t.HeaderTool.ChoiceView({model:e}),this.$el.append(e.render().el)},toggleList:function(){var e=this.$el.parents().prev(".customize-control-title"),t=this.$el.find(".random").parent();this.collection.shouldHideTitle()?e.add(t).hide():e.add(t).show()}}),t.HeaderTool.CombinedList=e.Backbone.View.extend({initialize:function(e){this.collections=e,this.on("all",this.propagate,this)},propagate:function(t,i){o.each(this.collections,function(e){e.trigger(t,i)})}}))}(jQuery,window.wp,_);PK!Cwp-list-revisions.jsnu[/** * @output wp-includes/js/wp-list-revisions.js */ (function(w) { var init = function() { var pr = document.getElementById('post-revisions'), inputs = pr ? pr.getElementsByTagName('input') : []; pr.onclick = function() { var i, checkCount = 0, side; for ( i = 0; i < inputs.length; i++ ) { checkCount += inputs[i].checked ? 1 : 0; side = inputs[i].getAttribute('name'); if ( ! inputs[i].checked && ( 'left' == side && 1 > checkCount || 'right' == side && 1 < checkCount && ( ! inputs[i-1] || ! inputs[i-1].checked ) ) && ! ( inputs[i+1] && inputs[i+1].checked && 'right' == inputs[i+1].getAttribute('name') ) ) inputs[i].style.visibility = 'hidden'; else if ( 'left' == side || 'right' == side ) inputs[i].style.visibility = 'visible'; } }; pr.onclick(); }; if ( w && w.addEventListener ) w.addEventListener('load', init, false); else if ( w && w.attachEvent ) w.attachEvent('onload', init); })(window); PK!((wp-custom-header.jsnu[/** * @output wp-includes/js/wp-custom-header.js */ /* global YT */ (function( window, settings ) { var NativeHandler, YouTubeHandler; /** @namespace wp */ window.wp = window.wp || {}; // Fail gracefully in unsupported browsers. if ( ! ( 'addEventListener' in window ) ) { return; } /** * Trigger an event. * * @param {Element} target HTML element to dispatch the event on. * @param {string} name Event name. */ function trigger( target, name ) { var evt; if ( 'function' === typeof window.Event ) { evt = new Event( name ); } else { evt = document.createEvent( 'Event' ); evt.initEvent( name, true, true ); } target.dispatchEvent( evt ); } /** * Create a custom header instance. * * @memberOf wp * * @class */ function CustomHeader() { this.handlers = { nativeVideo: new NativeHandler(), youtube: new YouTubeHandler() }; } CustomHeader.prototype = { /** * Initialize the custom header. * * If the environment supports video, loops through registered handlers * until one is found that can handle the video. */ initialize: function() { if ( this.supportsVideo() ) { for ( var id in this.handlers ) { var handler = this.handlers[ id ]; if ( 'test' in handler && handler.test( settings ) ) { this.activeHandler = handler.initialize.call( handler, settings ); // Dispatch custom event when the video is loaded. trigger( document, 'wp-custom-header-video-loaded' ); break; } } } }, /** * Determines if the current environment supports video. * * Themes and plugins can override this method to change the criteria. * * @return {boolean} */ supportsVideo: function() { // Don't load video on small screens. @todo Consider bandwidth and other factors. if ( window.innerWidth < settings.minWidth || window.innerHeight < settings.minHeight ) { return false; } return true; }, /** * Base handler for custom handlers to extend. * * @type {BaseHandler} */ BaseVideoHandler: BaseHandler }; /** * Create a video handler instance. * * @memberOf wp * * @class */ function BaseHandler() {} BaseHandler.prototype = { /** * Initialize the video handler. * * @param {Object} settings Video settings. */ initialize: function( settings ) { var handler = this, button = document.createElement( 'button' ); this.settings = settings; this.container = document.getElementById( 'wp-custom-header' ); this.button = button; button.setAttribute( 'type', 'button' ); button.setAttribute( 'id', 'wp-custom-header-video-button' ); button.setAttribute( 'class', 'wp-custom-header-video-button wp-custom-header-video-play' ); button.innerHTML = settings.l10n.play; // Toggle video playback when the button is clicked. button.addEventListener( 'click', function() { if ( handler.isPaused() ) { handler.play(); } else { handler.pause(); } }); // Update the button class and text when the video state changes. this.container.addEventListener( 'play', function() { button.className = 'wp-custom-header-video-button wp-custom-header-video-play'; button.innerHTML = settings.l10n.pause; if ( 'a11y' in window.wp ) { window.wp.a11y.speak( settings.l10n.playSpeak); } }); this.container.addEventListener( 'pause', function() { button.className = 'wp-custom-header-video-button wp-custom-header-video-pause'; button.innerHTML = settings.l10n.play; if ( 'a11y' in window.wp ) { window.wp.a11y.speak( settings.l10n.pauseSpeak); } }); this.ready(); }, /** * Ready method called after a handler is initialized. * * @abstract */ ready: function() {}, /** * Whether the video is paused. * * @abstract * @return {boolean} */ isPaused: function() {}, /** * Pause the video. * * @abstract */ pause: function() {}, /** * Play the video. * * @abstract */ play: function() {}, /** * Append a video node to the header container. * * @param {Element} node HTML element. */ setVideo: function( node ) { var editShortcutNode, editShortcut = this.container.getElementsByClassName( 'customize-partial-edit-shortcut' ); if ( editShortcut.length ) { editShortcutNode = this.container.removeChild( editShortcut[0] ); } this.container.innerHTML = ''; this.container.appendChild( node ); if ( editShortcutNode ) { this.container.appendChild( editShortcutNode ); } }, /** * Show the video controls. * * Appends a play/pause button to header container. */ showControls: function() { if ( ! this.container.contains( this.button ) ) { this.container.appendChild( this.button ); } }, /** * Whether the handler can process a video. * * @abstract * @param {Object} settings Video settings. * @return {boolean} */ test: function() { return false; }, /** * Trigger an event on the header container. * * @param {string} name Event name. */ trigger: function( name ) { trigger( this.container, name ); } }; /** * Create a custom handler. * * @memberOf wp * * @param {Object} protoProps Properties to apply to the prototype. * @return CustomHandler The subclass. */ BaseHandler.extend = function( protoProps ) { var prop; function CustomHandler() { var result = BaseHandler.apply( this, arguments ); return result; } CustomHandler.prototype = Object.create( BaseHandler.prototype ); CustomHandler.prototype.constructor = CustomHandler; for ( prop in protoProps ) { CustomHandler.prototype[ prop ] = protoProps[ prop ]; } return CustomHandler; }; /** * Native video handler. * * @memberOf wp * * @class */ NativeHandler = BaseHandler.extend(/** @lends wp.NativeHandler.prototype */{ /** * Whether the native handler supports a video. * * @param {Object} settings Video settings. * @return {boolean} */ test: function( settings ) { var video = document.createElement( 'video' ); return video.canPlayType( settings.mimeType ); }, /** * Set up a native video element. */ ready: function() { var handler = this, video = document.createElement( 'video' ); video.id = 'wp-custom-header-video'; video.autoplay = true; video.loop = true; video.muted = true; video.playsInline = true; video.width = this.settings.width; video.height = this.settings.height; video.addEventListener( 'play', function() { handler.trigger( 'play' ); }); video.addEventListener( 'pause', function() { handler.trigger( 'pause' ); }); video.addEventListener( 'canplay', function() { handler.showControls(); }); this.video = video; handler.setVideo( video ); video.src = this.settings.videoUrl; }, /** * Whether the video is paused. * * @return {boolean} */ isPaused: function() { return this.video.paused; }, /** * Pause the video. */ pause: function() { this.video.pause(); }, /** * Play the video. */ play: function() { this.video.play(); } }); /** * YouTube video handler. * * @memberOf wp * * @class wp.YouTubeHandler */ YouTubeHandler = BaseHandler.extend(/** @lends wp.YouTubeHandler.prototype */{ /** * Whether the handler supports a video. * * @param {Object} settings Video settings. * @return {boolean} */ test: function( settings ) { return 'video/x-youtube' === settings.mimeType; }, /** * Set up a YouTube iframe. * * Loads the YouTube IFrame API if the 'YT' global doesn't exist. */ ready: function() { var handler = this; if ( 'YT' in window ) { YT.ready( handler.loadVideo.bind( handler ) ); } else { var tag = document.createElement( 'script' ); tag.src = 'https://www.youtube.com/iframe_api'; tag.onload = function () { YT.ready( handler.loadVideo.bind( handler ) ); }; document.getElementsByTagName( 'head' )[0].appendChild( tag ); } }, /** * Load a YouTube video. */ loadVideo: function() { var handler = this, video = document.createElement( 'div' ), // @link http://stackoverflow.com/a/27728417 VIDEO_ID_REGEX = /^.*(?:(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/)|(?:(?:watch)?\?v(?:i)?=|\&v(?:i)?=))([^#\&\?]*).*/; video.id = 'wp-custom-header-video'; handler.setVideo( video ); handler.player = new YT.Player( video, { height: this.settings.height, width: this.settings.width, videoId: this.settings.videoUrl.match( VIDEO_ID_REGEX )[1], events: { onReady: function( e ) { e.target.mute(); handler.showControls(); }, onStateChange: function( e ) { if ( YT.PlayerState.PLAYING === e.data ) { handler.trigger( 'play' ); } else if ( YT.PlayerState.PAUSED === e.data ) { handler.trigger( 'pause' ); } else if ( YT.PlayerState.ENDED === e.data ) { e.target.playVideo(); } } }, playerVars: { autoplay: 1, controls: 0, disablekb: 1, fs: 0, iv_load_policy: 3, loop: 1, modestbranding: 1, playsinline: 1, rel: 0, showinfo: 0 } }); }, /** * Whether the video is paused. * * @return {boolean} */ isPaused: function() { return YT.PlayerState.PAUSED === this.player.getPlayerState(); }, /** * Pause the video. */ pause: function() { this.player.pauseVideo(); }, /** * Play the video. */ play: function() { this.player.playVideo(); } }); // Initialize the custom header when the DOM is ready. window.wp.customHeader = new CustomHeader(); document.addEventListener( 'DOMContentLoaded', window.wp.customHeader.initialize.bind( window.wp.customHeader ), false ); // Selective refresh support in the Customizer. if ( 'customize' in window.wp ) { window.wp.customize.selectiveRefresh.bind( 'render-partials-response', function( response ) { if ( 'custom_header_settings' in response ) { settings = response.custom_header_settings; } }); window.wp.customize.selectiveRefresh.bind( 'partial-content-rendered', function( placement ) { if ( 'custom_header' === placement.partial.id ) { window.wp.customHeader.initialize(); } }); } })( window, window._wpCustomHeaderSettings || {} ); PK!y,~7~7 backbone.jsnu[// Backbone.js 1.5.0 // (c) 2010-2022 Jeremy Ashkenas and DocumentCloud // Backbone may be freely distributed under the MIT license. // For all details and documentation: // http://backbonejs.org (function(factory) { // Establish the root object, `window` (`self`) in the browser, or `global` on the server. // We use `self` instead of `window` for `WebWorker` support. var root = typeof self == 'object' && self.self === self && self || typeof global == 'object' && global.global === global && global; // Set up Backbone appropriately for the environment. Start with AMD. if (typeof define === 'function' && define.amd) { define(['underscore', 'jquery', 'exports'], function(_, $, exports) { // Export global even in AMD case in case this script is loaded with // others that may still expect a global Backbone. root.Backbone = factory(root, exports, _, $); }); // Next for Node.js or CommonJS. jQuery may not be needed as a module. } else if (typeof exports !== 'undefined') { var _ = require('underscore'), $; try { $ = require('jquery'); } catch (e) {} factory(root, exports, _, $); // Finally, as a browser global. } else { root.Backbone = factory(root, {}, root._, root.jQuery || root.Zepto || root.ender || root.$); } })(function(root, Backbone, _, $) { // Initial Setup // ------------- // Save the previous value of the `Backbone` variable, so that it can be // restored later on, if `noConflict` is used. var previousBackbone = root.Backbone; // Create a local reference to a common array method we'll want to use later. var slice = Array.prototype.slice; // Current version of the library. Keep in sync with `package.json`. Backbone.VERSION = '1.5.0'; // For Backbone's purposes, jQuery, Zepto, Ender, or My Library (kidding) owns // the `$` variable. Backbone.$ = $; // Runs Backbone.js in *noConflict* mode, returning the `Backbone` variable // to its previous owner. Returns a reference to this Backbone object. Backbone.noConflict = function() { root.Backbone = previousBackbone; return this; }; // Turn on `emulateHTTP` to support legacy HTTP servers. Setting this option // will fake `"PATCH"`, `"PUT"` and `"DELETE"` requests via the `_method` parameter and // set a `X-Http-Method-Override` header. Backbone.emulateHTTP = false; // Turn on `emulateJSON` to support legacy servers that can't deal with direct // `application/json` requests ... this will encode the body as // `application/x-www-form-urlencoded` instead and will send the model in a // form param named `model`. Backbone.emulateJSON = false; // Backbone.Events // --------------- // A module that can be mixed in to *any object* in order to provide it with // a custom event channel. You may bind a callback to an event with `on` or // remove with `off`; `trigger`-ing an event fires all callbacks in // succession. // // var object = {}; // _.extend(object, Backbone.Events); // object.on('expand', function(){ alert('expanded'); }); // object.trigger('expand'); // var Events = Backbone.Events = {}; // Regular expression used to split event strings. var eventSplitter = /\s+/; // A private global variable to share between listeners and listenees. var _listening; // Iterates over the standard `event, callback` (as well as the fancy multiple // space-separated events `"change blur", callback` and jQuery-style event // maps `{event: callback}`). var eventsApi = function(iteratee, events, name, callback, opts) { var i = 0, names; if (name && typeof name === 'object') { // Handle event maps. if (callback !== void 0 && 'context' in opts && opts.context === void 0) opts.context = callback; for (names = _.keys(name); i < names.length ; i++) { events = eventsApi(iteratee, events, names[i], name[names[i]], opts); } } else if (name && eventSplitter.test(name)) { // Handle space-separated event names by delegating them individually. for (names = name.split(eventSplitter); i < names.length; i++) { events = iteratee(events, names[i], callback, opts); } } else { // Finally, standard events. events = iteratee(events, name, callback, opts); } return events; }; // Bind an event to a `callback` function. Passing `"all"` will bind // the callback to all events fired. Events.on = function(name, callback, context) { this._events = eventsApi(onApi, this._events || {}, name, callback, { context: context, ctx: this, listening: _listening }); if (_listening) { var listeners = this._listeners || (this._listeners = {}); listeners[_listening.id] = _listening; // Allow the listening to use a counter, instead of tracking // callbacks for library interop _listening.interop = false; } return this; }; // Inversion-of-control versions of `on`. Tell *this* object to listen to // an event in another object... keeping track of what it's listening to // for easier unbinding later. Events.listenTo = function(obj, name, callback) { if (!obj) return this; var id = obj._listenId || (obj._listenId = _.uniqueId('l')); var listeningTo = this._listeningTo || (this._listeningTo = {}); var listening = _listening = listeningTo[id]; // This object is not listening to any other events on `obj` yet. // Setup the necessary references to track the listening callbacks. if (!listening) { this._listenId || (this._listenId = _.uniqueId('l')); listening = _listening = listeningTo[id] = new Listening(this, obj); } // Bind callbacks on obj. var error = tryCatchOn(obj, name, callback, this); _listening = void 0; if (error) throw error; // If the target obj is not Backbone.Events, track events manually. if (listening.interop) listening.on(name, callback); return this; }; // The reducing API that adds a callback to the `events` object. var onApi = function(events, name, callback, options) { if (callback) { var handlers = events[name] || (events[name] = []); var context = options.context, ctx = options.ctx, listening = options.listening; if (listening) listening.count++; handlers.push({callback: callback, context: context, ctx: context || ctx, listening: listening}); } return events; }; // An try-catch guarded #on function, to prevent poisoning the global // `_listening` variable. var tryCatchOn = function(obj, name, callback, context) { try { obj.on(name, callback, context); } catch (e) { return e; } }; // Remove one or many callbacks. If `context` is null, removes all // callbacks with that function. If `callback` is null, removes all // callbacks for the event. If `name` is null, removes all bound // callbacks for all events. Events.off = function(name, callback, context) { if (!this._events) return this; this._events = eventsApi(offApi, this._events, name, callback, { context: context, listeners: this._listeners }); return this; }; // Tell this object to stop listening to either specific events ... or // to every object it's currently listening to. Events.stopListening = function(obj, name, callback) { var listeningTo = this._listeningTo; if (!listeningTo) return this; var ids = obj ? [obj._listenId] : _.keys(listeningTo); for (var i = 0; i < ids.length; i++) { var listening = listeningTo[ids[i]]; // If listening doesn't exist, this object is not currently // listening to obj. Break out early. if (!listening) break; listening.obj.off(name, callback, this); if (listening.interop) listening.off(name, callback); } if (_.isEmpty(listeningTo)) this._listeningTo = void 0; return this; }; // The reducing API that removes a callback from the `events` object. var offApi = function(events, name, callback, options) { if (!events) return; var context = options.context, listeners = options.listeners; var i = 0, names; // Delete all event listeners and "drop" events. if (!name && !context && !callback) { for (names = _.keys(listeners); i < names.length; i++) { listeners[names[i]].cleanup(); } return; } names = name ? [name] : _.keys(events); for (; i < names.length; i++) { name = names[i]; var handlers = events[name]; // Bail out if there are no events stored. if (!handlers) break; // Find any remaining events. var remaining = []; for (var j = 0; j < handlers.length; j++) { var handler = handlers[j]; if ( callback && callback !== handler.callback && callback !== handler.callback._callback || context && context !== handler.context ) { remaining.push(handler); } else { var listening = handler.listening; if (listening) listening.off(name, callback); } } // Replace events if there are any remaining. Otherwise, clean up. if (remaining.length) { events[name] = remaining; } else { delete events[name]; } } return events; }; // Bind an event to only be triggered a single time. After the first time // the callback is invoked, its listener will be removed. If multiple events // are passed in using the space-separated syntax, the handler will fire // once for each event, not once for a combination of all events. Events.once = function(name, callback, context) { // Map the event into a `{event: once}` object. var events = eventsApi(onceMap, {}, name, callback, this.off.bind(this)); if (typeof name === 'string' && context == null) callback = void 0; return this.on(events, callback, context); }; // Inversion-of-control versions of `once`. Events.listenToOnce = function(obj, name, callback) { // Map the event into a `{event: once}` object. var events = eventsApi(onceMap, {}, name, callback, this.stopListening.bind(this, obj)); return this.listenTo(obj, events); }; // Reduces the event callbacks into a map of `{event: onceWrapper}`. // `offer` unbinds the `onceWrapper` after it has been called. var onceMap = function(map, name, callback, offer) { if (callback) { var once = map[name] = _.once(function() { offer(name, once); callback.apply(this, arguments); }); once._callback = callback; } return map; }; // Trigger one or many events, firing all bound callbacks. Callbacks are // passed the same arguments as `trigger` is, apart from the event name // (unless you're listening on `"all"`, which will cause your callback to // receive the true name of the event as the first argument). Events.trigger = function(name) { if (!this._events) return this; var length = Math.max(0, arguments.length - 1); var args = Array(length); for (var i = 0; i < length; i++) args[i] = arguments[i + 1]; eventsApi(triggerApi, this._events, name, void 0, args); return this; }; // Handles triggering the appropriate event callbacks. var triggerApi = function(objEvents, name, callback, args) { if (objEvents) { var events = objEvents[name]; var allEvents = objEvents.all; if (events && allEvents) allEvents = allEvents.slice(); if (events) triggerEvents(events, args); if (allEvents) triggerEvents(allEvents, [name].concat(args)); } return objEvents; }; // A difficult-to-believe, but optimized internal dispatch function for // triggering events. Tries to keep the usual cases speedy (most internal // Backbone events have 3 arguments). var triggerEvents = function(events, args) { var ev, i = -1, l = events.length, a1 = args[0], a2 = args[1], a3 = args[2]; switch (args.length) { case 0: while (++i < l) (ev = events[i]).callback.call(ev.ctx); return; case 1: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1); return; case 2: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2); return; case 3: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2, a3); return; default: while (++i < l) (ev = events[i]).callback.apply(ev.ctx, args); return; } }; // A listening class that tracks and cleans up memory bindings // when all callbacks have been offed. var Listening = function(listener, obj) { this.id = listener._listenId; this.listener = listener; this.obj = obj; this.interop = true; this.count = 0; this._events = void 0; }; Listening.prototype.on = Events.on; // Offs a callback (or several). // Uses an optimized counter if the listenee uses Backbone.Events. // Otherwise, falls back to manual tracking to support events // library interop. Listening.prototype.off = function(name, callback) { var cleanup; if (this.interop) { this._events = eventsApi(offApi, this._events, name, callback, { context: void 0, listeners: void 0 }); cleanup = !this._events; } else { this.count--; cleanup = this.count === 0; } if (cleanup) this.cleanup(); }; // Cleans up memory bindings between the listener and the listenee. Listening.prototype.cleanup = function() { delete this.listener._listeningTo[this.obj._listenId]; if (!this.interop) delete this.obj._listeners[this.id]; }; // Aliases for backwards compatibility. Events.bind = Events.on; Events.unbind = Events.off; // Allow the `Backbone` object to serve as a global event bus, for folks who // want global "pubsub" in a convenient place. _.extend(Backbone, Events); // Backbone.Model // -------------- // Backbone **Models** are the basic data object in the framework -- // frequently representing a row in a table in a database on your server. // A discrete chunk of data and a bunch of useful, related methods for // performing computations and transformations on that data. // Create a new model with the specified attributes. A client id (`cid`) // is automatically generated and assigned for you. var Model = Backbone.Model = function(attributes, options) { var attrs = attributes || {}; options || (options = {}); this.preinitialize.apply(this, arguments); this.cid = _.uniqueId(this.cidPrefix); this.attributes = {}; if (options.collection) this.collection = options.collection; if (options.parse) attrs = this.parse(attrs, options) || {}; var defaults = _.result(this, 'defaults'); // Just _.defaults would work fine, but the additional _.extends // is in there for historical reasons. See #3843. attrs = _.defaults(_.extend({}, defaults, attrs), defaults); this.set(attrs, options); this.changed = {}; this.initialize.apply(this, arguments); }; // Attach all inheritable methods to the Model prototype. _.extend(Model.prototype, Events, { // A hash of attributes whose current and previous value differ. changed: null, // The value returned during the last failed validation. validationError: null, // The default name for the JSON `id` attribute is `"id"`. MongoDB and // CouchDB users may want to set this to `"_id"`. idAttribute: 'id', // The prefix is used to create the client id which is used to identify models locally. // You may want to override this if you're experiencing name clashes with model ids. cidPrefix: 'c', // preinitialize is an empty function by default. You can override it with a function // or object. preinitialize will run before any instantiation logic is run in the Model. preinitialize: function(){}, // Initialize is an empty function by default. Override it with your own // initialization logic. initialize: function(){}, // Return a copy of the model's `attributes` object. toJSON: function(options) { return _.clone(this.attributes); }, // Proxy `Backbone.sync` by default -- but override this if you need // custom syncing semantics for *this* particular model. sync: function() { return Backbone.sync.apply(this, arguments); }, // Get the value of an attribute. get: function(attr) { return this.attributes[attr]; }, // Get the HTML-escaped value of an attribute. escape: function(attr) { return _.escape(this.get(attr)); }, // Returns `true` if the attribute contains a value that is not null // or undefined. has: function(attr) { return this.get(attr) != null; }, // Special-cased proxy to underscore's `_.matches` method. matches: function(attrs) { return !!_.iteratee(attrs, this)(this.attributes); }, // Set a hash of model attributes on the object, firing `"change"`. This is // the core primitive operation of a model, updating the data and notifying // anyone who needs to know about the change in state. The heart of the beast. set: function(key, val, options) { if (key == null) return this; // Handle both `"key", value` and `{key: value}` -style arguments. var attrs; if (typeof key === 'object') { attrs = key; options = val; } else { (attrs = {})[key] = val; } options || (options = {}); // Run validation. if (!this._validate(attrs, options)) return false; // Extract attributes and options. var unset = options.unset; var silent = options.silent; var changes = []; var changing = this._changing; this._changing = true; if (!changing) { this._previousAttributes = _.clone(this.attributes); this.changed = {}; } var current = this.attributes; var changed = this.changed; var prev = this._previousAttributes; // For each `set` attribute, update or delete the current value. for (var attr in attrs) { val = attrs[attr]; if (!_.isEqual(current[attr], val)) changes.push(attr); if (!_.isEqual(prev[attr], val)) { changed[attr] = val; } else { delete changed[attr]; } unset ? delete current[attr] : current[attr] = val; } // Update the `id`. if (this.idAttribute in attrs) { var prevId = this.id; this.id = this.get(this.idAttribute); this.trigger('changeId', this, prevId, options); } // Trigger all relevant attribute changes. if (!silent) { if (changes.length) this._pending = options; for (var i = 0; i < changes.length; i++) { this.trigger('change:' + changes[i], this, current[changes[i]], options); } } // You might be wondering why there's a `while` loop here. Changes can // be recursively nested within `"change"` events. if (changing) return this; if (!silent) { while (this._pending) { options = this._pending; this._pending = false; this.trigger('change', this, options); } } this._pending = false; this._changing = false; return this; }, // Remove an attribute from the model, firing `"change"`. `unset` is a noop // if the attribute doesn't exist. unset: function(attr, options) { return this.set(attr, void 0, _.extend({}, options, {unset: true})); }, // Clear all attributes on the model, firing `"change"`. clear: function(options) { var attrs = {}; for (var key in this.attributes) attrs[key] = void 0; return this.set(attrs, _.extend({}, options, {unset: true})); }, // Determine if the model has changed since the last `"change"` event. // If you specify an attribute name, determine if that attribute has changed. hasChanged: function(attr) { if (attr == null) return !_.isEmpty(this.changed); return _.has(this.changed, attr); }, // Return an object containing all the attributes that have changed, or // false if there are no changed attributes. Useful for determining what // parts of a view need to be updated and/or what attributes need to be // persisted to the server. Unset attributes will be set to undefined. // You can also pass an attributes object to diff against the model, // determining if there *would be* a change. changedAttributes: function(diff) { if (!diff) return this.hasChanged() ? _.clone(this.changed) : false; var old = this._changing ? this._previousAttributes : this.attributes; var changed = {}; var hasChanged; for (var attr in diff) { var val = diff[attr]; if (_.isEqual(old[attr], val)) continue; changed[attr] = val; hasChanged = true; } return hasChanged ? changed : false; }, // Get the previous value of an attribute, recorded at the time the last // `"change"` event was fired. previous: function(attr) { if (attr == null || !this._previousAttributes) return null; return this._previousAttributes[attr]; }, // Get all of the attributes of the model at the time of the previous // `"change"` event. previousAttributes: function() { return _.clone(this._previousAttributes); }, // Fetch the model from the server, merging the response with the model's // local attributes. Any changed attributes will trigger a "change" event. fetch: function(options) { options = _.extend({parse: true}, options); var model = this; var success = options.success; options.success = function(resp) { var serverAttrs = options.parse ? model.parse(resp, options) : resp; if (!model.set(serverAttrs, options)) return false; if (success) success.call(options.context, model, resp, options); model.trigger('sync', model, resp, options); }; wrapError(this, options); return this.sync('read', this, options); }, // Set a hash of model attributes, and sync the model to the server. // If the server returns an attributes hash that differs, the model's // state will be `set` again. save: function(key, val, options) { // Handle both `"key", value` and `{key: value}` -style arguments. var attrs; if (key == null || typeof key === 'object') { attrs = key; options = val; } else { (attrs = {})[key] = val; } options = _.extend({validate: true, parse: true}, options); var wait = options.wait; // If we're not waiting and attributes exist, save acts as // `set(attr).save(null, opts)` with validation. Otherwise, check if // the model will be valid when the attributes, if any, are set. if (attrs && !wait) { if (!this.set(attrs, options)) return false; } else if (!this._validate(attrs, options)) { return false; } // After a successful server-side save, the client is (optionally) // updated with the server-side state. var model = this; var success = options.success; var attributes = this.attributes; options.success = function(resp) { // Ensure attributes are restored during synchronous saves. model.attributes = attributes; var serverAttrs = options.parse ? model.parse(resp, options) : resp; if (wait) serverAttrs = _.extend({}, attrs, serverAttrs); if (serverAttrs && !model.set(serverAttrs, options)) return false; if (success) success.call(options.context, model, resp, options); model.trigger('sync', model, resp, options); }; wrapError(this, options); // Set temporary attributes if `{wait: true}` to properly find new ids. if (attrs && wait) this.attributes = _.extend({}, attributes, attrs); var method = this.isNew() ? 'create' : options.patch ? 'patch' : 'update'; if (method === 'patch' && !options.attrs) options.attrs = attrs; var xhr = this.sync(method, this, options); // Restore attributes. this.attributes = attributes; return xhr; }, // Destroy this model on the server if it was already persisted. // Optimistically removes the model from its collection, if it has one. // If `wait: true` is passed, waits for the server to respond before removal. destroy: function(options) { options = options ? _.clone(options) : {}; var model = this; var success = options.success; var wait = options.wait; var destroy = function() { model.stopListening(); model.trigger('destroy', model, model.collection, options); }; options.success = function(resp) { if (wait) destroy(); if (success) success.call(options.context, model, resp, options); if (!model.isNew()) model.trigger('sync', model, resp, options); }; var xhr = false; if (this.isNew()) { _.defer(options.success); } else { wrapError(this, options); xhr = this.sync('delete', this, options); } if (!wait) destroy(); return xhr; }, // Default URL for the model's representation on the server -- if you're // using Backbone's restful methods, override this to change the endpoint // that will be called. url: function() { var base = _.result(this, 'urlRoot') || _.result(this.collection, 'url') || urlError(); if (this.isNew()) return base; var id = this.get(this.idAttribute); return base.replace(/[^\/]$/, '$&/') + encodeURIComponent(id); }, // **parse** converts a response into the hash of attributes to be `set` on // the model. The default implementation is just to pass the response along. parse: function(resp, options) { return resp; }, // Create a new model with identical attributes to this one. clone: function() { return new this.constructor(this.attributes); }, // A model is new if it has never been saved to the server, and lacks an id. isNew: function() { return !this.has(this.idAttribute); }, // Check if the model is currently in a valid state. isValid: function(options) { return this._validate({}, _.extend({}, options, {validate: true})); }, // Run validation against the next complete set of model attributes, // returning `true` if all is well. Otherwise, fire an `"invalid"` event. _validate: function(attrs, options) { if (!options.validate || !this.validate) return true; attrs = _.extend({}, this.attributes, attrs); var error = this.validationError = this.validate(attrs, options) || null; if (!error) return true; this.trigger('invalid', this, error, _.extend(options, {validationError: error})); return false; } }); // Backbone.Collection // ------------------- // If models tend to represent a single row of data, a Backbone Collection is // more analogous to a table full of data ... or a small slice or page of that // table, or a collection of rows that belong together for a particular reason // -- all of the messages in this particular folder, all of the documents // belonging to this particular author, and so on. Collections maintain // indexes of their models, both in order, and for lookup by `id`. // Create a new **Collection**, perhaps to contain a specific type of `model`. // If a `comparator` is specified, the Collection will maintain // its models in sort order, as they're added and removed. var Collection = Backbone.Collection = function(models, options) { options || (options = {}); this.preinitialize.apply(this, arguments); if (options.model) this.model = options.model; if (options.comparator !== void 0) this.comparator = options.comparator; this._reset(); this.initialize.apply(this, arguments); if (models) this.reset(models, _.extend({silent: true}, options)); }; // Default options for `Collection#set`. var setOptions = {add: true, remove: true, merge: true}; var addOptions = {add: true, remove: false}; // Splices `insert` into `array` at index `at`. var splice = function(array, insert, at) { at = Math.min(Math.max(at, 0), array.length); var tail = Array(array.length - at); var length = insert.length; var i; for (i = 0; i < tail.length; i++) tail[i] = array[i + at]; for (i = 0; i < length; i++) array[i + at] = insert[i]; for (i = 0; i < tail.length; i++) array[i + length + at] = tail[i]; }; // Define the Collection's inheritable methods. _.extend(Collection.prototype, Events, { // The default model for a collection is just a **Backbone.Model**. // This should be overridden in most cases. model: Model, // preinitialize is an empty function by default. You can override it with a function // or object. preinitialize will run before any instantiation logic is run in the Collection. preinitialize: function(){}, // Initialize is an empty function by default. Override it with your own // initialization logic. initialize: function(){}, // The JSON representation of a Collection is an array of the // models' attributes. toJSON: function(options) { return this.map(function(model) { return model.toJSON(options); }); }, // Proxy `Backbone.sync` by default. sync: function() { return Backbone.sync.apply(this, arguments); }, // Add a model, or list of models to the set. `models` may be Backbone // Models or raw JavaScript objects to be converted to Models, or any // combination of the two. add: function(models, options) { return this.set(models, _.extend({merge: false}, options, addOptions)); }, // Remove a model, or a list of models from the set. remove: function(models, options) { options = _.extend({}, options); var singular = !_.isArray(models); models = singular ? [models] : models.slice(); var removed = this._removeModels(models, options); if (!options.silent && removed.length) { options.changes = {added: [], merged: [], removed: removed}; this.trigger('update', this, options); } return singular ? removed[0] : removed; }, // Update a collection by `set`-ing a new list of models, adding new ones, // removing models that are no longer present, and merging models that // already exist in the collection, as necessary. Similar to **Model#set**, // the core operation for updating the data contained by the collection. set: function(models, options) { if (models == null) return; options = _.extend({}, setOptions, options); if (options.parse && !this._isModel(models)) { models = this.parse(models, options) || []; } var singular = !_.isArray(models); models = singular ? [models] : models.slice(); var at = options.at; if (at != null) at = +at; if (at > this.length) at = this.length; if (at < 0) at += this.length + 1; var set = []; var toAdd = []; var toMerge = []; var toRemove = []; var modelMap = {}; var add = options.add; var merge = options.merge; var remove = options.remove; var sort = false; var sortable = this.comparator && at == null && options.sort !== false; var sortAttr = _.isString(this.comparator) ? this.comparator : null; // Turn bare objects into model references, and prevent invalid models // from being added. var model, i; for (i = 0; i < models.length; i++) { model = models[i]; // If a duplicate is found, prevent it from being added and // optionally merge it into the existing model. var existing = this.get(model); if (existing) { if (merge && model !== existing) { var attrs = this._isModel(model) ? model.attributes : model; if (options.parse) attrs = existing.parse(attrs, options); existing.set(attrs, options); toMerge.push(existing); if (sortable && !sort) sort = existing.hasChanged(sortAttr); } if (!modelMap[existing.cid]) { modelMap[existing.cid] = true; set.push(existing); } models[i] = existing; // If this is a new, valid model, push it to the `toAdd` list. } else if (add) { model = models[i] = this._prepareModel(model, options); if (model) { toAdd.push(model); this._addReference(model, options); modelMap[model.cid] = true; set.push(model); } } } // Remove stale models. if (remove) { for (i = 0; i < this.length; i++) { model = this.models[i]; if (!modelMap[model.cid]) toRemove.push(model); } if (toRemove.length) this._removeModels(toRemove, options); } // See if sorting is needed, update `length` and splice in new models. var orderChanged = false; var replace = !sortable && add && remove; if (set.length && replace) { orderChanged = this.length !== set.length || _.some(this.models, function(m, index) { return m !== set[index]; }); this.models.length = 0; splice(this.models, set, 0); this.length = this.models.length; } else if (toAdd.length) { if (sortable) sort = true; splice(this.models, toAdd, at == null ? this.length : at); this.length = this.models.length; } // Silently sort the collection if appropriate. if (sort) this.sort({silent: true}); // Unless silenced, it's time to fire all appropriate add/sort/update events. if (!options.silent) { for (i = 0; i < toAdd.length; i++) { if (at != null) options.index = at + i; model = toAdd[i]; model.trigger('add', model, this, options); } if (sort || orderChanged) this.trigger('sort', this, options); if (toAdd.length || toRemove.length || toMerge.length) { options.changes = { added: toAdd, removed: toRemove, merged: toMerge }; this.trigger('update', this, options); } } // Return the added (or merged) model (or models). return singular ? models[0] : models; }, // When you have more items than you want to add or remove individually, // you can reset the entire set with a new list of models, without firing // any granular `add` or `remove` events. Fires `reset` when finished. // Useful for bulk operations and optimizations. reset: function(models, options) { options = options ? _.clone(options) : {}; for (var i = 0; i < this.models.length; i++) { this._removeReference(this.models[i], options); } options.previousModels = this.models; this._reset(); models = this.add(models, _.extend({silent: true}, options)); if (!options.silent) this.trigger('reset', this, options); return models; }, // Add a model to the end of the collection. push: function(model, options) { return this.add(model, _.extend({at: this.length}, options)); }, // Remove a model from the end of the collection. pop: function(options) { var model = this.at(this.length - 1); return this.remove(model, options); }, // Add a model to the beginning of the collection. unshift: function(model, options) { return this.add(model, _.extend({at: 0}, options)); }, // Remove a model from the beginning of the collection. shift: function(options) { var model = this.at(0); return this.remove(model, options); }, // Slice out a sub-array of models from the collection. slice: function() { return slice.apply(this.models, arguments); }, // Get a model from the set by id, cid, model object with id or cid // properties, or an attributes object that is transformed through modelId. get: function(obj) { if (obj == null) return void 0; return this._byId[obj] || this._byId[this.modelId(this._isModel(obj) ? obj.attributes : obj, obj.idAttribute)] || obj.cid && this._byId[obj.cid]; }, // Returns `true` if the model is in the collection. has: function(obj) { return this.get(obj) != null; }, // Get the model at the given index. at: function(index) { if (index < 0) index += this.length; return this.models[index]; }, // Return models with matching attributes. Useful for simple cases of // `filter`. where: function(attrs, first) { return this[first ? 'find' : 'filter'](attrs); }, // Return the first model with matching attributes. Useful for simple cases // of `find`. findWhere: function(attrs) { return this.where(attrs, true); }, // Force the collection to re-sort itself. You don't need to call this under // normal circumstances, as the set will maintain sort order as each item // is added. sort: function(options) { var comparator = this.comparator; if (!comparator) throw new Error('Cannot sort a set without a comparator'); options || (options = {}); var length = comparator.length; if (_.isFunction(comparator)) comparator = comparator.bind(this); // Run sort based on type of `comparator`. if (length === 1 || _.isString(comparator)) { this.models = this.sortBy(comparator); } else { this.models.sort(comparator); } if (!options.silent) this.trigger('sort', this, options); return this; }, // Pluck an attribute from each model in the collection. pluck: function(attr) { return this.map(attr + ''); }, // Fetch the default set of models for this collection, resetting the // collection when they arrive. If `reset: true` is passed, the response // data will be passed through the `reset` method instead of `set`. fetch: function(options) { options = _.extend({parse: true}, options); var success = options.success; var collection = this; options.success = function(resp) { var method = options.reset ? 'reset' : 'set'; collection[method](resp, options); if (success) success.call(options.context, collection, resp, options); collection.trigger('sync', collection, resp, options); }; wrapError(this, options); return this.sync('read', this, options); }, // Create a new instance of a model in this collection. Add the model to the // collection immediately, unless `wait: true` is passed, in which case we // wait for the server to agree. create: function(model, options) { options = options ? _.clone(options) : {}; var wait = options.wait; model = this._prepareModel(model, options); if (!model) return false; if (!wait) this.add(model, options); var collection = this; var success = options.success; options.success = function(m, resp, callbackOpts) { if (wait) { m.off('error', this._forwardPristineError, this); collection.add(m, callbackOpts); } if (success) success.call(callbackOpts.context, m, resp, callbackOpts); }; // In case of wait:true, our collection is not listening to any // of the model's events yet, so it will not forward the error // event. In this special case, we need to listen for it // separately and handle the event just once. // (The reason we don't need to do this for the sync event is // in the success handler above: we add the model first, which // causes the collection to listen, and then invoke the callback // that triggers the event.) if (wait) { model.once('error', this._forwardPristineError, this); } model.save(null, options); return model; }, // **parse** converts a response into a list of models to be added to the // collection. The default implementation is just to pass it through. parse: function(resp, options) { return resp; }, // Create a new collection with an identical list of models as this one. clone: function() { return new this.constructor(this.models, { model: this.model, comparator: this.comparator }); }, // Define how to uniquely identify models in the collection. modelId: function(attrs, idAttribute) { return attrs[idAttribute || this.model.prototype.idAttribute || 'id']; }, // Get an iterator of all models in this collection. values: function() { return new CollectionIterator(this, ITERATOR_VALUES); }, // Get an iterator of all model IDs in this collection. keys: function() { return new CollectionIterator(this, ITERATOR_KEYS); }, // Get an iterator of all [ID, model] tuples in this collection. entries: function() { return new CollectionIterator(this, ITERATOR_KEYSVALUES); }, // Private method to reset all internal state. Called when the collection // is first initialized or reset. _reset: function() { this.length = 0; this.models = []; this._byId = {}; }, // Prepare a hash of attributes (or other model) to be added to this // collection. _prepareModel: function(attrs, options) { if (this._isModel(attrs)) { if (!attrs.collection) attrs.collection = this; return attrs; } options = options ? _.clone(options) : {}; options.collection = this; var model; if (this.model.prototype) { model = new this.model(attrs, options); } else { // ES class methods didn't have prototype model = this.model(attrs, options); } if (!model.validationError) return model; this.trigger('invalid', this, model.validationError, options); return false; }, // Internal method called by both remove and set. _removeModels: function(models, options) { var removed = []; for (var i = 0; i < models.length; i++) { var model = this.get(models[i]); if (!model) continue; var index = this.indexOf(model); this.models.splice(index, 1); this.length--; // Remove references before triggering 'remove' event to prevent an // infinite loop. #3693 delete this._byId[model.cid]; var id = this.modelId(model.attributes, model.idAttribute); if (id != null) delete this._byId[id]; if (!options.silent) { options.index = index; model.trigger('remove', model, this, options); } removed.push(model); this._removeReference(model, options); } if (models.length > 0 && !options.silent) delete options.index; return removed; }, // Method for checking whether an object should be considered a model for // the purposes of adding to the collection. _isModel: function(model) { return model instanceof Model; }, // Internal method to create a model's ties to a collection. _addReference: function(model, options) { this._byId[model.cid] = model; var id = this.modelId(model.attributes, model.idAttribute); if (id != null) this._byId[id] = model; model.on('all', this._onModelEvent, this); }, // Internal method to sever a model's ties to a collection. _removeReference: function(model, options) { delete this._byId[model.cid]; var id = this.modelId(model.attributes, model.idAttribute); if (id != null) delete this._byId[id]; if (this === model.collection) delete model.collection; model.off('all', this._onModelEvent, this); }, // Internal method called every time a model in the set fires an event. // Sets need to update their indexes when models change ids. All other // events simply proxy through. "add" and "remove" events that originate // in other collections are ignored. _onModelEvent: function(event, model, collection, options) { if (model) { if ((event === 'add' || event === 'remove') && collection !== this) return; if (event === 'destroy') this.remove(model, options); if (event === 'changeId') { var prevId = this.modelId(model.previousAttributes(), model.idAttribute); var id = this.modelId(model.attributes, model.idAttribute); if (prevId != null) delete this._byId[prevId]; if (id != null) this._byId[id] = model; } } this.trigger.apply(this, arguments); }, // Internal callback method used in `create`. It serves as a // stand-in for the `_onModelEvent` method, which is not yet bound // during the `wait` period of the `create` call. We still want to // forward any `'error'` event at the end of the `wait` period, // hence a customized callback. _forwardPristineError: function(model, collection, options) { // Prevent double forward if the model was already in the // collection before the call to `create`. if (this.has(model)) return; this._onModelEvent('error', model, collection, options); } }); // Defining an @@iterator method implements JavaScript's Iterable protocol. // In modern ES2015 browsers, this value is found at Symbol.iterator. /* global Symbol */ var $$iterator = typeof Symbol === 'function' && Symbol.iterator; if ($$iterator) { Collection.prototype[$$iterator] = Collection.prototype.values; } // CollectionIterator // ------------------ // A CollectionIterator implements JavaScript's Iterator protocol, allowing the // use of `for of` loops in modern browsers and interoperation between // Backbone.Collection and other JavaScript functions and third-party libraries // which can operate on Iterables. var CollectionIterator = function(collection, kind) { this._collection = collection; this._kind = kind; this._index = 0; }; // This "enum" defines the three possible kinds of values which can be emitted // by a CollectionIterator that correspond to the values(), keys() and entries() // methods on Collection, respectively. var ITERATOR_VALUES = 1; var ITERATOR_KEYS = 2; var ITERATOR_KEYSVALUES = 3; // All Iterators should themselves be Iterable. if ($$iterator) { CollectionIterator.prototype[$$iterator] = function() { return this; }; } CollectionIterator.prototype.next = function() { if (this._collection) { // Only continue iterating if the iterated collection is long enough. if (this._index < this._collection.length) { var model = this._collection.at(this._index); this._index++; // Construct a value depending on what kind of values should be iterated. var value; if (this._kind === ITERATOR_VALUES) { value = model; } else { var id = this._collection.modelId(model.attributes, model.idAttribute); if (this._kind === ITERATOR_KEYS) { value = id; } else { // ITERATOR_KEYSVALUES value = [id, model]; } } return {value: value, done: false}; } // Once exhausted, remove the reference to the collection so future // calls to the next method always return done. this._collection = void 0; } return {value: void 0, done: true}; }; // Backbone.View // ------------- // Backbone Views are almost more convention than they are actual code. A View // is simply a JavaScript object that represents a logical chunk of UI in the // DOM. This might be a single item, an entire list, a sidebar or panel, or // even the surrounding frame which wraps your whole app. Defining a chunk of // UI as a **View** allows you to define your DOM events declaratively, without // having to worry about render order ... and makes it easy for the view to // react to specific changes in the state of your models. // Creating a Backbone.View creates its initial element outside of the DOM, // if an existing element is not provided... var View = Backbone.View = function(options) { this.cid = _.uniqueId('view'); this.preinitialize.apply(this, arguments); _.extend(this, _.pick(options, viewOptions)); this._ensureElement(); this.initialize.apply(this, arguments); }; // Cached regex to split keys for `delegate`. var delegateEventSplitter = /^(\S+)\s*(.*)$/; // List of view options to be set as properties. var viewOptions = ['model', 'collection', 'el', 'id', 'attributes', 'className', 'tagName', 'events']; // Set up all inheritable **Backbone.View** properties and methods. _.extend(View.prototype, Events, { // The default `tagName` of a View's element is `"div"`. tagName: 'div', // jQuery delegate for element lookup, scoped to DOM elements within the // current view. This should be preferred to global lookups where possible. $: function(selector) { return this.$el.find(selector); }, // preinitialize is an empty function by default. You can override it with a function // or object. preinitialize will run before any instantiation logic is run in the View preinitialize: function(){}, // Initialize is an empty function by default. Override it with your own // initialization logic. initialize: function(){}, // **render** is the core function that your view should override, in order // to populate its element (`this.el`), with the appropriate HTML. The // convention is for **render** to always return `this`. render: function() { return this; }, // Remove this view by taking the element out of the DOM, and removing any // applicable Backbone.Events listeners. remove: function() { this._removeElement(); this.stopListening(); return this; }, // Remove this view's element from the document and all event listeners // attached to it. Exposed for subclasses using an alternative DOM // manipulation API. _removeElement: function() { this.$el.remove(); }, // Change the view's element (`this.el` property) and re-delegate the // view's events on the new element. setElement: function(element) { this.undelegateEvents(); this._setElement(element); this.delegateEvents(); return this; }, // Creates the `this.el` and `this.$el` references for this view using the // given `el`. `el` can be a CSS selector or an HTML string, a jQuery // context or an element. Subclasses can override this to utilize an // alternative DOM manipulation API and are only required to set the // `this.el` property. _setElement: function(el) { this.$el = el instanceof Backbone.$ ? el : Backbone.$(el); this.el = this.$el[0]; }, // Set callbacks, where `this.events` is a hash of // // *{"event selector": "callback"}* // // { // 'mousedown .title': 'edit', // 'click .button': 'save', // 'click .open': function(e) { ... } // } // // pairs. Callbacks will be bound to the view, with `this` set properly. // Uses event delegation for efficiency. // Omitting the selector binds the event to `this.el`. delegateEvents: function(events) { events || (events = _.result(this, 'events')); if (!events) return this; this.undelegateEvents(); for (var key in events) { var method = events[key]; if (!_.isFunction(method)) method = this[method]; if (!method) continue; var match = key.match(delegateEventSplitter); this.delegate(match[1], match[2], method.bind(this)); } return this; }, // Add a single event listener to the view's element (or a child element // using `selector`). This only works for delegate-able events: not `focus`, // `blur`, and not `change`, `submit`, and `reset` in Internet Explorer. delegate: function(eventName, selector, listener) { this.$el.on(eventName + '.delegateEvents' + this.cid, selector, listener); return this; }, // Clears all callbacks previously bound to the view by `delegateEvents`. // You usually don't need to use this, but may wish to if you have multiple // Backbone views attached to the same DOM element. undelegateEvents: function() { if (this.$el) this.$el.off('.delegateEvents' + this.cid); return this; }, // A finer-grained `undelegateEvents` for removing a single delegated event. // `selector` and `listener` are both optional. undelegate: function(eventName, selector, listener) { this.$el.off(eventName + '.delegateEvents' + this.cid, selector, listener); return this; }, // Produces a DOM element to be assigned to your view. Exposed for // subclasses using an alternative DOM manipulation API. _createElement: function(tagName) { return document.createElement(tagName); }, // Ensure that the View has a DOM element to render into. // If `this.el` is a string, pass it through `$()`, take the first // matching element, and re-assign it to `el`. Otherwise, create // an element from the `id`, `className` and `tagName` properties. _ensureElement: function() { if (!this.el) { var attrs = _.extend({}, _.result(this, 'attributes')); if (this.id) attrs.id = _.result(this, 'id'); if (this.className) attrs['class'] = _.result(this, 'className'); this.setElement(this._createElement(_.result(this, 'tagName'))); this._setAttributes(attrs); } else { this.setElement(_.result(this, 'el')); } }, // Set attributes from a hash on this view's element. Exposed for // subclasses using an alternative DOM manipulation API. _setAttributes: function(attributes) { this.$el.attr(attributes); } }); // Proxy Backbone class methods to Underscore functions, wrapping the model's // `attributes` object or collection's `models` array behind the scenes. // // collection.filter(function(model) { return model.get('age') > 10 }); // collection.each(this.addView); // // `Function#apply` can be slow so we use the method's arg count, if we know it. var addMethod = function(base, length, method, attribute) { switch (length) { case 1: return function() { return base[method](this[attribute]); }; case 2: return function(value) { return base[method](this[attribute], value); }; case 3: return function(iteratee, context) { return base[method](this[attribute], cb(iteratee, this), context); }; case 4: return function(iteratee, defaultVal, context) { return base[method](this[attribute], cb(iteratee, this), defaultVal, context); }; default: return function() { var args = slice.call(arguments); args.unshift(this[attribute]); return base[method].apply(base, args); }; } }; var addUnderscoreMethods = function(Class, base, methods, attribute) { _.each(methods, function(length, method) { if (base[method]) Class.prototype[method] = addMethod(base, length, method, attribute); }); }; // Support `collection.sortBy('attr')` and `collection.findWhere({id: 1})`. var cb = function(iteratee, instance) { if (_.isFunction(iteratee)) return iteratee; if (_.isObject(iteratee) && !instance._isModel(iteratee)) return modelMatcher(iteratee); if (_.isString(iteratee)) return function(model) { return model.get(iteratee); }; return iteratee; }; var modelMatcher = function(attrs) { var matcher = _.matches(attrs); return function(model) { return matcher(model.attributes); }; }; // Underscore methods that we want to implement on the Collection. // 90% of the core usefulness of Backbone Collections is actually implemented // right here: var collectionMethods = {forEach: 3, each: 3, map: 3, collect: 3, reduce: 0, foldl: 0, inject: 0, reduceRight: 0, foldr: 0, find: 3, detect: 3, filter: 3, select: 3, reject: 3, every: 3, all: 3, some: 3, any: 3, include: 3, includes: 3, contains: 3, invoke: 0, max: 3, min: 3, toArray: 1, size: 1, first: 3, head: 3, take: 3, initial: 3, rest: 3, tail: 3, drop: 3, last: 3, without: 0, difference: 0, indexOf: 3, shuffle: 1, lastIndexOf: 3, isEmpty: 1, chain: 1, sample: 3, partition: 3, groupBy: 3, countBy: 3, sortBy: 3, indexBy: 3, findIndex: 3, findLastIndex: 3}; // Underscore methods that we want to implement on the Model, mapped to the // number of arguments they take. var modelMethods = {keys: 1, values: 1, pairs: 1, invert: 1, pick: 0, omit: 0, chain: 1, isEmpty: 1}; // Mix in each Underscore method as a proxy to `Collection#models`. _.each([ [Collection, collectionMethods, 'models'], [Model, modelMethods, 'attributes'] ], function(config) { var Base = config[0], methods = config[1], attribute = config[2]; Base.mixin = function(obj) { var mappings = _.reduce(_.functions(obj), function(memo, name) { memo[name] = 0; return memo; }, {}); addUnderscoreMethods(Base, obj, mappings, attribute); }; addUnderscoreMethods(Base, _, methods, attribute); }); // Backbone.sync // ------------- // Override this function to change the manner in which Backbone persists // models to the server. You will be passed the type of request, and the // model in question. By default, makes a RESTful Ajax request // to the model's `url()`. Some possible customizations could be: // // * Use `setTimeout` to batch rapid-fire updates into a single request. // * Send up the models as XML instead of JSON. // * Persist models via WebSockets instead of Ajax. // // Turn on `Backbone.emulateHTTP` in order to send `PUT` and `DELETE` requests // as `POST`, with a `_method` parameter containing the true HTTP method, // as well as all requests with the body as `application/x-www-form-urlencoded` // instead of `application/json` with the model in a param named `model`. // Useful when interfacing with server-side languages like **PHP** that make // it difficult to read the body of `PUT` requests. Backbone.sync = function(method, model, options) { var type = methodMap[method]; // Default options, unless specified. _.defaults(options || (options = {}), { emulateHTTP: Backbone.emulateHTTP, emulateJSON: Backbone.emulateJSON }); // Default JSON-request options. var params = {type: type, dataType: 'json'}; // Ensure that we have a URL. if (!options.url) { params.url = _.result(model, 'url') || urlError(); } // Ensure that we have the appropriate request data. if (options.data == null && model && (method === 'create' || method === 'update' || method === 'patch')) { params.contentType = 'application/json'; params.data = JSON.stringify(options.attrs || model.toJSON(options)); } // For older servers, emulate JSON by encoding the request into an HTML-form. if (options.emulateJSON) { params.contentType = 'application/x-www-form-urlencoded'; params.data = params.data ? {model: params.data} : {}; } // For older servers, emulate HTTP by mimicking the HTTP method with `_method` // And an `X-HTTP-Method-Override` header. if (options.emulateHTTP && (type === 'PUT' || type === 'DELETE' || type === 'PATCH')) { params.type = 'POST'; if (options.emulateJSON) params.data._method = type; var beforeSend = options.beforeSend; options.beforeSend = function(xhr) { xhr.setRequestHeader('X-HTTP-Method-Override', type); if (beforeSend) return beforeSend.apply(this, arguments); }; } // Don't process data on a non-GET request. if (params.type !== 'GET' && !options.emulateJSON) { params.processData = false; } // Pass along `textStatus` and `errorThrown` from jQuery. var error = options.error; options.error = function(xhr, textStatus, errorThrown) { options.textStatus = textStatus; options.errorThrown = errorThrown; if (error) error.call(options.context, xhr, textStatus, errorThrown); }; // Make the request, allowing the user to override any Ajax options. var xhr = options.xhr = Backbone.ajax(_.extend(params, options)); model.trigger('request', model, xhr, options); return xhr; }; // Map from CRUD to HTTP for our default `Backbone.sync` implementation. var methodMap = { 'create': 'POST', 'update': 'PUT', 'patch': 'PATCH', 'delete': 'DELETE', 'read': 'GET' }; // Set the default implementation of `Backbone.ajax` to proxy through to `$`. // Override this if you'd like to use a different library. Backbone.ajax = function() { return Backbone.$.ajax.apply(Backbone.$, arguments); }; // Backbone.Router // --------------- // Routers map faux-URLs to actions, and fire events when routes are // matched. Creating a new one sets its `routes` hash, if not set statically. var Router = Backbone.Router = function(options) { options || (options = {}); this.preinitialize.apply(this, arguments); if (options.routes) this.routes = options.routes; this._bindRoutes(); this.initialize.apply(this, arguments); }; // Cached regular expressions for matching named param parts and splatted // parts of route strings. var optionalParam = /\((.*?)\)/g; var namedParam = /(\(\?)?:\w+/g; var splatParam = /\*\w+/g; var escapeRegExp = /[\-{}\[\]+?.,\\\^$|#\s]/g; // Set up all inheritable **Backbone.Router** properties and methods. _.extend(Router.prototype, Events, { // preinitialize is an empty function by default. You can override it with a function // or object. preinitialize will run before any instantiation logic is run in the Router. preinitialize: function(){}, // Initialize is an empty function by default. Override it with your own // initialization logic. initialize: function(){}, // Manually bind a single named route to a callback. For example: // // this.route('search/:query/p:num', 'search', function(query, num) { // ... // }); // route: function(route, name, callback) { if (!_.isRegExp(route)) route = this._routeToRegExp(route); if (_.isFunction(name)) { callback = name; name = ''; } if (!callback) callback = this[name]; var router = this; Backbone.history.route(route, function(fragment) { var args = router._extractParameters(route, fragment); if (router.execute(callback, args, name) !== false) { router.trigger.apply(router, ['route:' + name].concat(args)); router.trigger('route', name, args); Backbone.history.trigger('route', router, name, args); } }); return this; }, // Execute a route handler with the provided parameters. This is an // excellent place to do pre-route setup or post-route cleanup. execute: function(callback, args, name) { if (callback) callback.apply(this, args); }, // Simple proxy to `Backbone.history` to save a fragment into the history. navigate: function(fragment, options) { Backbone.history.navigate(fragment, options); return this; }, // Bind all defined routes to `Backbone.history`. We have to reverse the // order of the routes here to support behavior where the most general // routes can be defined at the bottom of the route map. _bindRoutes: function() { if (!this.routes) return; this.routes = _.result(this, 'routes'); var route, routes = _.keys(this.routes); while ((route = routes.pop()) != null) { this.route(route, this.routes[route]); } }, // Convert a route string into a regular expression, suitable for matching // against the current location hash. _routeToRegExp: function(route) { route = route.replace(escapeRegExp, '\\$&') .replace(optionalParam, '(?:$1)?') .replace(namedParam, function(match, optional) { return optional ? match : '([^/?]+)'; }) .replace(splatParam, '([^?]*?)'); return new RegExp('^' + route + '(?:\\?([\\s\\S]*))?$'); }, // Given a route, and a URL fragment that it matches, return the array of // extracted decoded parameters. Empty or unmatched parameters will be // treated as `null` to normalize cross-browser behavior. _extractParameters: function(route, fragment) { var params = route.exec(fragment).slice(1); return _.map(params, function(param, i) { // Don't decode the search params. if (i === params.length - 1) return param || null; return param ? decodeURIComponent(param) : null; }); } }); // Backbone.History // ---------------- // Handles cross-browser history management, based on either // [pushState](http://diveintohtml5.info/history.html) and real URLs, or // [onhashchange](https://developer.mozilla.org/en-US/docs/DOM/window.onhashchange) // and URL fragments. If the browser supports neither (old IE, natch), // falls back to polling. var History = Backbone.History = function() { this.handlers = []; this.checkUrl = this.checkUrl.bind(this); // Ensure that `History` can be used outside of the browser. if (typeof window !== 'undefined') { this.location = window.location; this.history = window.history; } }; // Cached regex for stripping a leading hash/slash and trailing space. var routeStripper = /^[#\/]|\s+$/g; // Cached regex for stripping leading and trailing slashes. var rootStripper = /^\/+|\/+$/g; // Cached regex for stripping urls of hash. var pathStripper = /#.*$/; // Has the history handling already been started? History.started = false; // Set up all inheritable **Backbone.History** properties and methods. _.extend(History.prototype, Events, { // The default interval to poll for hash changes, if necessary, is // twenty times a second. interval: 50, // Are we at the app root? atRoot: function() { var path = this.location.pathname.replace(/[^\/]$/, '$&/'); return path === this.root && !this.getSearch(); }, // Does the pathname match the root? matchRoot: function() { var path = this.decodeFragment(this.location.pathname); var rootPath = path.slice(0, this.root.length - 1) + '/'; return rootPath === this.root; }, // Unicode characters in `location.pathname` are percent encoded so they're // decoded for comparison. `%25` should not be decoded since it may be part // of an encoded parameter. decodeFragment: function(fragment) { return decodeURI(fragment.replace(/%25/g, '%2525')); }, // In IE6, the hash fragment and search params are incorrect if the // fragment contains `?`. getSearch: function() { var match = this.location.href.replace(/#.*/, '').match(/\?.+/); return match ? match[0] : ''; }, // Gets the true hash value. Cannot use location.hash directly due to bug // in Firefox where location.hash will always be decoded. getHash: function(window) { var match = (window || this).location.href.match(/#(.*)$/); return match ? match[1] : ''; }, // Get the pathname and search params, without the root. getPath: function() { var path = this.decodeFragment( this.location.pathname + this.getSearch() ).slice(this.root.length - 1); return path.charAt(0) === '/' ? path.slice(1) : path; }, // Get the cross-browser normalized URL fragment from the path or hash. getFragment: function(fragment) { if (fragment == null) { if (this._usePushState || !this._wantsHashChange) { fragment = this.getPath(); } else { fragment = this.getHash(); } } return fragment.replace(routeStripper, ''); }, // Start the hash change handling, returning `true` if the current URL matches // an existing route, and `false` otherwise. start: function(options) { if (History.started) throw new Error('Backbone.history has already been started'); History.started = true; // Figure out the initial configuration. Do we need an iframe? // Is pushState desired ... is it available? this.options = _.extend({root: '/'}, this.options, options); this.root = this.options.root; this._trailingSlash = this.options.trailingSlash; this._wantsHashChange = this.options.hashChange !== false; this._hasHashChange = 'onhashchange' in window && (document.documentMode === void 0 || document.documentMode > 7); this._useHashChange = this._wantsHashChange && this._hasHashChange; this._wantsPushState = !!this.options.pushState; this._hasPushState = !!(this.history && this.history.pushState); this._usePushState = this._wantsPushState && this._hasPushState; this.fragment = this.getFragment(); // Normalize root to always include a leading and trailing slash. this.root = ('/' + this.root + '/').replace(rootStripper, '/'); // Transition from hashChange to pushState or vice versa if both are // requested. if (this._wantsHashChange && this._wantsPushState) { // If we've started off with a route from a `pushState`-enabled // browser, but we're currently in a browser that doesn't support it... if (!this._hasPushState && !this.atRoot()) { var rootPath = this.root.slice(0, -1) || '/'; this.location.replace(rootPath + '#' + this.getPath()); // Return immediately as browser will do redirect to new url return true; // Or if we've started out with a hash-based route, but we're currently // in a browser where it could be `pushState`-based instead... } else if (this._hasPushState && this.atRoot()) { this.navigate(this.getHash(), {replace: true}); } } // Proxy an iframe to handle location events if the browser doesn't // support the `hashchange` event, HTML5 history, or the user wants // `hashChange` but not `pushState`. if (!this._hasHashChange && this._wantsHashChange && !this._usePushState) { this.iframe = document.createElement('iframe'); this.iframe.src = 'javascript:0'; this.iframe.style.display = 'none'; this.iframe.tabIndex = -1; var body = document.body; // Using `appendChild` will throw on IE < 9 if the document is not ready. var iWindow = body.insertBefore(this.iframe, body.firstChild).contentWindow; iWindow.document.open(); iWindow.document.close(); iWindow.location.hash = '#' + this.fragment; } // Add a cross-platform `addEventListener` shim for older browsers. var addEventListener = window.addEventListener || function(eventName, listener) { return attachEvent('on' + eventName, listener); }; // Depending on whether we're using pushState or hashes, and whether // 'onhashchange' is supported, determine how we check the URL state. if (this._usePushState) { addEventListener('popstate', this.checkUrl, false); } else if (this._useHashChange && !this.iframe) { addEventListener('hashchange', this.checkUrl, false); } else if (this._wantsHashChange) { this._checkUrlInterval = setInterval(this.checkUrl, this.interval); } if (!this.options.silent) return this.loadUrl(); }, // Disable Backbone.history, perhaps temporarily. Not useful in a real app, // but possibly useful for unit testing Routers. stop: function() { // Add a cross-platform `removeEventListener` shim for older browsers. var removeEventListener = window.removeEventListener || function(eventName, listener) { return detachEvent('on' + eventName, listener); }; // Remove window listeners. if (this._usePushState) { removeEventListener('popstate', this.checkUrl, false); } else if (this._useHashChange && !this.iframe) { removeEventListener('hashchange', this.checkUrl, false); } // Clean up the iframe if necessary. if (this.iframe) { document.body.removeChild(this.iframe); this.iframe = null; } // Some environments will throw when clearing an undefined interval. if (this._checkUrlInterval) clearInterval(this._checkUrlInterval); History.started = false; }, // Add a route to be tested when the fragment changes. Routes added later // may override previous routes. route: function(route, callback) { this.handlers.unshift({route: route, callback: callback}); }, // Checks the current URL to see if it has changed, and if it has, // calls `loadUrl`, normalizing across the hidden iframe. checkUrl: function(e) { var current = this.getFragment(); // If the user pressed the back button, the iframe's hash will have // changed and we should use that for comparison. if (current === this.fragment && this.iframe) { current = this.getHash(this.iframe.contentWindow); } if (current === this.fragment) return false; if (this.iframe) this.navigate(current); this.loadUrl(); }, // Attempt to load the current URL fragment. If a route succeeds with a // match, returns `true`. If no defined routes matches the fragment, // returns `false`. loadUrl: function(fragment) { // If the root doesn't match, no routes can match either. if (!this.matchRoot()) return false; fragment = this.fragment = this.getFragment(fragment); return _.some(this.handlers, function(handler) { if (handler.route.test(fragment)) { handler.callback(fragment); return true; } }); }, // Save a fragment into the hash history, or replace the URL state if the // 'replace' option is passed. You are responsible for properly URL-encoding // the fragment in advance. // // The options object can contain `trigger: true` if you wish to have the // route callback be fired (not usually desirable), or `replace: true`, if // you wish to modify the current URL without adding an entry to the history. navigate: function(fragment, options) { if (!History.started) return false; if (!options || options === true) options = {trigger: !!options}; // Normalize the fragment. fragment = this.getFragment(fragment || ''); // Strip trailing slash on the root unless _trailingSlash is true var rootPath = this.root; if (!this._trailingSlash && (fragment === '' || fragment.charAt(0) === '?')) { rootPath = rootPath.slice(0, -1) || '/'; } var url = rootPath + fragment; // Strip the fragment of the query and hash for matching. fragment = fragment.replace(pathStripper, ''); // Decode for matching. var decodedFragment = this.decodeFragment(fragment); if (this.fragment === decodedFragment) return; this.fragment = decodedFragment; // If pushState is available, we use it to set the fragment as a real URL. if (this._usePushState) { this.history[options.replace ? 'replaceState' : 'pushState']({}, document.title, url); // If hash changes haven't been explicitly disabled, update the hash // fragment to store history. } else if (this._wantsHashChange) { this._updateHash(this.location, fragment, options.replace); if (this.iframe && fragment !== this.getHash(this.iframe.contentWindow)) { var iWindow = this.iframe.contentWindow; // Opening and closing the iframe tricks IE7 and earlier to push a // history entry on hash-tag change. When replace is true, we don't // want this. if (!options.replace) { iWindow.document.open(); iWindow.document.close(); } this._updateHash(iWindow.location, fragment, options.replace); } // If you've told us that you explicitly don't want fallback hashchange- // based history, then `navigate` becomes a page refresh. } else { return this.location.assign(url); } if (options.trigger) return this.loadUrl(fragment); }, // Update the hash location, either replacing the current entry, or adding // a new one to the browser history. _updateHash: function(location, fragment, replace) { if (replace) { var href = location.href.replace(/(javascript:|#).*$/, ''); location.replace(href + '#' + fragment); } else { // Some browsers require that `hash` contains a leading #. location.hash = '#' + fragment; } } }); // Create the default Backbone.history. Backbone.history = new History; // Helpers // ------- // Helper function to correctly set up the prototype chain for subclasses. // Similar to `goog.inherits`, but uses a hash of prototype properties and // class properties to be extended. var extend = function(protoProps, staticProps) { var parent = this; var child; // The constructor function for the new subclass is either defined by you // (the "constructor" property in your `extend` definition), or defaulted // by us to simply call the parent constructor. if (protoProps && _.has(protoProps, 'constructor')) { child = protoProps.constructor; } else { child = function(){ return parent.apply(this, arguments); }; } // Add static properties to the constructor function, if supplied. _.extend(child, parent, staticProps); // Set the prototype chain to inherit from `parent`, without calling // `parent`'s constructor function and add the prototype properties. child.prototype = _.create(parent.prototype, protoProps); child.prototype.constructor = child; // Set a convenience property in case the parent's prototype is needed // later. child.__super__ = parent.prototype; return child; }; // Set up inheritance for the model, collection, router, view and history. Model.extend = Collection.extend = Router.extend = View.extend = History.extend = extend; // Throw an error when a URL is needed, and none is supplied. var urlError = function() { throw new Error('A "url" property or function must be specified'); }; // Wrap an optional error callback with a fallback error event. var wrapError = function(model, options) { var error = options.error; options.error = function(resp) { if (error) error.call(options.context, model, resp, options); model.trigger('error', model, resp, options); }; }; return Backbone; }); PK!6 comment-reply.min.jsnu[/*! This file is auto-generated */ window.addComment=function(v){var I,C,h,E=v.document,b={commentReplyClass:"comment-reply-link",commentReplyTitleId:"reply-title",cancelReplyId:"cancel-comment-reply-link",commentFormId:"commentform",temporaryFormId:"wp-temp-form-div",parentIdFieldId:"comment_parent",postIdFieldId:"comment_post_ID"},e=v.MutationObserver||v.WebKitMutationObserver||v.MozMutationObserver,r="querySelector"in E&&"addEventListener"in v,n=!!E.documentElement.dataset;function t(){d(),e&&new e(o).observe(E.body,{childList:!0,subtree:!0})}function d(e){if(r&&(I=g(b.cancelReplyId),C=g(b.commentFormId),I)){I.addEventListener("touchstart",l),I.addEventListener("click",l);function t(e){if((e.metaKey||e.ctrlKey)&&13===e.keyCode)return C.removeEventListener("keydown",t),e.preventDefault(),C.submit.click(),!1}C&&C.addEventListener("keydown",t);for(var n,d=function(e){var t=b.commentReplyClass;e&&e.childNodes||(e=E);e=E.getElementsByClassName?e.getElementsByClassName(t):e.querySelectorAll("."+t);return e}(e),o=0,i=d.length;o|$)/g, '' ) .replace( /<(script|style)[^>]*>[\s\S]*?(<\/\1>|$)/ig, '' ) .replace( /<\/?[a-z][\s\S]*?(>|$)/ig, '' ); // If the initial text is not equal to the modified text, // do the search-replace again, until there is nothing to be replaced. if ( _text !== text ) { return wp.sanitize.stripTags( _text ); } // Return the text with stripped tags. return _text; }, /** * Strip HTML tags and convert HTML entities. * * @param {string} text Text to strip tags and convert HTML entities. * * @return Sanitized text. False on failure. */ stripTagsAndEncodeText: function( text ) { var _text = wp.sanitize.stripTags( text ), textarea = document.createElement( 'textarea' ); try { textarea.textContent = _text; _text = wp.sanitize.stripTags( textarea.value ); } catch ( er ) {} return _text; } }; }() ); PK!,Z9Z9 wp-api.min.jsnu[/*! This file is auto-generated */ !function(e){"use strict";e.wp=e.wp||{},wp.api=wp.api||new function(){this.models={},this.collections={},this.views={}},wp.api.versionString=wp.api.versionString||"wp/v2/",!_.isFunction(_.includes)&&_.isFunction(_.contains)&&(_.includes=_.contains)}(window),function(e){"use strict";var t,i;e.wp=e.wp||{},wp.api=wp.api||{},wp.api.utils=wp.api.utils||{},wp.api.getModelByRoute=function(t){return _.find(wp.api.models,function(e){return e.prototype.route&&t===e.prototype.route.index})},wp.api.getCollectionByRoute=function(t){return _.find(wp.api.collections,function(e){return e.prototype.route&&t===e.prototype.route.index})},Date.prototype.toISOString||(t=function(e){return i=1===(i=String(e)).length?"0"+i:i},Date.prototype.toISOString=function(){return this.getUTCFullYear()+"-"+t(this.getUTCMonth()+1)+"-"+t(this.getUTCDate())+"T"+t(this.getUTCHours())+":"+t(this.getUTCMinutes())+":"+t(this.getUTCSeconds())+"."+String((this.getUTCMilliseconds()/1e3).toFixed(3)).slice(2,5)+"Z"}),wp.api.utils.parseISO8601=function(e){var t,i,n,o,s=0,a=[1,4,5,6,7,10,11];if(i=/^(\d{4}|[+\-]\d{6})(?:-(\d{2})(?:-(\d{2}))?)?(?:T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{3}))?)?(?:(Z)|([+\-])(\d{2})(?::(\d{2}))?)?)?$/.exec(e)){for(n=0;o=a[n];++n)i[o]=+i[o]||0;i[2]=(+i[2]||1)-1,i[3]=+i[3]||1,"Z"!==i[8]&&void 0!==i[9]&&(s=60*i[10]+i[11],"+"===i[9])&&(s=0-s),t=Date.UTC(i[1],i[2],i[3],i[4],i[5]+s,i[6],i[7])}else t=Date.parse?Date.parse(e):NaN;return t},wp.api.utils.getRootUrl=function(){return e.location.origin?e.location.origin+"/":e.location.protocol+"//"+e.location.host+"/"},wp.api.utils.capitalize=function(e){return _.isUndefined(e)?e:e.charAt(0).toUpperCase()+e.slice(1)},wp.api.utils.capitalizeAndCamelCaseDashes=function(e){return _.isUndefined(e)?e:(e=wp.api.utils.capitalize(e),wp.api.utils.camelCaseDashes(e))},wp.api.utils.camelCaseDashes=function(e){return e.replace(/-([a-z])/g,function(e){return e[1].toUpperCase()})},wp.api.utils.extractRoutePart=function(e,t,i,n){return t=t||1,i=i||wp.api.versionString,i=(e=0===e.indexOf("/"+i)?e.substr(i.length+1):e).split("/"),n&&(i=i.reverse()),_.isUndefined(i[--t])?"":i[t]},wp.api.utils.extractParentName=function(e){var t=e.lastIndexOf("_id>[\\d]+)/");return t<0?"":((e=(e=e.substr(0,t-1)).split("/")).pop(),e.pop())},wp.api.utils.decorateFromRoute=function(e,t){_.each(e,function(e){_.includes(e.methods,"POST")||_.includes(e.methods,"PUT")?_.isEmpty(e.args)||(_.isEmpty(t.prototype.args)?t.prototype.args=e.args:t.prototype.args=_.extend(t.prototype.args,e.args)):_.includes(e.methods,"GET")&&!_.isEmpty(e.args)&&(_.isEmpty(t.prototype.options)?t.prototype.options=e.args:t.prototype.options=_.extend(t.prototype.options,e.args))})},wp.api.utils.addMixinsAndHelpers=function(t,e,i){function n(e,t,i,n,o){var s,a=jQuery.Deferred(),e=e.get("_embedded")||{};return _.isNumber(t)&&0!==t?(s=(s=e[n]?_.findWhere(e[n],{id:t}):s)||{id:t},(e=new wp.api.models[i](s)).get(o)?a.resolve(e):e.fetch({success:function(e){a.resolve(e)},error:function(e,t){a.reject(t)}}),a.promise()):(a.reject(),a)}function p(e,t){_.each(e.models,function(e){e.set("parent_post",t)})}var o=!1,s=["date","modified","date_gmt","modified_gmt"],a={setDate:function(e,t){t=t||"date";if(_.indexOf(s,t)<0)return!1;this.set(t,e.toISOString())},getDate:function(e){var e=e||"date",t=this.get(e);return!(_.indexOf(s,e)<0||_.isNull(t))&&new Date(wp.api.utils.parseISO8601(t))}},r={getMeta:function(e){return this.get("meta")[e]},getMetas:function(){return this.get("meta")},setMetas:function(e){var t=this.get("meta");_.extend(t,e),this.set("meta",t)},setMeta:function(e,t){var i=this.get("meta");i[e]=t,this.set("meta",i)}},c={getRevisions:function(){return e=this,t="PostRevisions",s=o="",a=jQuery.Deferred(),r=e.get("id"),e=e.get("_embedded")||{},_.isNumber(r)&&0!==r?(_.isUndefined(i)||_.isUndefined(e[i])?o={parent:r}:s=_.isUndefined(n)?e[i]:e[i][n],e=new wp.api.collections[t](s,o),_.isUndefined(e.models[0])?e.fetch({success:function(e){p(e,r),a.resolve(e)},error:function(e,t){a.reject(t)}}):(p(e,r),a.resolve(e)),a.promise()):(a.reject(),a);var e,t,i,n,o,s,a,r}},d={getTags:function(){var e=this.get("tags"),t=new wp.api.collections.Tags;return _.isEmpty(e)?jQuery.Deferred().resolve([]):t.fetch({data:{include:e}})},setTags:function(e){var i,n=this,o=[];if(_.isString(e))return!1;_.isArray(e)?(new wp.api.collections.Tags).fetch({data:{per_page:100},success:function(t){_.each(e,function(e){(i=new wp.api.models.Tag(t.findWhere({slug:e}))).set("parent_post",n.get("id")),o.push(i)}),e=new wp.api.collections.Tags(o),n.setTagsWithCollection(e)}}):this.setTagsWithCollection(e)},setTagsWithCollection:function(e){return this.set("tags",e.pluck("id")),this.save()}},l={getCategories:function(){var e=this.get("categories"),t=new wp.api.collections.Categories;return _.isEmpty(e)?jQuery.Deferred().resolve([]):t.fetch({data:{include:e}})},setCategories:function(e){var i,n=this,o=[];if(_.isString(e))return!1;_.isArray(e)?(new wp.api.collections.Categories).fetch({data:{per_page:100},success:function(t){_.each(e,function(e){(i=new wp.api.models.Category(t.findWhere({slug:e}))).set("parent_post",n.get("id")),o.push(i)}),e=new wp.api.collections.Categories(o),n.setCategoriesWithCollection(e)}}):this.setCategoriesWithCollection(e)},setCategoriesWithCollection:function(e){return this.set("categories",e.pluck("id")),this.save()}},u={getAuthorUser:function(){return n(this,this.get("author"),"User","author","name")}},g={getFeaturedMedia:function(){return n(this,this.get("featured_media"),"Media","wp:featuredmedia","source_url")}};return t=_.isUndefined(t.prototype.args)||(_.each(s,function(e){_.isUndefined(t.prototype.args[e])||(o=!0)}),o&&(t=t.extend(a)),_.isUndefined(t.prototype.args.author)||(t=t.extend(u)),_.isUndefined(t.prototype.args.featured_media)||(t=t.extend(g)),_.isUndefined(t.prototype.args.categories)||(t=t.extend(l)),_.isUndefined(t.prototype.args.meta)||(t=t.extend(r)),_.isUndefined(t.prototype.args.tags)||(t=t.extend(d)),_.isUndefined(i.collections[e+"Revisions"]))?t:t.extend(c)}}(window),function(){"use strict";var i=window.wpApiSettings||{},e=["Comment","Media","Comment","Post","Page","Status","Taxonomy","Type"];wp.api.WPApiBaseModel=Backbone.Model.extend({initialize:function(){-1===_.indexOf(e,this.name)&&(this.requireForceForDelete=!0)},sync:function(e,t,i){var n;return i=i||{},_.isNull(t.get("date_gmt"))&&t.unset("date_gmt"),_.isEmpty(t.get("slug"))&&t.unset("slug"),_.isFunction(t.nonce)&&!_.isEmpty(t.nonce())&&(n=i.beforeSend,i.beforeSend=function(e){if(e.setRequestHeader("X-WP-Nonce",t.nonce()),n)return n.apply(this,arguments)},i.complete=function(e){e=e.getResponseHeader("X-WP-Nonce");e&&_.isFunction(t.nonce)&&t.nonce()!==e&&t.endpointModel.set("nonce",e)}),this.requireForceForDelete&&"delete"===e&&(t.url=t.url()+"?force=true"),Backbone.sync(e,t,i)},save:function(e,t){return!(!_.includes(this.methods,"PUT")&&!_.includes(this.methods,"POST"))&&Backbone.Model.prototype.save.call(this,e,t)},destroy:function(e){return!!_.includes(this.methods,"DELETE")&&Backbone.Model.prototype.destroy.call(this,e)}}),wp.api.models.Schema=wp.api.WPApiBaseModel.extend({defaults:{_links:{},namespace:null,routes:{}},initialize:function(e,t){t=t||{},wp.api.WPApiBaseModel.prototype.initialize.call(this,e,t),this.apiRoot=t.apiRoot||i.root,this.versionString=t.versionString||i.versionString},url:function(){return this.apiRoot+this.versionString}})}(),function(){"use strict";window.wpApiSettings;wp.api.WPApiBaseCollection=Backbone.Collection.extend({initialize:function(e,t){this.state={data:{},currentPage:null,totalPages:null,totalObjects:null},_.isUndefined(t)?this.parent="":this.parent=t.parent},sync:function(e,t,i){var n,o,s=this;return i=i||{},_.isFunction(t.nonce)&&!_.isEmpty(t.nonce())&&(n=i.beforeSend,i.beforeSend=function(e){if(e.setRequestHeader("X-WP-Nonce",t.nonce()),n)return n.apply(s,arguments)},i.complete=function(e){e=e.getResponseHeader("X-WP-Nonce");e&&_.isFunction(t.nonce)&&t.nonce()!==e&&t.endpointModel.set("nonce",e)}),"read"===e&&(i.data?(s.state.data=_.clone(i.data),delete s.state.data.page):s.state.data=i.data={},void 0===i.data.page?(s.state.currentPage=null,s.state.totalPages=null,s.state.totalObjects=null):s.state.currentPage=i.data.page-1,o=i.success,i.success=function(e,t,i){if(_.isUndefined(i)||(s.state.totalPages=parseInt(i.getResponseHeader("x-wp-totalpages"),10),s.state.totalObjects=parseInt(i.getResponseHeader("x-wp-total"),10)),null===s.state.currentPage?s.state.currentPage=1:s.state.currentPage++,o)return o.apply(this,arguments)}),Backbone.sync(e,t,i)},more:function(e){if((e=e||{}).data=e.data||{},_.extend(e.data,this.state.data),void 0===e.data.page){if(!this.hasMore())return!1;null===this.state.currentPage||this.state.currentPage<=1?e.data.page=2:e.data.page=this.state.currentPage+1}return this.fetch(e)},hasMore:function(){return null===this.state.totalPages||null===this.state.totalObjects||null===this.state.currentPage?null:this.state.currentPage>10),56320+(1023&d))},toCodePoint:o},onerror:function(){this.parentNode&&this.parentNode.replaceChild(x(this.alt,!1),this)},parse:function(d,u){u&&"function"!=typeof u||(u={callback:u});return m.doNotParse=u.doNotParse,("string"==typeof d?function(d,a){return n(d,function(d){var u,f,c=d,e=N(d),b=a.callback(e,a);if(e&&b){for(f in c="")}return c})}:function(d,u){var f,c,e,b,a,t,r,n,o,i,s,l=function d(u,f){var c,e,b=u.childNodes,a=b.length;for(;a--;)c=b[a],3===(e=c.nodeType)?f.push(c):1!==e||"ownerSVGElement"in c||g.test(c.nodeName.toLowerCase())||m.doNotParse&&m.doNotParse(c)||d(c,f);return f}(d,[]),p=l.length;for(;p--;){for(e=!1,b=document.createDocumentFragment(),a=l[p],t=a.nodeValue,r=0;o=h.exec(t);){if((s=o.index)!==r&&b.appendChild(x(t.slice(r,s),!0)),o=o[0],i=N(o),r=s+o.length,s=u.callback(i,u),i&&s){for(c in(n=new Image).onerror=u.onerror,n.setAttribute("draggable","false"),f=u.attributes(o,i))f.hasOwnProperty(c)&&0!==c.indexOf("on")&&!n.hasAttribute(c)&&n.setAttribute(c,f[c]);n.className=u.className,n.alt=o,n.src=s,e=!0,b.appendChild(n)}n||b.appendChild(x(o,!1)),n=null}e&&(r":">","'":"'",'"':"""},h=/(?:\ud83d\udc68\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83e\uddd1\ud83c[\udffc-\udfff]|\ud83e\uddd1\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83e\uddd1\ud83c[\udffb\udffd-\udfff]|\ud83e\uddd1\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83e\uddd1\ud83c[\udffb\udffc\udffe\udfff]|\ud83e\uddd1\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83e\uddd1\ud83c[\udffb-\udffd\udfff]|\ud83e\uddd1\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83e\uddd1\ud83c[\udffb-\udffe]|\ud83d\udc68\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffc-\udfff]|\ud83d\udc68\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffd-\udfff]|\ud83d\udc68\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc68\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffd\udfff]|\ud83d\udc68\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffe]|\ud83d\udc69\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffc-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffc-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffd-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb\udffd-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc69\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc69\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffd\udfff]|\ud83d\udc69\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb-\udffd\udfff]|\ud83d\udc69\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffe]|\ud83d\udc69\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb-\udffe]|\ud83e\uddd1\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83e\uddd1\ud83c[\udffc-\udfff]|\ud83e\uddd1\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83e\uddd1\ud83c[\udffb\udffd-\udfff]|\ud83e\uddd1\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83e\uddd1\ud83c[\udffb\udffc\udffe\udfff]|\ud83e\uddd1\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83e\uddd1\ud83c[\udffb-\udffd\udfff]|\ud83e\uddd1\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83e\uddd1\ud83c[\udffb-\udffe]|\ud83e\uddd1\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68|\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d[\udc68\udc69]|\ud83e\udef1\ud83c\udffb\u200d\ud83e\udef2\ud83c[\udffc-\udfff]|\ud83e\udef1\ud83c\udffc\u200d\ud83e\udef2\ud83c[\udffb\udffd-\udfff]|\ud83e\udef1\ud83c\udffd\u200d\ud83e\udef2\ud83c[\udffb\udffc\udffe\udfff]|\ud83e\udef1\ud83c\udffe\u200d\ud83e\udef2\ud83c[\udffb-\udffd\udfff]|\ud83e\udef1\ud83c\udfff\u200d\ud83e\udef2\ud83c[\udffb-\udffe]|\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc68|\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d[\udc68\udc69]|\ud83e\uddd1\u200d\ud83e\udd1d\u200d\ud83e\uddd1|\ud83d\udc6b\ud83c[\udffb-\udfff]|\ud83d\udc6c\ud83c[\udffb-\udfff]|\ud83d\udc6d\ud83c[\udffb-\udfff]|\ud83d\udc8f\ud83c[\udffb-\udfff]|\ud83d\udc91\ud83c[\udffb-\udfff]|\ud83e\udd1d\ud83c[\udffb-\udfff]|\ud83d[\udc6b-\udc6d\udc8f\udc91]|\ud83e\udd1d)|(?:\ud83d[\udc68\udc69]|\ud83e\uddd1)(?:\ud83c[\udffb-\udfff])?\u200d(?:\u2695\ufe0f|\u2696\ufe0f|\u2708\ufe0f|\ud83c[\udf3e\udf73\udf7c\udf84\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d[\udcbb\udcbc\udd27\udd2c\ude80\ude92]|\ud83e[\uddaf-\uddb3\uddbc\uddbd])|(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75]|\u26f9)((?:\ud83c[\udffb-\udfff]|\ufe0f)\u200d[\u2640\u2642]\ufe0f)|(?:\ud83c[\udfc3\udfc4\udfca]|\ud83d[\udc6e\udc70\udc71\udc73\udc77\udc81\udc82\udc86\udc87\ude45-\ude47\ude4b\ude4d\ude4e\udea3\udeb4-\udeb6]|\ud83e[\udd26\udd35\udd37-\udd39\udd3d\udd3e\uddb8\uddb9\uddcd-\uddcf\uddd4\uddd6-\udddd])(?:\ud83c[\udffb-\udfff])?\u200d[\u2640\u2642]\ufe0f|(?:\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f|\ud83c\udff3\ufe0f\u200d\ud83c\udf08|\ud83d\ude36\u200d\ud83c\udf2b\ufe0f|\u2764\ufe0f\u200d\ud83d\udd25|\u2764\ufe0f\u200d\ud83e\ude79|\ud83c\udff4\u200d\u2620\ufe0f|\ud83d\udc15\u200d\ud83e\uddba|\ud83d\udc3b\u200d\u2744\ufe0f|\ud83d\udc41\u200d\ud83d\udde8|\ud83d\udc68\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83d\udc6f\u200d\u2640\ufe0f|\ud83d\udc6f\u200d\u2642\ufe0f|\ud83d\ude2e\u200d\ud83d\udca8|\ud83d\ude35\u200d\ud83d\udcab|\ud83e\udd3c\u200d\u2640\ufe0f|\ud83e\udd3c\u200d\u2642\ufe0f|\ud83e\uddde\u200d\u2640\ufe0f|\ud83e\uddde\u200d\u2642\ufe0f|\ud83e\udddf\u200d\u2640\ufe0f|\ud83e\udddf\u200d\u2642\ufe0f|\ud83d\udc08\u200d\u2b1b)|[#*0-9]\ufe0f?\u20e3|(?:[\xa9\xae\u2122\u265f]\ufe0f)|(?:\ud83c[\udc04\udd70\udd71\udd7e\udd7f\ude02\ude1a\ude2f\ude37\udf21\udf24-\udf2c\udf36\udf7d\udf96\udf97\udf99-\udf9b\udf9e\udf9f\udfcd\udfce\udfd4-\udfdf\udff3\udff5\udff7]|\ud83d[\udc3f\udc41\udcfd\udd49\udd4a\udd6f\udd70\udd73\udd76-\udd79\udd87\udd8a-\udd8d\udda5\udda8\uddb1\uddb2\uddbc\uddc2-\uddc4\uddd1-\uddd3\udddc-\uddde\udde1\udde3\udde8\uddef\uddf3\uddfa\udecb\udecd-\udecf\udee0-\udee5\udee9\udef0\udef3]|[\u203c\u2049\u2139\u2194-\u2199\u21a9\u21aa\u231a\u231b\u2328\u23cf\u23ed-\u23ef\u23f1\u23f2\u23f8-\u23fa\u24c2\u25aa\u25ab\u25b6\u25c0\u25fb-\u25fe\u2600-\u2604\u260e\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262a\u262e\u262f\u2638-\u263a\u2640\u2642\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267b\u267f\u2692-\u2697\u2699\u269b\u269c\u26a0\u26a1\u26a7\u26aa\u26ab\u26b0\u26b1\u26bd\u26be\u26c4\u26c5\u26c8\u26cf\u26d1\u26d3\u26d4\u26e9\u26ea\u26f0-\u26f5\u26f8\u26fa\u26fd\u2702\u2708\u2709\u270f\u2712\u2714\u2716\u271d\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u2764\u27a1\u2934\u2935\u2b05-\u2b07\u2b1b\u2b1c\u2b50\u2b55\u3030\u303d\u3297\u3299])(?:\ufe0f|(?!\ufe0e))|(?:(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75\udd90]|[\u261d\u26f7\u26f9\u270c\u270d])(?:\ufe0f|(?!\ufe0e))|(?:\ud83c[\udf85\udfc2-\udfc4\udfc7\udfca]|\ud83d[\udc42\udc43\udc46-\udc50\udc66-\udc69\udc6e\udc70-\udc78\udc7c\udc81-\udc83\udc85-\udc87\udcaa\udd7a\udd95\udd96\ude45-\ude47\ude4b-\ude4f\udea3\udeb4-\udeb6\udec0\udecc]|\ud83e[\udd0c\udd0f\udd18-\udd1c\udd1e\udd1f\udd26\udd30-\udd39\udd3d\udd3e\udd77\uddb5\uddb6\uddb8\uddb9\uddbb\uddcd-\uddcf\uddd1-\udddd\udec3-\udec5\udef0-\udef6]|[\u270a\u270b]))(?:\ud83c[\udffb-\udfff])?|(?:\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f|\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc73\udb40\udc63\udb40\udc74\udb40\udc7f|\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc77\udb40\udc6c\udb40\udc73\udb40\udc7f|\ud83c\udde6\ud83c[\udde8-\uddec\uddee\uddf1\uddf2\uddf4\uddf6-\uddfa\uddfc\uddfd\uddff]|\ud83c\udde7\ud83c[\udde6\udde7\udde9-\uddef\uddf1-\uddf4\uddf6-\uddf9\uddfb\uddfc\uddfe\uddff]|\ud83c\udde8\ud83c[\udde6\udde8\udde9\uddeb-\uddee\uddf0-\uddf5\uddf7\uddfa-\uddff]|\ud83c\udde9\ud83c[\uddea\uddec\uddef\uddf0\uddf2\uddf4\uddff]|\ud83c\uddea\ud83c[\udde6\udde8\uddea\uddec\udded\uddf7-\uddfa]|\ud83c\uddeb\ud83c[\uddee-\uddf0\uddf2\uddf4\uddf7]|\ud83c\uddec\ud83c[\udde6\udde7\udde9-\uddee\uddf1-\uddf3\uddf5-\uddfa\uddfc\uddfe]|\ud83c\udded\ud83c[\uddf0\uddf2\uddf3\uddf7\uddf9\uddfa]|\ud83c\uddee\ud83c[\udde8-\uddea\uddf1-\uddf4\uddf6-\uddf9]|\ud83c\uddef\ud83c[\uddea\uddf2\uddf4\uddf5]|\ud83c\uddf0\ud83c[\uddea\uddec-\uddee\uddf2\uddf3\uddf5\uddf7\uddfc\uddfe\uddff]|\ud83c\uddf1\ud83c[\udde6-\udde8\uddee\uddf0\uddf7-\uddfb\uddfe]|\ud83c\uddf2\ud83c[\udde6\udde8-\udded\uddf0-\uddff]|\ud83c\uddf3\ud83c[\udde6\udde8\uddea-\uddec\uddee\uddf1\uddf4\uddf5\uddf7\uddfa\uddff]|\ud83c\uddf4\ud83c\uddf2|\ud83c\uddf5\ud83c[\udde6\uddea-\udded\uddf0-\uddf3\uddf7-\uddf9\uddfc\uddfe]|\ud83c\uddf6\ud83c\udde6|\ud83c\uddf7\ud83c[\uddea\uddf4\uddf8\uddfa\uddfc]|\ud83c\uddf8\ud83c[\udde6-\uddea\uddec-\uddf4\uddf7-\uddf9\uddfb\uddfd-\uddff]|\ud83c\uddf9\ud83c[\udde6\udde8\udde9\uddeb-\udded\uddef-\uddf4\uddf7\uddf9\uddfb\uddfc\uddff]|\ud83c\uddfa\ud83c[\udde6\uddec\uddf2\uddf3\uddf8\uddfe\uddff]|\ud83c\uddfb\ud83c[\udde6\udde8\uddea\uddec\uddee\uddf3\uddfa]|\ud83c\uddfc\ud83c[\uddeb\uddf8]|\ud83c\uddfd\ud83c\uddf0|\ud83c\uddfe\ud83c[\uddea\uddf9]|\ud83c\uddff\ud83c[\udde6\uddf2\uddfc]|\ud83c[\udccf\udd8e\udd91-\udd9a\udde6-\uddff\ude01\ude32-\ude36\ude38-\ude3a\ude50\ude51\udf00-\udf20\udf2d-\udf35\udf37-\udf7c\udf7e-\udf84\udf86-\udf93\udfa0-\udfc1\udfc5\udfc6\udfc8\udfc9\udfcf-\udfd3\udfe0-\udff0\udff4\udff8-\udfff]|\ud83d[\udc00-\udc3e\udc40\udc44\udc45\udc51-\udc65\udc6a\udc6f\udc79-\udc7b\udc7d-\udc80\udc84\udc88-\udc8e\udc90\udc92-\udca9\udcab-\udcfc\udcff-\udd3d\udd4b-\udd4e\udd50-\udd67\udda4\uddfb-\ude44\ude48-\ude4a\ude80-\udea2\udea4-\udeb3\udeb7-\udebf\udec1-\udec5\uded0-\uded2\uded5-\uded7\udedd-\udedf\udeeb\udeec\udef4-\udefc\udfe0-\udfeb\udff0]|\ud83e[\udd0d\udd0e\udd10-\udd17\udd20-\udd25\udd27-\udd2f\udd3a\udd3c\udd3f-\udd45\udd47-\udd76\udd78-\uddb4\uddb7\uddba\uddbc-\uddcc\uddd0\uddde-\uddff\ude70-\ude74\ude78-\ude7c\ude80-\ude86\ude90-\udeac\udeb0-\udeba\udec0-\udec2\uded0-\uded9\udee0-\udee7]|[\u23e9-\u23ec\u23f0\u23f3\u267e\u26ce\u2705\u2728\u274c\u274e\u2753-\u2755\u2795-\u2797\u27b0\u27bf\ue50a])|\ufe0f/g,f=/\uFE0F/g,c=String.fromCharCode(8205),t=/[&<>'"]/g,g=/^(?:iframe|noframes|noscript|script|select|style|textarea)$/,e=String.fromCharCode;return m;function x(d,u){return document.createTextNode(u?d.replace(f,""):d)}function b(d,u){return"".concat(u.base,u.size,"/",d,u.ext)}function N(d){return o(d.indexOf(c)<0?d.replace(f,""):d)}function r(d){return u[d]}function a(){return null}function n(d,u){return String(d).replace(h,u)}function o(d,u){for(var f=[],c=0,e=0,b=0;b 0; /** * Detect if the browser supports SVG. * * @since 4.6.0 * @private * * @see Modernizr * @link https://github.com/Modernizr/Modernizr/blob/master/feature-detects/svg/asimg.js * * @return {boolean} True if the browser supports svg, false if not. */ function browserSupportsSvgAsImage() { if ( !! document.implementation.hasFeature ) { return document.implementation.hasFeature( 'http://www.w3.org/TR/SVG11/feature#Image', '1.1' ); } // document.implementation.hasFeature is deprecated. It can be presumed // if future browsers remove it, the browser will support SVGs as images. return true; } /** * Runs when the document load event is fired, so we can do our first parse of * the page. * * Listens to all the DOM mutations and checks for added nodes that contain * emoji characters and replaces those with twitter emoji images. * * @since 4.2.0 * @private */ function load() { if ( loaded ) { return; } // Ensure twemoji is available on the global window before proceeding. if ( typeof window.twemoji === 'undefined' ) { // Break if waiting for longer than 30 seconds. if ( count > 600 ) { return; } // Still waiting. window.clearTimeout( timer ); timer = window.setTimeout( load, 50 ); count++; return; } twemoji = window.twemoji; loaded = true; // Initialize the mutation observer, which checks all added nodes for // replaceable emoji characters. if ( MutationObserver ) { new MutationObserver( function( mutationRecords ) { var i = mutationRecords.length, addedNodes, removedNodes, ii, node; while ( i-- ) { addedNodes = mutationRecords[ i ].addedNodes; removedNodes = mutationRecords[ i ].removedNodes; ii = addedNodes.length; /* * Checks if an image has been replaced by a text element * with the same text as the alternate description of the replaced image. * (presumably because the image could not be loaded). * If it is, do absolutely nothing. * * Node type 3 is a TEXT_NODE. * * @link https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType */ if ( ii === 1 && removedNodes.length === 1 && addedNodes[0].nodeType === 3 && removedNodes[0].nodeName === 'IMG' && addedNodes[0].data === removedNodes[0].alt && 'load-failed' === removedNodes[0].getAttribute( 'data-error' ) ) { return; } // Loop through all the added nodes. while ( ii-- ) { node = addedNodes[ ii ]; // Node type 3 is a TEXT_NODE. if ( node.nodeType === 3 ) { if ( ! node.parentNode ) { continue; } if ( ie11 ) { /* * IE 11's implementation of MutationObserver is buggy. * It unnecessarily splits text nodes when it encounters a HTML * template interpolation symbol ( "{{", for example ). So, we * join the text nodes back together as a work-around. * * Node type 3 is a TEXT_NODE. */ while( node.nextSibling && 3 === node.nextSibling.nodeType ) { node.nodeValue = node.nodeValue + node.nextSibling.nodeValue; node.parentNode.removeChild( node.nextSibling ); } } node = node.parentNode; } if ( test( node.textContent ) ) { parse( node ); } } } } ).observe( document.body, { childList: true, subtree: true } ); } parse( document.body ); } /** * Tests if a text string contains emoji characters. * * @since 4.3.0 * * @memberOf wp.emoji * * @param {string} text The string to test. * * @return {boolean} Whether the string contains emoji characters. */ function test( text ) { // Single char. U+20E3 to detect keycaps. U+00A9 "copyright sign" and U+00AE "registered sign" not included. var single = /[\u203C\u2049\u20E3\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2300\u231A\u231B\u2328\u2388\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638\u2639\u263A\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267B\u267F\u2692\u2693\u2694\u2696\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753\u2754\u2755\u2757\u2763\u2764\u2795\u2796\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05\u2B06\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]/, // Surrogate pair range. Only tests for the second half. pair = /[\uDC00-\uDFFF]/; if ( text ) { return pair.test( text ) || single.test( text ); } return false; } /** * Parses any emoji characters into Twemoji images. * * - When passed an element the emoji characters are replaced inline. * - When passed a string the emoji characters are replaced and the result is * returned. * * @since 4.2.0 * * @memberOf wp.emoji * * @param {HTMLElement|string} object The element or string to parse. * @param {Object} args Additional options for Twemoji. * * @return {HTMLElement|string} A string where all emoji are now image tags of * emoji. Or the element that was passed as the first argument. */ function parse( object, args ) { var params; /* * If the browser has full support, twemoji is not loaded or our * object is not what was expected, we do not parse anything. */ if ( settings.supports.everything || ! twemoji || ! object || ( 'string' !== typeof object && ( ! object.childNodes || ! object.childNodes.length ) ) ) { return object; } // Compose the params for the twitter emoji library. args = args || {}; params = { base: browserSupportsSvgAsImage() ? settings.svgUrl : settings.baseUrl, ext: browserSupportsSvgAsImage() ? settings.svgExt : settings.ext, className: args.className || 'emoji', callback: function( icon, options ) { // Ignore some standard characters that TinyMCE recommends in its character map. switch ( icon ) { case 'a9': case 'ae': case '2122': case '2194': case '2660': case '2663': case '2665': case '2666': return false; } if ( settings.supports.everythingExceptFlag && ! /^1f1(?:e[6-9a-f]|f[0-9a-f])-1f1(?:e[6-9a-f]|f[0-9a-f])$/.test( icon ) && // Country flags. ! /^(1f3f3-fe0f-200d-1f308|1f3f4-200d-2620-fe0f)$/.test( icon ) // Rainbow and pirate flags. ) { return false; } return ''.concat( options.base, icon, options.ext ); }, attributes: function() { return { role: 'img' }; }, onerror: function() { if ( twemoji.parentNode ) { this.setAttribute( 'data-error', 'load-failed' ); twemoji.parentNode.replaceChild( document.createTextNode( twemoji.alt ), twemoji ); } }, doNotParse: function( node ) { if ( node && node.className && typeof node.className === 'string' && node.className.indexOf( 'wp-exclude-emoji' ) !== -1 ) { // Do not parse this node. Emojis will not be replaced in this node and all sub-nodes. return true; } return false; } }; if ( typeof args.imgAttr === 'object' ) { params.attributes = function() { return args.imgAttr; }; } return twemoji.parse( object, params ); } /** * Initialize our emoji support, and set up listeners. */ if ( settings ) { if ( settings.DOMReady ) { load(); } else { settings.readyCallback = load; } } return { parse: parse, test: test }; } window.wp = window.wp || {}; /** * @namespace wp.emoji */ window.wp.emoji = new wpEmoji(); } )( window, window._wpemojiSettings ); PK!QZZwp-custom-header.min.jsnu[/*! This file is auto-generated */ !function(i,t){var e,n;function a(e,t){var n;"function"==typeof i.Event?n=new Event(t):(n=document.createEvent("Event")).initEvent(t,!0,!0),e.dispatchEvent(n)}function o(){this.handlers={nativeVideo:new e,youtube:new n}}function s(){}i.wp=i.wp||{},"addEventListener"in i&&(o.prototype={initialize:function(){if(this.supportsVideo())for(var e in this.handlers){e=this.handlers[e];if("test"in e&&e.test(t)){this.activeHandler=e.initialize.call(e,t),a(document,"wp-custom-header-video-loaded");break}}},supportsVideo:function(){return!(i.innerWidth":">",'"':""","'":"'","`":"`"},qn=Pn(t),t=Pn(An(t)),Un=m.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},Wn=/(.)^/,zn={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Ln=/\\|'|\r|\n|\u2028|\u2029/g;function $n(n){return"\\"+zn[n]}var Cn=/^\s*(\w|\$)+\s*$/;var Kn=0;function Jn(n,r,t,e,u){return e instanceof r?(e=En(n.prototype),o(r=n.apply(e,u))?r:e):n.apply(t,u)}var M=l(function(u,o){function i(){for(var n=0,r=o.length,t=Array(r),e=0;e'+s+"")[0],priority:-40})),t.toolbar.set("reverse",{text:a.reverseOrder,priority:80,click:function(){e.reset(e.toArray().reverse())}}))}});t.exports=i},2288:function(t){var i=wp.media.view.l10n,e=wp.media.controller.State.extend({defaults:{id:"cropper",title:i.cropImage,toolbar:"crop",content:"crop",router:!1,canSkipCrop:!1,doCropArgs:{}},activate:function(){this.frame.on("content:create:crop",this.createCropContent,this),this.frame.on("close",this.removeCropper,this),this.set("selection",new Backbone.Collection(this.frame._selection.single))},deactivate:function(){this.frame.toolbar.mode("browse")},createCropContent:function(){this.cropperView=new wp.media.view.Cropper({controller:this,attachment:this.get("selection").first()}),this.cropperView.on("image-loaded",this.createCropToolbar,this),this.frame.content.set(this.cropperView)},removeCropper:function(){this.imgSelect.cancelSelection(),this.imgSelect.setOptions({remove:!0}),this.imgSelect.update(),this.cropperView.remove()},createCropToolbar:function(){var t=this.get("canSkipCrop")||!1,e={controller:this.frame,items:{insert:{style:"primary",text:i.cropImage,priority:80,requires:{library:!1,selection:!1},click:function(){var e=this.controller,t=e.state().get("selection").first();t.set({cropDetails:e.state().imgSelect.getSelection()}),this.$el.text(i.cropping),this.$el.attr("disabled",!0),e.state().doCrop(t).done(function(t){e.trigger("cropped",t),e.close()}).fail(function(){e.trigger("content:error:crop")})}}}};t&&_.extend(e.items,{skip:{style:"secondary",text:i.skipCropping,priority:70,requires:{library:!1,selection:!1},click:function(){var t=this.controller.state().get("selection").first();this.controller.state().cropperView.remove(),this.controller.trigger("skippedcrop",t),this.controller.close()}}}),this.frame.toolbar.set(new wp.media.view.Toolbar(e))},doCrop:function(t){return wp.ajax.post("custom-header-crop",_.extend({},this.defaults.doCropArgs,{nonce:t.get("nonces").edit,id:t.get("id"),cropDetails:t.get("cropDetails")}))}});t.exports=e},6934:function(t){var e=wp.media.controller.Cropper.extend({doCrop:function(t){var e=t.get("cropDetails"),i=this.get("control"),s=e.width/e.height;return i.params.flex_width&&i.params.flex_height?(e.dst_width=e.width,e.dst_height=e.height):(e.dst_width=i.params.flex_width?i.params.height*s:i.params.width,e.dst_height=i.params.flex_height?i.params.width/s:i.params.height),wp.ajax.post("crop-image",{wp_customize:"on",nonce:t.get("nonces").edit,id:t.get("id"),context:i.id,cropDetails:e})}});t.exports=e},7658:function(t){var s=wp.media.view.l10n,e=wp.media.controller.State.extend({defaults:{id:"edit-image",title:s.editImage,menu:!1,toolbar:"edit-image",content:"edit-image",url:""},activate:function(){this.frame.on("toolbar:render:edit-image",_.bind(this.toolbar,this))},deactivate:function(){this.frame.off("toolbar:render:edit-image")},toolbar:function(){var t=this.frame,e=t.lastState(),i=e&&e.id;t.toolbar.set(new wp.media.view.Toolbar({controller:t,items:{back:{style:"primary",text:s.back,priority:20,click:function(){i?t.setState(i):t.close()}}}}))}});t.exports=e},9067:function(t){var e=wp.media.view.l10n,a=Backbone.$,e=wp.media.controller.State.extend({defaults:{id:"embed",title:e.insertFromUrlTitle,content:"embed",menu:"default",toolbar:"main-embed",priority:120,type:"link",url:"",metadata:{}},sensitivity:400,initialize:function(t){this.metadata=t.metadata,this.debouncedScan=_.debounce(_.bind(this.scan,this),this.sensitivity),this.props=new Backbone.Model(this.metadata||{url:""}),this.props.on("change:url",this.debouncedScan,this),this.props.on("change:url",this.refresh,this),this.on("scan",this.scanImage,this)},scan:function(){var t,e=this,i={type:"link",scanners:[]};this.props.get("url")&&this.trigger("scan",i),i.scanners.length?(t=i.scanners=a.when.apply(a,i.scanners)).always(function(){e.get("scanners")===t&&e.set("loading",!1)}):i.scanners=null,i.loading=!!i.scanners,this.set(i)},scanImage:function(t){var e=this.frame,i=this,s=this.props.get("url"),o=new Image,n=a.Deferred();t.scanners.push(n.promise()),o.onload=function(){n.resolve(),i===e.state()&&s===i.props.get("url")&&(i.set({type:"image"}),i.props.set({width:o.width,height:o.height}))},o.onerror=n.reject,o.src=s},refresh:function(){this.frame.toolbar.get().refresh()},reset:function(){this.props.clear().set({url:""}),this.active&&this.refresh()}});t.exports=e},5095:function(t){var s=wp.media.model.Attachment,e=wp.media.controller.Library,i=wp.media.view.l10n,i=e.extend({defaults:_.defaults({id:"featured-image",title:i.setFeaturedImageTitle,multiple:!1,filterable:"uploaded",toolbar:"featured-image",priority:60,syncSelection:!0},e.prototype.defaults),initialize:function(){var t,o;this.get("library")||this.set("library",wp.media.query({type:"image"})),e.prototype.initialize.apply(this,arguments),t=this.get("library"),o=t.comparator,t.comparator=function(t,e){var i=!!this.mirroring.get(t.cid),s=!!this.mirroring.get(e.cid);return!i&&s?-1:i&&!s?1:o.apply(this,arguments)},t.observe(this.get("selection"))},activate:function(){this.frame.on("open",this.updateSelection,this),e.prototype.activate.apply(this,arguments)},deactivate:function(){this.frame.off("open",this.updateSelection,this),e.prototype.deactivate.apply(this,arguments)},updateSelection:function(){var t,e=this.get("selection"),i=wp.media.view.settings.post.featuredImageId;""!==i&&-1!==i&&(t=s.get(i)).fetch(),e.reset(t?[t]:[])}});t.exports=i},7323:function(t){var i=wp.media.model.Selection,s=wp.media.controller.Library,e=wp.media.view.l10n,e=s.extend({defaults:_.defaults({id:"gallery-library",title:e.addToGalleryTitle,multiple:"add",filterable:"uploaded",menu:"gallery",toolbar:"gallery-add",priority:100,syncSelection:!1},s.prototype.defaults),initialize:function(){this.get("library")||this.set("library",wp.media.query({type:"image"})),s.prototype.initialize.apply(this,arguments)},activate:function(){var t=this.get("library"),e=this.frame.state("gallery-edit").get("library");this.editLibrary&&this.editLibrary!==e&&t.unobserve(this.editLibrary),t.validator=function(t){return!!this.mirroring.get(t.cid)&&!e.get(t.cid)&&i.prototype.validator.apply(this,arguments)},t.reset(t.mirroring.models,{silent:!0}),t.observe(e),this.editLibrary=e,s.prototype.activate.apply(this,arguments)}});t.exports=e},6328:function(t){var e=wp.media.controller.Library,i=wp.media.view.l10n,s=e.extend({defaults:{id:"gallery-edit",title:i.editGalleryTitle,multiple:!1,searchable:!1,sortable:!0,date:!1,display:!1,content:"browse",toolbar:"gallery-edit",describe:!0,displaySettings:!0,dragInfo:!0,idealColumnWidth:170,editing:!1,priority:60,syncSelection:!1},initialize:function(){this.get("library")||this.set("library",new wp.media.model.Selection),this.get("AttachmentView")||this.set("AttachmentView",wp.media.view.Attachment.EditLibrary),e.prototype.initialize.apply(this,arguments)},activate:function(){this.get("library").props.set("type","image"),this.get("library").observe(wp.Uploader.queue),this.frame.on("content:render:browse",this.gallerySettings,this),e.prototype.activate.apply(this,arguments)},deactivate:function(){this.get("library").unobserve(wp.Uploader.queue),this.frame.off("content:render:browse",this.gallerySettings,this),e.prototype.deactivate.apply(this,arguments)},gallerySettings:function(t){var e;this.get("displaySettings")&&(e=this.get("library"))&&t&&(e.gallery=e.gallery||new Backbone.Model,t.sidebar.set({gallery:new wp.media.view.Settings.Gallery({controller:this,model:e.gallery,priority:40})}),t.toolbar.set("reverse",{text:i.reverseOrder,priority:80,click:function(){e.reset(e.toArray().reverse())}}))}});t.exports=s},3849:function(t){var e=wp.media.controller.State,i=wp.media.controller.Library,s=wp.media.view.l10n,s=e.extend({defaults:_.defaults({id:"image-details",title:s.imageDetailsTitle,content:"image-details",menu:!1,router:!1,toolbar:"image-details",editing:!1,priority:60},i.prototype.defaults),initialize:function(t){this.image=t.image,e.prototype.initialize.apply(this,arguments)},activate:function(){this.frame.modal.$el.addClass("image-details")}});t.exports=s},9024:function(t){var e=wp.media.view.l10n,i=window.getUserSetting,s=window.setUserSetting,e=wp.media.controller.State.extend({defaults:{id:"library",title:e.mediaLibraryTitle,multiple:!1,content:"upload",menu:"default",router:"browse",toolbar:"select",searchable:!0,filterable:!1,sortable:!0,autoSelect:!0,describe:!1,contentUserSetting:!0,syncSelection:!0},initialize:function(){var t=this.get("selection");this.get("library")||this.set("library",wp.media.query()),t instanceof wp.media.model.Selection||((t=t)||(t=this.get("library").props.toJSON(),t=_.omit(t,"orderby","query")),this.set("selection",new wp.media.model.Selection(null,{multiple:this.get("multiple"),props:t}))),this.resetDisplays()},activate:function(){this.syncSelection(),wp.Uploader.queue.on("add",this.uploading,this),this.get("selection").on("add remove reset",this.refreshContent,this),this.get("router")&&this.get("contentUserSetting")&&(this.frame.on("content:activate",this.saveContentMode,this),this.set("content",i("libraryContent",this.get("content"))))},deactivate:function(){this.recordSelection(),this.frame.off("content:activate",this.saveContentMode,this),this.get("selection").off(null,null,this),wp.Uploader.queue.off(null,null,this)},reset:function(){this.get("selection").reset(),this.resetDisplays(),this.refreshContent()},resetDisplays:function(){var t=wp.media.view.settings.defaultProps;this._displays=[],this._defaultDisplaySettings={align:i("align",t.align)||"none",size:i("imgsize",t.size)||"medium",link:i("urlbutton",t.link)||"none"}},display:function(t){var e=this._displays;return e[t.cid]||(e[t.cid]=new Backbone.Model(this.defaultDisplaySettings(t))),e[t.cid]},defaultDisplaySettings:function(t){var e=_.clone(this._defaultDisplaySettings);return e.canEmbed=this.canEmbed(t),e.canEmbed?e.link="embed":this.isImageAttachment(t)||"none"!==e.link||(e.link="file"),e},isImageAttachment:function(t){return t.get("uploading")?/\.(jpe?g|png|gif|webp)$/i.test(t.get("filename")):"image"===t.get("type")},canEmbed:function(t){if(!t.get("uploading")){var e=t.get("type");if("audio"!==e&&"video"!==e)return!1}return _.contains(wp.media.view.settings.embedExts,t.get("filename").split(".").pop())},refreshContent:function(){var t=this.get("selection"),e=this.frame,i=e.router.get(),e=e.content.mode();this.active&&!t.length&&i&&!i.get(e)&&this.frame.content.render(this.get("content"))},uploading:function(t){"upload"===this.frame.content.mode()&&this.frame.content.mode("browse"),this.get("autoSelect")&&(this.get("selection").add(t),this.frame.trigger("library:selection:add"))},saveContentMode:function(){var t,e;"browse"===this.get("router")&&(t=this.frame.content.mode(),e=this.frame.router.get())&&e.get(t)&&s("libraryContent",t)}});_.extend(e.prototype,wp.media.selectionSync),t.exports=e},3742:function(t){var e=wp.media.controller.Library,i=e.extend({defaults:_.defaults({filterable:"uploaded",displaySettings:!1,priority:80,syncSelection:!1},e.prototype.defaults),initialize:function(t){this.media=t.media,this.type=t.type,this.set("library",wp.media.query({type:this.type})),e.prototype.initialize.apply(this,arguments)},activate:function(){wp.media.frame.lastMime&&(this.set("library",wp.media.query({type:wp.media.frame.lastMime})),delete wp.media.frame.lastMime),e.prototype.activate.apply(this,arguments)}});t.exports=i},4903:function(t){function e(t){_.extend(this,_.pick(t||{},"id","view","selector"))}e.extend=Backbone.Model.extend,_.extend(e.prototype,{mode:function(t){return t?(t!==this._mode&&(this.trigger("deactivate"),this._mode=t,this.render(t),this.trigger("activate")),this):this._mode},render:function(t){return t&&t!==this._mode?this.mode(t):(this.trigger("create",t={view:null}),this.trigger("render",t=t.view),t&&this.set(t),this)},get:function(){return this.view.views.first(this.selector)},set:function(t,e){return e&&(e.add=!1),this.view.views.set(this.selector,t,e)},trigger:function(t){var e,i;if(this._mode)return i=_.toArray(arguments),e=this.id+":"+t,i[0]=e+":"+this._mode,this.view.trigger.apply(this.view,i),i[0]=e,this.view.trigger.apply(this.view,i),this}}),t.exports=e},8493:function(t){var i=wp.media.controller.Library,e=wp.media.view.l10n,e=i.extend({defaults:_.defaults({id:"replace-image",title:e.replaceImageTitle,multiple:!1,filterable:"uploaded",toolbar:"replace",menu:!1,priority:60,syncSelection:!0},i.prototype.defaults),initialize:function(t){var e,o;this.image=t.image,this.get("library")||this.set("library",wp.media.query({type:"image"})),i.prototype.initialize.apply(this,arguments),e=this.get("library"),o=e.comparator,e.comparator=function(t,e){var i=!!this.mirroring.get(t.cid),s=!!this.mirroring.get(e.cid);return!i&&s?-1:i&&!s?1:o.apply(this,arguments)},e.observe(this.get("selection"))},activate:function(){this.frame.on("content:render:browse",this.updateSelection,this),i.prototype.activate.apply(this,arguments)},deactivate:function(){this.frame.off("content:render:browse",this.updateSelection,this),i.prototype.deactivate.apply(this,arguments)},updateSelection:function(){var t=this.get("selection"),e=this.image.attachment;t.reset(e?[e]:[])}});t.exports=e},5274:function(t){var e=wp.media.controller.Cropper.extend({activate:function(){this.frame.on("content:create:crop",this.createCropContent,this),this.frame.on("close",this.removeCropper,this),this.set("selection",new Backbone.Collection(this.frame._selection.single))},createCropContent:function(){this.cropperView=new wp.media.view.SiteIconCropper({controller:this,attachment:this.get("selection").first()}),this.cropperView.on("image-loaded",this.createCropToolbar,this),this.frame.content.set(this.cropperView)},doCrop:function(t){var e=t.get("cropDetails"),i=this.get("control");return e.dst_width=i.params.width,e.dst_height=i.params.height,wp.ajax.post("crop-image",{nonce:t.get("nonces").edit,id:t.get("id"),context:"site-icon",cropDetails:e})}});t.exports=e},5466:function(t){function e(){return{extend:Backbone.Model.extend}}_.extend(e.prototype,Backbone.Events,{state:function(t){return this.states=this.states||new Backbone.Collection,(t=t||this._state)&&!this.states.get(t)&&this.states.add({id:t}),this.states.get(t)},setState:function(t){var e=this.state();return e&&t===e.id||!this.states||!this.states.get(t)||(e&&(e.trigger("deactivate"),this._lastState=e.id),this._state=t,this.state().trigger("activate")),this},lastState:function(){if(this._lastState)return this.state(this._lastState)}}),_.each(["on","off","trigger"],function(t){e.prototype[t]=function(){return this.states=this.states||new Backbone.Collection,this.states[t].apply(this.states,arguments),this}}),t.exports=e},5826:function(t){var i=Backbone.Model.extend({constructor:function(){this.on("activate",this._preActivate,this),this.on("activate",this.activate,this),this.on("activate",this._postActivate,this),this.on("deactivate",this._deactivate,this),this.on("deactivate",this.deactivate,this),this.on("reset",this.reset,this),this.on("ready",this._ready,this),this.on("ready",this.ready,this),Backbone.Model.apply(this,arguments),this.on("change:menu",this._updateMenu,this)},ready:function(){},activate:function(){},deactivate:function(){},reset:function(){},_ready:function(){this._updateMenu()},_preActivate:function(){this.active=!0},_postActivate:function(){this.on("change:menu",this._menu,this),this.on("change:titleMode",this._title,this),this.on("change:content",this._content,this),this.on("change:toolbar",this._toolbar,this),this.frame.on("title:render:default",this._renderTitle,this),this._title(),this._menu(),this._toolbar(),this._content(),this._router()},_deactivate:function(){this.active=!1,this.frame.off("title:render:default",this._renderTitle,this),this.off("change:menu",this._menu,this),this.off("change:titleMode",this._title,this),this.off("change:content",this._content,this),this.off("change:toolbar",this._toolbar,this)},_title:function(){this.frame.title.render(this.get("titleMode")||"default")},_renderTitle:function(t){t.$el.text(this.get("title")||"")},_router:function(){var t=this.frame.router,e=this.get("router");this.frame.$el.toggleClass("hide-router",!e),e&&(this.frame.router.render(e),e=t.get())&&e.select&&e.select(this.frame.content.mode())},_menu:function(){var t=this.frame.menu,e=this.get("menu");this.frame.$el.toggleClass("hide-menu",!e),e&&(t.mode(e),e=t.get())&&e.select&&e.select(this.id)},_updateMenu:function(){var t=this.previous("menu"),e=this.get("menu");t&&this.frame.off("menu:render:"+t,this._renderMenu,this),e&&this.frame.on("menu:render:"+e,this._renderMenu,this)},_renderMenu:function(t){var e=this.get("menuItem"),i=this.get("title"),s=this.get("priority");!e&&i&&(e={text:i},s)&&(e.priority=s),e&&t.set(this.id,e)}});_.each(["toolbar","content"],function(e){i.prototype["_"+e]=function(){var t=this.get(e);t&&this.frame[e].render(t)}}),t.exports=i},3526:function(t){t.exports={syncSelection:function(){var t=this.get("selection"),e=this.frame._selection;this.get("syncSelection")&&e&&t&&(t.multiple&&(t.reset([],{silent:!0}),t.validateAll(e.attachments),e.difference=_.difference(e.attachments.models,t.models)),t.single(e.single))},recordSelection:function(){var t=this.get("selection"),e=this.frame._selection;this.get("syncSelection")&&e&&t&&(t.multiple?(e.attachments.reset(t.toArray().concat(e.difference)),e.difference=[]):e.attachments.add(t.toArray()),e.single=t._single)}}},8093:function(t){var e=wp.media.View,i=e.extend({tagName:"form",className:"compat-item",events:{submit:"preventDefault","change input":"save","change select":"save","change textarea":"save"},initialize:function(){this.listenTo(this.model,"add",this.render)},dispose:function(){return this.$(":focus").length&&this.save(),e.prototype.dispose.apply(this,arguments)},render:function(){var t=this.model.get("compat");if(t&&t.item)return this.views.detach(),this.$el.html(t.item),this.views.render(),this},preventDefault:function(t){t.preventDefault()},save:function(t){var e={};t&&t.preventDefault(),_.each(this.$el.serializeArray(),function(t){e[t.name]=t.value}),this.controller.trigger("attachment:compat:waiting",["waiting"]),this.model.saveCompat(e).always(_.bind(this.postSave,this))},postSave:function(){this.controller.trigger("attachment:compat:ready",["ready"])}});t.exports=i},4906:function(t){var i=jQuery,e=wp.media.View.extend({tagName:"select",className:"attachment-filters",id:"media-attachment-filters",events:{change:"change"},keys:[],initialize:function(){this.createFilters(),_.extend(this.filters,this.options.filters),this.$el.html(_.chain(this.filters).map(function(t,e){return{el:i("").val(e).html(t.text)[0],priority:t.priority||50}},this).sortBy("priority").pluck("el").value()),this.listenTo(this.model,"change",this.select),this.select()},createFilters:function(){this.filters={}},change:function(){var t=this.filters[this.el.value];t&&this.model.set(t.props)},select:function(){var t=this.model,i="all",s=t.toJSON();_.find(this.filters,function(t,e){if(_.all(t.props,function(t,e){return t===(_.isUndefined(s[e])?null:s[e])}))return i=e}),this.$el.val(i)}});t.exports=e},2868:function(t){var e=wp.media.view.l10n,i=wp.media.view.AttachmentFilters.extend({createFilters:function(){var i={},t=window.userSettings?parseInt(window.userSettings.uid,10):0;_.each(wp.media.view.settings.mimeTypes||{},function(t,e){i[e]={text:t,props:{status:null,type:e,uploadedTo:null,orderby:"date",order:"DESC",author:null}}}),i.all={text:e.allMediaItems,props:{status:null,type:null,uploadedTo:null,orderby:"date",order:"DESC",author:null},priority:10},wp.media.view.settings.post.id&&(i.uploaded={text:e.uploadedToThisPost,props:{status:null,type:null,uploadedTo:wp.media.view.settings.post.id,orderby:"menuOrder",order:"ASC",author:null},priority:20}),i.unattached={text:e.unattached,props:{status:null,uploadedTo:0,type:null,orderby:"menuOrder",order:"ASC",author:null},priority:50},t&&(i.mine={text:e.mine,props:{status:null,type:null,uploadedTo:null,orderby:"date",order:"DESC",author:t},priority:50}),wp.media.view.settings.mediaTrash&&this.controller.isModeActive("grid")&&(i.trash={text:e.trash,props:{uploadedTo:null,status:"trash",type:null,orderby:"date",order:"DESC",author:null},priority:50}),this.filters=i}});t.exports=i},9663:function(t){var e=wp.media.view.l10n,i=wp.media.view.AttachmentFilters.extend({id:"media-attachment-date-filters",createFilters:function(){var i={};_.each(wp.media.view.settings.months||{},function(t,e){i[e]={text:t.text,props:{year:t.year,monthnum:t.month}}}),i.all={text:e.allDates,props:{monthnum:!1,year:!1},priority:10},this.filters=i}});t.exports=i},7040:function(t){var o=wp.media.view.l10n,e=wp.media.view.AttachmentFilters.extend({createFilters:function(){var t,e=this.model.get("type"),i=wp.media.view.settings.mimeTypes,s=window.userSettings?parseInt(window.userSettings.uid,10):0;i&&e&&(t=i[e]),this.filters={all:{text:t||o.allMediaItems,props:{uploadedTo:null,orderby:"date",order:"DESC",author:null},priority:10},uploaded:{text:o.uploadedToThisPost,props:{uploadedTo:wp.media.view.settings.post.id,orderby:"menuOrder",order:"ASC",author:null},priority:20},unattached:{text:o.unattached,props:{uploadedTo:0,orderby:"menuOrder",order:"ASC",author:null},priority:50}},s&&(this.filters.mine={text:o.mine,props:{orderby:"date",order:"DESC",author:s},priority:50})}});t.exports=e},5019:function(t){var e=wp.media.View,o=jQuery,i=e.extend({tagName:"li",className:"attachment",template:wp.template("attachment"),attributes:function(){return{tabIndex:0,role:"checkbox","aria-label":this.model.get("title"),"aria-checked":!1,"data-id":this.model.get("id")}},events:{click:"toggleSelectionHandler","change [data-setting]":"updateSetting","change [data-setting] input":"updateSetting","change [data-setting] select":"updateSetting","change [data-setting] textarea":"updateSetting","click .attachment-close":"removeFromLibrary","click .check":"checkClickHandler",keydown:"toggleSelectionHandler"},buttons:{},initialize:function(){var t=this.options.selection;_.defaults(this.options,{rerenderOnModelChange:!0}).rerenderOnModelChange?this.listenTo(this.model,"change",this.render):this.listenTo(this.model,"change:percent",this.progress),this.listenTo(this.model,"change:title",this._syncTitle),this.listenTo(this.model,"change:caption",this._syncCaption),this.listenTo(this.model,"change:artist",this._syncArtist),this.listenTo(this.model,"change:album",this._syncAlbum),this.listenTo(this.model,"add",this.select),this.listenTo(this.model,"remove",this.deselect),t&&(t.on("reset",this.updateSelect,this),this.listenTo(this.model,"selection:single selection:unsingle",this.details),this.details(this.model,this.controller.state().get("selection"))),this.listenTo(this.controller.states,"attachment:compat:waiting attachment:compat:ready",this.updateSave)},dispose:function(){var t=this.options.selection;return this.updateAll(),t&&t.off(null,null,this),e.prototype.dispose.apply(this,arguments),this},render:function(){var t=_.defaults(this.model.toJSON(),{orientation:"landscape",uploading:!1,type:"",subtype:"",icon:"",filename:"",caption:"",title:"",dateFormatted:"",width:"",height:"",compat:!1,alt:"",description:""},this.options);return t.buttons=this.buttons,t.describe=this.controller.state().get("describe"),"image"===t.type&&(t.size=this.imageSize()),t.can={},t.nonces&&(t.can.remove=!!t.nonces.delete,t.can.save=!!t.nonces.update),this.controller.state().get("allowLocalEdits")&&(t.allowLocalEdits=!0),t.uploading&&!t.percent&&(t.percent=0),this.views.detach(),this.$el.html(this.template(t)),this.$el.toggleClass("uploading",t.uploading),t.uploading?this.$bar=this.$(".media-progress-bar div"):delete this.$bar,this.updateSelect(),this.updateSave(),this.views.render(),this},progress:function(){this.$bar&&this.$bar.length&&this.$bar.width(this.model.get("percent")+"%")},toggleSelectionHandler:function(t){var e;if("INPUT"!==t.target.nodeName&&"BUTTON"!==t.target.nodeName)if(37===t.keyCode||38===t.keyCode||39===t.keyCode||40===t.keyCode)this.controller.trigger("attachment:keydown:arrow",t);else if("keydown"!==t.type||13===t.keyCode||32===t.keyCode){if(t.preventDefault(),this.controller.isModeActive("grid")){if(this.controller.isModeActive("edit"))return void this.controller.trigger("edit:attachment",this.model,t.currentTarget);this.controller.isModeActive("select")&&(e="toggle")}t.shiftKey?e="between":(t.ctrlKey||t.metaKey)&&(e="toggle"),this.toggleSelection({method:e}),this.controller.trigger("selection:toggle")}},toggleSelection:function(t){var e,i,s,o=this.collection,n=this.options.selection,a=this.model,t=t&&t.method;if(n){if(e=n.single(),"between"===(t=_.isUndefined(t)?n.multiple:t)&&e&&n.multiple)return e===a?void 0:(o=(i=o.indexOf(e))<(s=o.indexOf(this.model))?o.models.slice(i,s+1):o.models.slice(s,i+1),n.add(o),void n.single(a));"toggle"===t?(n[this.selected()?"remove":"add"](a),n.single(a)):"add"===t?(n.add(a),n.single(a)):("add"!==(t=t||"add")&&(t="reset"),this.selected()?n[e===a?"remove":"single"](a):(n[t](a),n.single(a)))}},updateSelect:function(){this[this.selected()?"select":"deselect"]()},selected:function(){var t=this.options.selection;if(t)return!!t.get(this.model.cid)},select:function(t,e){var i=this.options.selection,s=this.controller;!i||e&&e!==i||this.$el.hasClass("selected")||(this.$el.addClass("selected").attr("aria-checked",!0),s.isModeActive("grid")&&s.isModeActive("select"))||this.$(".check").attr("tabindex","0")},deselect:function(t,e){var i=this.options.selection;!i||e&&e!==i||this.$el.removeClass("selected").attr("aria-checked",!1).find(".check").attr("tabindex","-1")},details:function(t,e){var i=this.options.selection;i===e&&(e=i.single(),this.$el.toggleClass("details",e===this.model))},imageSize:function(t){var e=this.model.get("sizes"),i=!1;return t=t||"medium",e&&(e[t]?i=e[t]:e.large?i=e.large:e.thumbnail?i=e.thumbnail:e.full&&(i=e.full),i)?_.clone(i):{url:this.model.get("url"),width:this.model.get("width"),height:this.model.get("height"),orientation:this.model.get("orientation")}},updateSetting:function(t){var e=o(t.target).closest("[data-setting]");e.length&&(e=e.data("setting"),t=t.target.value,this.model.get(e)!==t)&&this.save(e,t)},save:function(){var t=this,e=this._save=this._save||{status:"ready"},i=this.model.save.apply(this.model,arguments),s=e.requests?o.when(i,e.requests):i;e.savedTimer&&clearTimeout(e.savedTimer),this.updateSave("waiting"),(e.requests=s).always(function(){e.requests===s&&(t.updateSave("resolved"===s.state()?"complete":"error"),e.savedTimer=setTimeout(function(){t.updateSave("ready"),delete e.savedTimer},2e3))})},updateSave:function(t){var e=this._save=this._save||{status:"ready"};return t&&t!==e.status&&(this.$el.removeClass("save-"+e.status),e.status=t),this.$el.addClass("save-"+e.status),this},updateAll:function(){var t=this.$("[data-setting]"),i=this.model,t=_.chain(t).map(function(t){var e=o("input, textarea, select, [value]",t);if(e.length)return t=o(t).data("setting"),e=e.val(),i.get(t)!==e?[t,e]:void 0}).compact().object().value();_.isEmpty(t)||i.save(t)},removeFromLibrary:function(t){"keydown"===t.type&&13!==t.keyCode&&32!==t.keyCode||(t.stopPropagation(),this.collection.remove(this.model))},checkClickHandler:function(t){var e=this.options.selection;e&&(t.stopPropagation(),e.where({id:this.model.get("id")}).length?(e.remove(this.model),this.$el.focus()):e.add(this.model),this.controller.trigger("selection:toggle"))}});_.each({caption:"_syncCaption",title:"_syncTitle",artist:"_syncArtist",album:"_syncAlbum"},function(t,s){i.prototype[t]=function(t,e){var i=this.$('[data-setting="'+s+'"]');return!i.length||e===i.find("input, textarea, select, [value]").val()?this:this.render()}}),t.exports=i},7274:function(t){var e=wp.media.view.Attachment,i=wp.media.view.l10n,o=jQuery,n=wp.i18n.__,s=e.extend({tagName:"div",className:"attachment-details",template:wp.template("attachment-details"),attributes:{},events:{"change [data-setting]":"updateSetting","change [data-setting] input":"updateSetting","change [data-setting] select":"updateSetting","change [data-setting] textarea":"updateSetting","click .delete-attachment":"deleteAttachment","click .trash-attachment":"trashAttachment","click .untrash-attachment":"untrashAttachment","click .edit-attachment":"editAttachment",keydown:"toggleSelectionHandler"},copyAttachmentDetailsURLClipboard:function(){var s;new ClipboardJS(".copy-attachment-url").on("success",function(t){var e=o(t.trigger),i=o(".success",e.closest(".copy-to-clipboard-container"));t.clearSelection(),e.trigger("focus"),clearTimeout(s),i.removeClass("hidden"),s=setTimeout(function(){i.addClass("hidden")},3e3),wp.a11y.speak(n("The file URL has been copied to your clipboard"))})},initialize:function(){this.options=_.defaults(this.options,{rerenderOnModelChange:!1}),e.prototype.initialize.apply(this,arguments),this.copyAttachmentDetailsURLClipboard()},getFocusableElements:function(){var t=o('li[data-id="'+this.model.id+'"]');this.previousAttachment=t.prev(),this.nextAttachment=t.next()},moveFocus:function(){this.previousAttachment.length?this.previousAttachment.trigger("focus"):this.nextAttachment.length?this.nextAttachment.trigger("focus"):this.controller.uploader&&this.controller.uploader.$browser?this.controller.uploader.$browser.trigger("focus"):this.moveFocusToLastFallback()},moveFocusToLastFallback:function(){o(".media-frame").attr("tabindex","-1").trigger("focus")},deleteAttachment:function(t){t.preventDefault(),this.getFocusableElements(),window.confirm(i.warnDelete)&&(this.model.destroy({wait:!0,error:function(){window.alert(i.errorDeleting)}}),this.moveFocus())},trashAttachment:function(t){var e=this.controller.library,i=this;t.preventDefault(),this.getFocusableElements(),wp.media.view.settings.mediaTrash&&"edit-metadata"===this.controller.content.mode()?(this.model.set("status","trash"),this.model.save().done(function(){e._requery(!0),i.moveFocusToLastFallback()})):(this.model.destroy(),this.moveFocus())},untrashAttachment:function(t){var e=this.controller.library;t.preventDefault(),this.model.set("status","inherit"),this.model.save().done(function(){e._requery(!0)})},editAttachment:function(t){var e=this.controller.states.get("edit-image");window.imageEdit&&e?(t.preventDefault(),e.set("image",this.model),this.controller.setState("edit-image")):this.$el.addClass("needs-refresh")},toggleSelectionHandler:function(t){if("keydown"===t.type&&9===t.keyCode&&t.shiftKey&&t.target===this.$(":tabbable").get(0))return this.controller.trigger("attachment:details:shift-tab",t),!1},render:function(){e.prototype.render.apply(this,arguments),wp.media.mixin.removeAllPlayers(),this.$("audio, video").each(function(t,e){e=wp.media.view.MediaDetails.prepareSrc(e);new window.MediaElementPlayer(e,wp.media.mixin.mejsSettings)})}});t.exports=s},4640:function(t){var e=wp.media.view.Attachment.extend({buttons:{close:!0}});t.exports=e},1009:function(t){var e=wp.media.view.Attachment.Selection.extend({buttons:{close:!0}});t.exports=e},9254:function(t){var e=wp.media.view.Attachment.extend({buttons:{check:!0}});t.exports=e},9003:function(t){var e=wp.media.view.Attachment.extend({className:"attachment selection",toggleSelection:function(){this.options.selection.single(this.model)}});t.exports=e},8408:function(t){var e=wp.media.View,n=jQuery,i=wp.media.view.settings.infiniteScrolling,s=e.extend({tagName:"ul",className:"attachments",attributes:{tabIndex:-1},initialize:function(){this.el.id=_.uniqueId("__attachments-view-"),_.defaults(this.options,{infiniteScrolling:i||!1,refreshSensitivity:wp.media.isTouchDevice?300:200,refreshThreshold:3,AttachmentView:wp.media.view.Attachment,sortable:!1,resize:!0,idealColumnWidth:n(window).width()<640?135:150}),this._viewsByCid={},this.$window=n(window),this.resizeEvent="resize.media-modal-columns",this.collection.on("add",function(t){this.views.add(this.createAttachmentView(t),{at:this.collection.indexOf(t)})},this),this.collection.on("remove",function(t){var e=this._viewsByCid[t.cid];delete this._viewsByCid[t.cid],e&&e.remove()},this),this.collection.on("reset",this.render,this),this.controller.on("library:selection:add",this.attachmentFocus,this),this.options.infiniteScrolling&&(this.scroll=_.chain(this.scroll).bind(this).throttle(this.options.refreshSensitivity).value(),this.options.scrollElement=this.options.scrollElement||this.el,n(this.options.scrollElement).on("scroll",this.scroll)),this.initSortable(),_.bindAll(this,"setColumns"),this.options.resize&&(this.on("ready",this.bindEvents),this.controller.on("open",this.setColumns),_.defer(this.setColumns,this))},bindEvents:function(){this.$window.off(this.resizeEvent).on(this.resizeEvent,_.debounce(this.setColumns,50))},attachmentFocus:function(){this.columns&&this.$el.focus()},restoreFocus:function(){this.$("li.selected:first").focus()},arrowEvent:function(t){var e=this.$el.children("li"),i=this.columns,s=e.filter(":focus").index(),o=s+1<=i?1:Math.ceil((s+1)/i);if(-1!==s){if(37===t.keyCode){if(0===s)return;e.eq(s-1).focus()}if(38===t.keyCode){if(1===o)return;e.eq(s-i).focus()}if(39===t.keyCode){if(e.length===s)return;e.eq(s+1).focus()}40===t.keyCode&&Math.ceil(e.length/i)!==o&&e.eq(s+i).focus()}},dispose:function(){this.collection.props.off(null,null,this),this.options.resize&&this.$window.off(this.resizeEvent),e.prototype.dispose.apply(this,arguments)},setColumns:function(){var t=this.columns,e=this.$el.width();e&&(this.columns=Math.min(Math.round(e/this.options.idealColumnWidth),12)||1,t&&t===this.columns||this.$el.closest(".media-frame-content").attr("data-columns",this.columns))},initSortable:function(){var o=this.collection;this.options.sortable&&n.fn.sortable&&(this.$el.sortable(_.extend({disabled:!!o.comparator,tolerance:"pointer",start:function(t,e){e.item.data("sortableIndexStart",e.item.index())},update:function(t,e){var i=o.at(e.item.data("sortableIndexStart")),s=o.comparator;delete o.comparator,o.remove(i,{silent:!0}),o.add(i,{silent:!0,at:e.item.index()}),o.comparator=s,o.trigger("reset",o),o.saveMenuOrder()}},this.options.sortable)),o.props.on("change:orderby",function(){this.$el.sortable("option","disabled",!!o.comparator)},this),this.collection.props.on("change:orderby",this.refreshSortable,this),this.refreshSortable())},refreshSortable:function(){var t;this.options.sortable&&n.fn.sortable&&(t="menuOrder"===(t=this.collection).props.get("orderby")||!t.comparator,this.$el.sortable("option","disabled",!t))},createAttachmentView:function(t){var e=new this.options.AttachmentView({controller:this.controller,model:t,collection:this.collection,selection:this.options.selection});return this._viewsByCid[t.cid]=e},prepare:function(){this.collection.length?this.views.set(this.collection.map(this.createAttachmentView,this)):(this.views.unset(),this.options.infiniteScrolling&&this.collection.more().done(this.scroll))},ready:function(){this.options.infiniteScrolling&&this.scroll()},scroll:function(){var t,e=this,i=this.options.scrollElement,s=i.scrollTop;i===document&&(i=document.body,s=n(document).scrollTop()),n(i).is(":visible")&&this.collection.hasMore()&&(t=this.views.parent.toolbar,i.scrollHeight-(s+i.clientHeight)'+n.dragInfo+"")[0],priority:-40})),this.options.suggestedWidth&&this.options.suggestedHeight&&this.toolbar.set("suggestedDimensions",new s({el:a('
    '+n.suggestedDimensions.replace("%1$s",this.options.suggestedWidth).replace("%2$s",this.options.suggestedHeight)+"
    ")[0],priority:-40}))},updateContent:function(){var t=this,e=this.controller.isModeActive("grid")?t.attachmentsNoResults:t.uploader;this.collection.length?(e.$el.addClass("hidden"),t.toolbar.get("spinner").hide()):(this.toolbar.get("spinner").show(),this.dfd=this.collection.more().done(function(){t.collection.length?e.$el.addClass("hidden"):e.$el.removeClass("hidden"),t.toolbar.get("spinner").hide()}))},createUploader:function(){this.uploader=new wp.media.view.UploaderInline({controller:this.controller,status:!1,message:this.controller.isModeActive("grid")?"":n.noItemsFound,canClose:this.controller.isModeActive("grid")}),this.uploader.$el.addClass("hidden"),this.views.add(this.uploader)},toggleUploader:function(){this.uploader.$el.hasClass("hidden")?this.uploader.show():this.uploader.hide()},createAttachmentsWrapperView:function(){this.attachmentsWrapper=new wp.media.View({className:"attachments-wrapper"}),this.views.add(this.attachmentsWrapper),this.createAttachments()},createAttachments:function(){this.attachments=new wp.media.view.Attachments({controller:this.controller,collection:this.collection,selection:this.options.selection,model:this.model,sortable:this.options.sortable,scrollElement:this.options.scrollElement,idealColumnWidth:this.options.idealColumnWidth,AttachmentView:this.options.AttachmentView}),this.controller.on("attachment:keydown:arrow",_.bind(this.attachments.arrowEvent,this.attachments)),this.controller.on("attachment:details:shift-tab",_.bind(this.attachments.restoreFocus,this.attachments)),this.views.add(".attachments-wrapper",this.attachments),this.controller.isModeActive("grid")&&(this.attachmentsNoResults=new s({controller:this.controller,tagName:"p"}),this.attachmentsNoResults.$el.addClass("hidden no-media"),this.attachmentsNoResults.$el.html(n.noMedia),this.views.add(this.attachmentsNoResults))},createLoadMoreView:function(){var t=this;this.loadMoreWrapper=new s({controller:this.controller,className:"load-more-wrapper"}),this.loadMoreCount=new s({controller:this.controller,tagName:"p",className:"load-more-count hidden"}),this.loadMoreButton=new wp.media.view.Button({text:r("Load more"),className:"load-more hidden",style:"primary",size:"",click:function(){t.loadMoreAttachments()}}),this.loadMoreSpinner=new wp.media.view.Spinner,this.loadMoreJumpToFirst=new wp.media.view.Button({text:r("Jump to first loaded item"),className:"load-more-jump hidden",size:"",click:function(){t.jumpToFirstAddedItem()}}),this.views.add(".attachments-wrapper",this.loadMoreWrapper),this.views.add(".load-more-wrapper",this.loadMoreSpinner),this.views.add(".load-more-wrapper",this.loadMoreCount),this.views.add(".load-more-wrapper",this.loadMoreButton),this.views.add(".load-more-wrapper",this.loadMoreJumpToFirst)},updateLoadMoreView:_.debounce(function(){this.loadMoreButton.$el.addClass("hidden"),this.loadMoreCount.$el.addClass("hidden"),this.loadMoreJumpToFirst.$el.addClass("hidden").prop("disabled",!0),this.collection.getTotalAttachments()&&(this.collection.length&&(this.loadMoreCount.$el.text(e(r("Showing %1$s of %2$s media items"),this.collection.length,this.collection.getTotalAttachments())),this.loadMoreCount.$el.removeClass("hidden")),this.collection.hasMore()&&this.loadMoreButton.$el.removeClass("hidden"),this.firstAddedMediaItem=this.$el.find(".attachment").eq(this.firstAddedMediaItemIndex),this.firstAddedMediaItem.length&&(this.firstAddedMediaItem.addClass("new-media"),this.loadMoreJumpToFirst.$el.removeClass("hidden").prop("disabled",!1)),this.firstAddedMediaItem.length)&&!this.collection.hasMore()&&this.loadMoreJumpToFirst.$el.trigger("focus")},10),loadMoreAttachments:function(){var t=this;this.collection.hasMore()&&(this.firstAddedMediaItemIndex=this.collection.length,this.$el.addClass("more-loaded"),this.collection.each(function(t){t=t.attributes.id;a('[data-id="'+t+'"]').addClass("found-media")}),t.loadMoreSpinner.show(),this.collection.once("attachments:received",function(){t.loadMoreSpinner.hide()}),this.collection.more())},jumpToFirstAddedItem:function(){this.firstAddedMediaItem.focus()},createAttachmentsHeading:function(){this.attachmentsHeading=new wp.media.view.Heading({text:n.attachmentsList,level:"h2",className:"media-views-heading screen-reader-text"}),this.views.add(this.attachmentsHeading)},createSidebar:function(){var t=this.options.selection,e=this.sidebar=new wp.media.view.Sidebar({controller:this.controller});this.views.add(e),this.controller.uploader&&e.set("uploads",new wp.media.view.UploaderStatus({controller:this.controller,priority:40})),t.on("selection:single",this.createSingle,this),t.on("selection:unsingle",this.disposeSingle,this),t.single()&&this.createSingle()},createSingle:function(){var t=this.sidebar,e=this.options.selection.single();t.set("details",new wp.media.view.Attachment.Details({controller:this.controller,model:e,priority:80})),t.set("compat",new wp.media.view.AttachmentCompat({controller:this.controller,model:e,priority:120})),this.options.display&&t.set("display",new wp.media.view.Settings.AttachmentDisplay({controller:this.controller,model:this.model.display(e),attachment:e,priority:160,userSettings:this.model.get("displayUserSettings")})),"insert"===this.model.id&&t.$el.addClass("visible")},disposeSingle:function(){var t=this.sidebar;t.unset("details"),t.unset("compat"),t.unset("display"),t.$el.removeClass("visible")}});t.exports=l},1223:function(t){var e=wp.media.view.Attachments,i=e.extend({events:{},initialize:function(){return _.defaults(this.options,{sortable:!1,resize:!1,AttachmentView:wp.media.view.Attachment.Selection}),e.prototype.initialize.apply(this,arguments)}});t.exports=i},4094:function(t){var e=Backbone.$,i=wp.media.View.extend({tagName:"div",className:"button-group button-large media-button-group",initialize:function(){this.buttons=_.map(this.options.buttons||[],function(t){return t instanceof Backbone.View?t:new wp.media.view.Button(t).render()}),delete this.options.buttons,this.options.classes&&this.$el.addClass(this.options.classes)},render:function(){return this.$el.html(e(_.pluck(this.buttons,"el")).detach()),this}});t.exports=i},3157:function(t){var e=wp.media.View.extend({tagName:"button",className:"media-button",attributes:{type:"button"},events:{click:"click"},defaults:{text:"",style:"",size:"large",disabled:!1},initialize:function(){this.model=new Backbone.Model(this.defaults),_.each(this.defaults,function(t,e){var i=this.options[e];_.isUndefined(i)||(this.model.set(e,i),delete this.options[e])},this),this.listenTo(this.model,"change",this.render)},render:function(){var t=["button",this.className],e=this.model.toJSON();return e.style&&t.push("button-"+e.style),e.size&&t.push("button-"+e.size),t=_.uniq(t.concat(this.options.classes)),this.el.className=t.join(" "),this.$el.attr("disabled",e.disabled),this.$el.text(this.model.get("text")),this},click:function(t){"#"===this.attributes.href&&t.preventDefault(),this.options.click&&!this.model.get("disabled")&&this.options.click.apply(this,arguments)}});t.exports=e},7137:function(t){var e=wp.media.View,i=wp.media.view.UploaderStatus,s=wp.media.view.l10n,o=jQuery,n=e.extend({className:"crop-content",template:wp.template("crop-content"),initialize:function(){_.bindAll(this,"onImageLoad")},ready:function(){this.controller.frame.on("content:error:crop",this.onError,this),this.$image=this.$el.find(".crop-image"),this.$image.on("load",this.onImageLoad),o(window).on("resize.cropper",_.debounce(this.onImageLoad,250))},remove:function(){o(window).off("resize.cropper"),this.$el.remove(),this.$el.off(),e.prototype.remove.apply(this,arguments)},prepare:function(){return{title:s.cropYourImage,url:this.options.attachment.get("url")}},onImageLoad:function(){var i,t=this.controller.get("imgSelectOptions");"function"==typeof t&&(t=t(this.options.attachment,this.controller)),t=_.extend(t,{parent:this.$el,onInit:function(){var e=i.getOptions().aspectRatio;this.parent.children().on("mousedown touchstart",function(t){!e&&t.shiftKey&&i.setOptions({aspectRatio:"1:1"})}),this.parent.children().on("mouseup touchend",function(){i.setOptions({aspectRatio:e||!1})})}}),this.trigger("image-loaded"),i=this.controller.imgSelect=this.$image.imgAreaSelect(t)},onError:function(){var t=this.options.attachment.get("filename");this.views.add(".upload-errors",new wp.media.view.UploaderStatusError({filename:i.prototype.filename(t),message:window._wpMediaViewsL10n.cropError}),{at:0})}});t.exports=n},5970:function(t){var e=wp.media.View,i=e.extend({className:"image-editor",template:wp.template("image-editor"),initialize:function(t){this.editor=window.imageEdit,this.controller=t.controller,e.prototype.initialize.apply(this,arguments)},prepare:function(){return this.model.toJSON()},loadEditor:function(){this.editor.open(this.model.get("id"),this.model.get("nonces").edit,this)},back:function(){var t=this.controller.lastState();this.controller.setState(t)},refresh:function(){this.model.fetch()},save:function(){var t=this.controller.lastState();this.model.fetch().done(_.bind(function(){this.controller.setState(t)},this))}});t.exports=i},5138:function(t){var e=wp.media.View.extend({className:"media-embed",initialize:function(){this.url=new wp.media.view.EmbedUrl({controller:this.controller,model:this.model.props}).render(),this.views.set([this.url]),this.refresh(),this.listenTo(this.model,"change:type",this.refresh),this.listenTo(this.model,"change:loading",this.loading)},settings:function(t){this._settings&&this._settings.remove(),this._settings=t,this.views.add(t)},refresh:function(){var t,e=this.model.get("type");if("image"===e)t=wp.media.view.EmbedImage;else{if("link"!==e)return;t=wp.media.view.EmbedLink}this.settings(new t({controller:this.controller,model:this.model.props,priority:40}))},loading:function(){this.$el.toggleClass("embed-loading",this.model.get("loading"))}});t.exports=e},1338:function(t){var e=wp.media.view.Settings.AttachmentDisplay,i=e.extend({className:"embed-media-settings",template:wp.template("embed-image-settings"),initialize:function(){e.prototype.initialize.apply(this,arguments),this.listenTo(this.model,"change:url",this.updateImage)},updateImage:function(){this.$("img").attr("src",this.model.get("url"))}});t.exports=i},6959:function(t){var i=jQuery,e=wp.media.view.Settings.extend({className:"embed-link-settings",template:wp.template("embed-link-settings"),initialize:function(){this.listenTo(this.model,"change:url",this.updateoEmbed)},updateoEmbed:_.debounce(function(){var t=this.model.get("url");this.$(".embed-container").hide().find(".embed-preview").empty(),this.$(".setting").hide(),t&&(t.length<11||!t.match(/^http(s)?:\/\//))||this.fetch()},wp.media.controller.Embed.sensitivity),fetch:function(){var t,e=this.model.get("url");i("#embed-url-field").val()===e&&(this.dfd&&"pending"===this.dfd.state()&&this.dfd.abort(),(t=/https?:\/\/www\.youtube\.com\/embed\/([^/]+)/.exec(e))&&(e="https://www.youtube.com/watch?v="+t[1]),this.dfd=wp.apiRequest({url:wp.media.view.settings.oEmbedProxyUrl,data:{url:e,maxwidth:this.model.get("width"),maxheight:this.model.get("height")},type:"GET",dataType:"json",context:this}).done(function(t){this.renderoEmbed({data:{body:t.html||""}})}).fail(this.renderFail))},renderFail:function(t,e){"abort"!==e&&this.$(".link-text").show()},renderoEmbed:function(t){t=t&&t.data&&t.data.body||"";t?this.$(".embed-container").show().find(".embed-preview").html(t):this.renderFail()}});t.exports=e},4848:function(t){var e=wp.media.View,i=jQuery,s=wp.media.view.l10n,o=e.extend({tagName:"span",className:"embed-url",events:{input:"url"},initialize:function(){this.$input=i('').attr("aria-label",s.insertFromUrlTitle).val(this.model.get("url")),this.input=this.$input[0],this.spinner=i('')[0],this.$el.append([this.input,this.spinner]),this.listenTo(this.model,"change:url",this.render),this.model.get("url")&&_.delay(_.bind(function(){this.model.trigger("change:url")},this),500)},render:function(){var t=this.$input;if(!t.is(":focus"))return this.model.get("url")?this.input.value=this.model.get("url"):this.input.setAttribute("placeholder","https://"),e.prototype.render.apply(this,arguments),this},url:function(t){t=t.target.value||"";this.model.set("url",t.trim())}});t.exports=o},6557:function(t){var o=jQuery,e=wp.media.View.extend({events:{keydown:"focusManagementMode"},initialize:function(t){this.mode=t.mode||"constrainTabbing",this.tabsAutomaticActivation=t.tabsAutomaticActivation||!1},focusManagementMode:function(t){"constrainTabbing"===this.mode&&this.constrainTabbing(t),"tabsNavigation"===this.mode&&this.tabsNavigation(t)},getTabbables:function(){return this.$(":tabbable").not('.moxie-shim input[type="file"]')},focus:function(){this.$(".media-modal").trigger("focus")},constrainTabbing:function(t){var e;if(9===t.keyCode)return(e=this.getTabbables()).last()[0]!==t.target||t.shiftKey?e.first()[0]===t.target&&t.shiftKey?(e.last().focus(),!1):void 0:(e.first().focus(),!1)},setAriaHiddenOnBodyChildren:function(e){var t,i=this;this.isBodyAriaHidden||(t=document.body.children,_.each(t,function(t){t!==e[0]&&i.elementShouldBeHidden(t)&&(t.setAttribute("aria-hidden","true"),i.ariaHiddenElements.push(t))}),this.isBodyAriaHidden=!0)},removeAriaHiddenFromBodyChildren:function(){_.each(this.ariaHiddenElements,function(t){t.removeAttribute("aria-hidden")}),this.ariaHiddenElements=[],this.isBodyAriaHidden=!1},elementShouldBeHidden:function(t){var e=t.getAttribute("role");return!("SCRIPT"===t.tagName||t.hasAttribute("aria-hidden")||t.hasAttribute("aria-live")||-1!==["alert","status","log","marquee","timer"].indexOf(e))},isBodyAriaHidden:!1,ariaHiddenElements:[],tabs:o(),setupAriaTabs:function(){this.tabs=this.$('[role="tab"]'),this.tabs.attr({"aria-selected":"false",tabIndex:"-1"}),this.tabs.filter(".active").removeAttr("tabindex").attr("aria-selected","true")},tabsNavigation:function(t){var e="horizontal";-1===[32,35,36,37,38,39,40].indexOf(t.which)||"horizontal"===(e="vertical"===this.$el.attr("aria-orientation")?"vertical":e)&&-1!==[38,40].indexOf(t.which)||"vertical"===e&&-1!==[37,39].indexOf(t.which)||this.switchTabs(t,this.tabs)},switchTabs:function(t){var e,i=t.which,s=this.tabs.index(o(t.target));switch(i){case 32:this.activateTab(this.tabs[s]);break;case 35:t.preventDefault(),this.activateTab(this.tabs[this.tabs.length-1]);break;case 36:t.preventDefault(),this.activateTab(this.tabs[0]);break;case 37:case 38:t.preventDefault(),e=s-1<0?this.tabs.length-1:s-1,this.activateTab(this.tabs[e]);break;case 39:case 40:t.preventDefault(),e=s+1===this.tabs.length?0:s+1,this.activateTab(this.tabs[e])}},activateTab:function(t){t&&(t.focus(),this.tabsAutomaticActivation?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected","true"),t.click()):o(t).on("click",function(){t.removeAttribute("tabindex"),t.setAttribute("aria-selected","true")}))}});t.exports=e},3647:function(t){var e=wp.media.View.extend({initialize:function(){_.defaults(this.options,{mode:["select"]}),this._createRegions(),this._createStates(),this._createModes()},_createRegions:function(){this.regions=this.regions?this.regions.slice():[],_.each(this.regions,function(t){this[t]=new wp.media.controller.Region({view:this,id:t,selector:".media-frame-"+t})},this)},_createStates:function(){this.states=new Backbone.Collection(null,{model:wp.media.controller.State}),this.states.on("add",function(t){t.frame=this,t.trigger("ready")},this),this.options.states&&this.states.add(this.options.states)},_createModes:function(){this.activeModes=new Backbone.Collection,this.activeModes.on("add remove reset",_.bind(this.triggerModeEvents,this)),_.each(this.options.mode,function(t){this.activateMode(t)},this)},reset:function(){return this.states.invoke("trigger","reset"),this},triggerModeEvents:function(t,e,i){var s,o={add:"activate",remove:"deactivate"};_.each(i,function(t,e){t&&(s=e)}),_.has(o,s)&&(i=t.get("id")+":"+o[s],this.trigger(i))},activateMode:function(t){if(!this.isModeActive(t))return this.activeModes.add([{id:t}]),this.$el.addClass("mode-"+t),this},deactivateMode:function(t){return this.isModeActive(t)&&(this.activeModes.remove(this.activeModes.where({id:t})),this.$el.removeClass("mode-"+t),this.trigger(t+":deactivate")),this},isModeActive:function(t){return Boolean(this.activeModes.where({id:t}).length)}});_.extend(e.prototype,wp.media.controller.StateMachine.prototype),t.exports=e},9142:function(t){var e=wp.media.view.MediaFrame.Select,s=wp.media.view.l10n,i=e.extend({defaults:{id:"image",url:"",menu:"image-details",content:"image-details",toolbar:"image-details",type:"link",title:s.imageDetailsTitle,priority:120},initialize:function(t){this.image=new wp.media.model.PostImage(t.metadata),this.options.selection=new wp.media.model.Selection(this.image.attachment,{multiple:!1}),e.prototype.initialize.apply(this,arguments)},bindHandlers:function(){e.prototype.bindHandlers.apply(this,arguments),this.on("menu:create:image-details",this.createMenu,this),this.on("content:create:image-details",this.imageDetailsContent,this),this.on("content:render:edit-image",this.editImageContent,this),this.on("toolbar:render:image-details",this.renderImageDetailsToolbar,this),this.on("toolbar:render:replace",this.renderReplaceImageToolbar,this)},createStates:function(){this.states.add([new wp.media.controller.ImageDetails({image:this.image,editable:!1}),new wp.media.controller.ReplaceImage({id:"replace-image",library:wp.media.query({type:"image"}),image:this.image,multiple:!1,title:s.imageReplaceTitle,toolbar:"replace",priority:80,displaySettings:!0}),new wp.media.controller.EditImage({image:this.image,selection:this.options.selection})])},imageDetailsContent:function(t){t.view=new wp.media.view.ImageDetails({controller:this,model:this.state().image,attachment:this.state().image.attachment})},editImageContent:function(){var t=this.state().get("image");t&&(t=new wp.media.view.EditImage({model:t,controller:this}).render(),this.content.set(t),t.loadEditor())},renderImageDetailsToolbar:function(){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{select:{style:"primary",text:s.update,priority:80,click:function(){var t=this.controller,e=t.state();t.close(),e.trigger("update",t.image.toJSON()),t.setState(t.options.state),t.reset()}}}}))},renderReplaceImageToolbar:function(){var t=this,e=t.lastState(),i=e&&e.id;this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{back:{text:s.back,priority:80,click:function(){i?t.setState(i):t.close()}},replace:{style:"primary",text:s.replace,priority:20,requires:{selection:!0},click:function(){var t=this.controller,e=t.state(),i=e.get("selection").single();t.close(),t.image.changeAttachment(i,e.display(i)),e.trigger("replace",t.image.toJSON()),t.setState(t.options.state),t.reset()}}}}))}});t.exports=i},9075:function(t){var e=wp.media.view.MediaFrame.Select,i=wp.media.controller.Library,o=wp.media.view.l10n,s=e.extend({initialize:function(){this.counts={audio:{count:wp.media.view.settings.attachmentCounts.audio,state:"playlist"},video:{count:wp.media.view.settings.attachmentCounts.video,state:"video-playlist"}},_.defaults(this.options,{multiple:!0,editing:!1,state:"insert",metadata:{}}),e.prototype.initialize.apply(this,arguments),this.createIframeStates()},createStates:function(){var t=this.options;this.states.add([new i({id:"insert",title:o.insertMediaTitle,priority:20,toolbar:"main-insert",filterable:"all",library:wp.media.query(t.library),multiple:!!t.multiple&&"reset",editable:!0,allowLocalEdits:!0,displaySettings:!0,displayUserSettings:!0}),new i({id:"gallery",title:o.createGalleryTitle,priority:40,toolbar:"main-gallery",filterable:"uploaded",multiple:"add",editable:!1,library:wp.media.query(_.defaults({type:"image"},t.library))}),new wp.media.controller.Embed({metadata:t.metadata}),new wp.media.controller.EditImage({model:t.editImage}),new wp.media.controller.GalleryEdit({library:t.selection,editing:t.editing,menu:"gallery"}),new wp.media.controller.GalleryAdd,new i({id:"playlist",title:o.createPlaylistTitle,priority:60,toolbar:"main-playlist",filterable:"uploaded",multiple:"add",editable:!1,library:wp.media.query(_.defaults({type:"audio"},t.library))}),new wp.media.controller.CollectionEdit({type:"audio",collectionType:"playlist",title:o.editPlaylistTitle,SettingsView:wp.media.view.Settings.Playlist,library:t.selection,editing:t.editing,menu:"playlist",dragInfoText:o.playlistDragInfo,dragInfo:!1}),new wp.media.controller.CollectionAdd({type:"audio",collectionType:"playlist",title:o.addToPlaylistTitle}),new i({id:"video-playlist",title:o.createVideoPlaylistTitle,priority:60,toolbar:"main-video-playlist",filterable:"uploaded",multiple:"add",editable:!1,library:wp.media.query(_.defaults({type:"video"},t.library))}),new wp.media.controller.CollectionEdit({type:"video",collectionType:"playlist",title:o.editVideoPlaylistTitle,SettingsView:wp.media.view.Settings.Playlist,library:t.selection,editing:t.editing,menu:"video-playlist",dragInfoText:o.videoPlaylistDragInfo,dragInfo:!1}),new wp.media.controller.CollectionAdd({type:"video",collectionType:"playlist",title:o.addToVideoPlaylistTitle})]),wp.media.view.settings.post.featuredImageId&&this.states.add(new wp.media.controller.FeaturedImage)},bindHandlers:function(){e.prototype.bindHandlers.apply(this,arguments),this.on("activate",this.activate,this),void 0!==_.find(this.counts,function(t){return 0===t.count})&&this.listenTo(wp.media.model.Attachments.all,"change:type",this.mediaTypeCounts),this.on("menu:create:gallery",this.createMenu,this),this.on("menu:create:playlist",this.createMenu,this),this.on("menu:create:video-playlist",this.createMenu,this),this.on("toolbar:create:main-insert",this.createToolbar,this),this.on("toolbar:create:main-gallery",this.createToolbar,this),this.on("toolbar:create:main-playlist",this.createToolbar,this),this.on("toolbar:create:main-video-playlist",this.createToolbar,this),this.on("toolbar:create:featured-image",this.featuredImageToolbar,this),this.on("toolbar:create:main-embed",this.mainEmbedToolbar,this),_.each({menu:{default:"mainMenu",gallery:"galleryMenu",playlist:"playlistMenu","video-playlist":"videoPlaylistMenu"},content:{embed:"embedContent","edit-image":"editImageContent","edit-selection":"editSelectionContent"},toolbar:{"main-insert":"mainInsertToolbar","main-gallery":"mainGalleryToolbar","gallery-edit":"galleryEditToolbar","gallery-add":"galleryAddToolbar","main-playlist":"mainPlaylistToolbar","playlist-edit":"playlistEditToolbar","playlist-add":"playlistAddToolbar","main-video-playlist":"mainVideoPlaylistToolbar","video-playlist-edit":"videoPlaylistEditToolbar","video-playlist-add":"videoPlaylistAddToolbar"}},function(t,i){_.each(t,function(t,e){this.on(i+":render:"+e,this[t],this)},this)},this)},activate:function(){_.each(this.counts,function(t){t.count<1&&this.menuItemVisibility(t.state,"hide")},this)},mediaTypeCounts:function(t,e){void 0!==this.counts[e]&&this.counts[e].count<1&&(this.counts[e].count++,this.menuItemVisibility(this.counts[e].state,"show"))},mainMenu:function(t){t.set({"library-separator":new wp.media.View({className:"separator",priority:100,attributes:{role:"presentation"}})})},menuItemVisibility:function(t,e){var i=this.menu.get();"hide"===e?i.hide(t):"show"===e&&i.show(t)},galleryMenu:function(t){var e=this.lastState(),i=e&&e.id,s=this;t.set({cancel:{text:o.cancelGalleryTitle,priority:20,click:function(){i?s.setState(i):s.close(),this.controller.modal.focusManager.focus()}},separateCancel:new wp.media.View({className:"separator",priority:40})})},playlistMenu:function(t){var e=this.lastState(),i=e&&e.id,s=this;t.set({cancel:{text:o.cancelPlaylistTitle,priority:20,click:function(){i?s.setState(i):s.close(),this.controller.modal.focusManager.focus()}},separateCancel:new wp.media.View({className:"separator",priority:40})})},videoPlaylistMenu:function(t){var e=this.lastState(),i=e&&e.id,s=this;t.set({cancel:{text:o.cancelVideoPlaylistTitle,priority:20,click:function(){i?s.setState(i):s.close(),this.controller.modal.focusManager.focus()}},separateCancel:new wp.media.View({className:"separator",priority:40})})},embedContent:function(){var t=new wp.media.view.Embed({controller:this,model:this.state()}).render();this.content.set(t)},editSelectionContent:function(){var t=this.state(),e=t.get("selection"),e=new wp.media.view.AttachmentsBrowser({controller:this,collection:e,selection:e,model:t,sortable:!0,search:!1,date:!1,dragInfo:!0,AttachmentView:wp.media.view.Attachments.EditSelection}).render();e.toolbar.set("backToLibrary",{text:o.returnToLibrary,priority:-100,click:function(){this.controller.content.mode("browse"),this.controller.modal.focusManager.focus()}}),this.content.set(e),this.trigger("edit:selection",this)},editImageContent:function(){var t=this.state().get("image"),t=new wp.media.view.EditImage({model:t,controller:this}).render();this.content.set(t),t.loadEditor()},selectionStatusToolbar:function(t){var e=this.state().get("editable");t.set("selection",new wp.media.view.Selection({controller:this,collection:this.state().get("selection"),priority:-40,editable:e&&function(){this.controller.content.mode("edit-selection")}}).render())},mainInsertToolbar:function(t){var i=this;this.selectionStatusToolbar(t),t.set("insert",{style:"primary",priority:80,text:o.insertIntoPost,requires:{selection:!0},click:function(){var t=i.state(),e=t.get("selection");i.close(),t.trigger("insert",e).reset()}})},mainGalleryToolbar:function(t){var s=this;this.selectionStatusToolbar(t),t.set("gallery",{style:"primary",text:o.createNewGallery,priority:60,requires:{selection:!0},click:function(){var t=s.state().get("selection"),e=s.state("gallery-edit"),i=t.where({type:"image"});e.set("library",new wp.media.model.Selection(i,{props:t.props.toJSON(),multiple:!0})),this.controller.setState("gallery-edit"),this.controller.modal.focusManager.focus()}})},mainPlaylistToolbar:function(t){var s=this;this.selectionStatusToolbar(t),t.set("playlist",{style:"primary",text:o.createNewPlaylist,priority:100,requires:{selection:!0},click:function(){var t=s.state().get("selection"),e=s.state("playlist-edit"),i=t.where({type:"audio"});e.set("library",new wp.media.model.Selection(i,{props:t.props.toJSON(),multiple:!0})),this.controller.setState("playlist-edit"),this.controller.modal.focusManager.focus()}})},mainVideoPlaylistToolbar:function(t){var s=this;this.selectionStatusToolbar(t),t.set("video-playlist",{style:"primary",text:o.createNewVideoPlaylist,priority:100,requires:{selection:!0},click:function(){var t=s.state().get("selection"),e=s.state("video-playlist-edit"),i=t.where({type:"video"});e.set("library",new wp.media.model.Selection(i,{props:t.props.toJSON(),multiple:!0})),this.controller.setState("video-playlist-edit"),this.controller.modal.focusManager.focus()}})},featuredImageToolbar:function(t){this.createSelectToolbar(t,{text:o.setFeaturedImage,state:this.options.state})},mainEmbedToolbar:function(t){t.view=new wp.media.view.Toolbar.Embed({controller:this})},galleryEditToolbar:function(){var t=this.state().get("editing");this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:t?o.updateGallery:o.insertGallery,priority:80,requires:{library:!0},click:function(){var t=this.controller,e=t.state();t.close(),e.trigger("update",e.get("library")),t.setState(t.options.state),t.reset()}}}}))},galleryAddToolbar:function(){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:o.addToGallery,priority:80,requires:{selection:!0},click:function(){var t=this.controller,e=t.state();t.state("gallery-edit").get("library").add(e.get("selection").models),e.trigger("reset"),t.setState("gallery-edit"),this.controller.modal.focusManager.focus()}}}}))},playlistEditToolbar:function(){var t=this.state().get("editing");this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:t?o.updatePlaylist:o.insertPlaylist,priority:80,requires:{library:!0},click:function(){var t=this.controller,e=t.state();t.close(),e.trigger("update",e.get("library")),t.setState(t.options.state),t.reset()}}}}))},playlistAddToolbar:function(){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:o.addToPlaylist,priority:80,requires:{selection:!0},click:function(){var t=this.controller,e=t.state();t.state("playlist-edit").get("library").add(e.get("selection").models),e.trigger("reset"),t.setState("playlist-edit"),this.controller.modal.focusManager.focus()}}}}))},videoPlaylistEditToolbar:function(){var t=this.state().get("editing");this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:t?o.updateVideoPlaylist:o.insertVideoPlaylist,priority:140,requires:{library:!0},click:function(){var t=this.controller,e=t.state(),i=e.get("library");i.type="video",t.close(),e.trigger("update",i),t.setState(t.options.state),t.reset()}}}}))},videoPlaylistAddToolbar:function(){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:o.addToVideoPlaylist,priority:140,requires:{selection:!0},click:function(){var t=this.controller,e=t.state();t.state("video-playlist-edit").get("library").add(e.get("selection").models),e.trigger("reset"),t.setState("video-playlist-edit"),this.controller.modal.focusManager.focus()}}}}))}});t.exports=s},8719:function(t){var e=wp.media.view.MediaFrame,i=wp.media.view.l10n,s=e.extend({initialize:function(){e.prototype.initialize.apply(this,arguments),_.defaults(this.options,{selection:[],library:{},multiple:!1,state:"library"}),this.createSelection(),this.createStates(),this.bindHandlers()},createSelection:function(){var t=this.options.selection;t instanceof wp.media.model.Selection||(this.options.selection=new wp.media.model.Selection(t,{multiple:this.options.multiple})),this._selection={attachments:new wp.media.model.Attachments,difference:[]}},editImageContent:function(){var t=this.state().get("image"),t=new wp.media.view.EditImage({model:t,controller:this}).render();this.content.set(t),t.loadEditor()},createStates:function(){var t=this.options;this.options.states||this.states.add([new wp.media.controller.Library({library:wp.media.query(t.library),multiple:t.multiple,title:t.title,priority:20}),new wp.media.controller.EditImage({model:t.editImage})])},bindHandlers:function(){this.on("router:create:browse",this.createRouter,this),this.on("router:render:browse",this.browseRouter,this),this.on("content:create:browse",this.browseContent,this),this.on("content:render:upload",this.uploadContent,this),this.on("toolbar:create:select",this.createSelectToolbar,this),this.on("content:render:edit-image",this.editImageContent,this)},browseRouter:function(t){t.set({upload:{text:i.uploadFilesTitle,priority:20},browse:{text:i.mediaLibraryTitle,priority:40}})},browseContent:function(t){var e=this.state();this.$el.removeClass("hide-toolbar"),t.view=new wp.media.view.AttachmentsBrowser({controller:this,collection:e.get("library"),selection:e.get("selection"),model:e,sortable:e.get("sortable"),search:e.get("searchable"),filters:e.get("filterable"),date:e.get("date"),display:e.has("display")?e.get("display"):e.get("displaySettings"),dragInfo:e.get("dragInfo"),idealColumnWidth:e.get("idealColumnWidth"),suggestedWidth:e.get("suggestedWidth"),suggestedHeight:e.get("suggestedHeight"),AttachmentView:e.get("AttachmentView")})},uploadContent:function(){this.$el.removeClass("hide-toolbar"),this.content.set(new wp.media.view.UploaderInline({controller:this}))},createSelectToolbar:function(t,e){(e=e||this.options.button||{}).controller=this,t.view=new wp.media.view.Toolbar.Select(e)}});t.exports=s},7990:function(t){var e=wp.media.View.extend({tagName:function(){return this.options.level||"h1"},className:"media-views-heading",initialize:function(){this.options.className&&this.$el.addClass(this.options.className),this.text=this.options.text},render:function(){return this.$el.html(this.text),this}});t.exports=e},6217:function(t){var e=wp.media.View.extend({className:"media-iframe",render:function(){return this.views.detach(),this.$el.html('")?Gv(r):Jv(t)},ty=function(e,t,n){"fragmented"===t.type?Xv(t.fragments,e.getBody()):e.setContent(t.content,{format:"raw"}),e.selection.moveToBookmark(n?t.beforeBookmark:t.bookmark)},ny=function(e,t){return!(!e||!t)&&(r=t,Qv(e)===Qv(r)||(n=t,Zv(e)===Zv(n)));var n,r};function ry(u){var s,r,o=this,c=0,l=[],t=0,f=function(){return 0===t},i=function(e){f()&&(o.typing=e)},d=function(e){u.setDirty(e)},a=function(e){i(!1),o.add({},e)},n=function(){o.typing&&(i(!1),o.add())};return u.on("init",function(){o.add()}),u.on("BeforeExecCommand",function(e){var t=e.command;"Undo"!==t&&"Redo"!==t&&"mceRepaint"!==t&&(n(),o.beforeChange())}),u.on("ExecCommand",function(e){var t=e.command;"Undo"!==t&&"Redo"!==t&&"mceRepaint"!==t&&a(e)}),u.on("ObjectResizeStart Cut",function(){o.beforeChange()}),u.on("SaveContent ObjectResized blur",a),u.on("DragEnd",a),u.on("KeyUp",function(e){var t=e.keyCode;e.isDefaultPrevented()||((33<=t&&t<=36||37<=t&&t<=40||45===t||e.ctrlKey)&&(a(),u.nodeChanged()),46!==t&&8!==t||u.nodeChanged(),r&&o.typing&&!1===ny(ey(u),l[0])&&(!1===u.isDirty()&&(d(!0),u.fire("change",{level:l[0],lastLevel:null})),u.fire("TypingUndo"),r=!1,u.nodeChanged()))}),u.on("KeyDown",function(e){var t=e.keyCode;if(!e.isDefaultPrevented())if(33<=t&&t<=36||37<=t&&t<=40||45===t)o.typing&&a(e);else{var n=e.ctrlKey&&!e.altKey||e.metaKey;!(t<16||20i.custom_undo_redo_levels){for(n=0;n
    ").append(n.childNodes)}))},ay[oy="pre"]||(ay[oy]=[]),ay[oy].push(iy);var cy=function(e,t){sy(ay[e],function(e){e(t)})},ly=/^(src|href|style)$/,fy=Xt.each,dy=wc.isEq,my=function(e,t,n){return e.isChildOf(t,n)&&t!==n&&!e.isBlock(n)},gy=function(e,t,n){var r,o,i;return r=t[n?"startContainer":"endContainer"],o=t[n?"startOffset":"endOffset"],jo.isElement(r)&&(i=r.childNodes.length-1,!n&&o&&o--,r=r.childNodes[i=r.nodeValue.length&&(r=new go(r,e.getBody()).next()||r),jo.isText(r)&&!n&&0===o&&(r=new go(r,e.getBody()).prev()||r),r},py=function(e,t,n,r){var o=e.create(n,r);return t.parentNode.insertBefore(o,t),o.appendChild(t),o},hy=function(e,t,n,r,o){var i=ar.fromDom(t),a=ar.fromDom(e.create(r,o)),u=n?Wr(i):$r(i);return Mi(a,u),n?(Pi(i,a),Li(a,i)):(Ii(i,a),Fi(a,i)),a.dom()},vy=function(e,t,n,r){return!(t=wc.getNonWhiteSpaceSibling(t,n,r))||"BR"===t.nodeName||e.isBlock(t)},yy=function(e,n,r,o,i){var t,a,u,s,c,l,f,d,m,g,p,h,v,y,b=e.dom;if(c=b,!(dy(l=o,(f=n).inline)||dy(l,f.block)||(f.selector?jo.isElement(l)&&c.is(l,f.selector):void 0)||(s=o,n.links&&"A"===s.tagName)))return!1;if("all"!==n.remove)for(fy(n.styles,function(e,t){e=wc.normalizeStyleValue(b,wc.replaceVars(e,r),t),"number"==typeof t&&(t=e,i=0),(n.remove_similar||!i||dy(wc.getStyle(b,i,t),e))&&b.setStyle(o,t,""),u=1}),u&&""===b.getAttrib(o,"style")&&(o.removeAttribute("style"),o.removeAttribute("data-mce-style")),fy(n.attributes,function(e,t){var n;if(e=wc.replaceVars(e,r),"number"==typeof t&&(t=e,i=0),!i||dy(b.getAttrib(i,t),e)){if("class"===t&&(e=b.getAttrib(o,t))&&(n="",fy(e.split(/\s+/),function(e){/mce\-\w+/.test(e)&&(n+=(n?" ":"")+e)}),n))return void b.setAttrib(o,t,n);"class"===t&&o.removeAttribute("className"),ly.test(t)&&o.removeAttribute("data-mce-"+t),o.removeAttribute(t)}}),fy(n.classes,function(e){e=wc.replaceVars(e,r),i&&!b.hasClass(i,e)||b.removeClass(o,e)}),a=b.getAttribs(o),t=0;t)\s*/g,"$1"),Xt.map(e.split(/(?:>|\s+(?![^\[\]]+\]))/),function(e){var t=Xt.map(e.split(/(?:~\+|~|\+)/),$y),n=t.pop();return t.length&&(n.siblings=t),n}).reverse()):[]},Ky=function(n,e){var t,r,o,i,a,u,s="";if(!1===(u=n.settings.preview_styles))return"";"string"!=typeof u&&(u="font-family font-size font-weight font-style text-decoration text-transform color background-color border border-radius outline text-shadow");var c=function(e){return e.replace(/%(\w+)/g,"")};if("string"==typeof e){if(!(e=n.formatter.get(e)))return;e=e[0]}return"preview"in e&&!1===(u=e.preview)?"":(t=e.block||e.inline||"span",(i=Wy(e.selector)).length?(i[0].name||(i[0].name=t),t=e.selector,r=qy(i,n)):r=qy([t],n),o=Hy.select(t,r)[0]||r.firstChild,Vy(e.styles,function(e,t){(e=c(e))&&Hy.setStyle(o,t,e)}),Vy(e.attributes,function(e,t){(e=c(e))&&Hy.setAttrib(o,t,e)}),Vy(e.classes,function(e){e=c(e),Hy.hasClass(o,e)||Hy.addClass(o,e)}),n.fire("PreviewFormats"),Hy.setStyles(r,{position:"absolute",left:-65535}),n.getBody().appendChild(r),a=Hy.getStyle(n.getBody(),"fontSize",!0),a=/px$/.test(a)?parseInt(a,10):0,Vy(u.split(" "),function(e){var t=Hy.getStyle(o,e,!0);if(!("background-color"===e&&/transparent|rgba\s*\([^)]+,\s*0\)/.test(t)&&(t=Hy.getStyle(n.getBody(),e,!0),"#ffffff"===Hy.toHex(t).toLowerCase())||"color"===e&&"#000000"===Hy.toHex(t).toLowerCase())){if("font-size"===e&&/em|%$/.test(t)){if(0===a)return;t=parseFloat(t)/(/%$/.test(t)?100:1)*a+"px"}"border"===e&&t&&(s+="padding:0 2px;"),s+=e+":"+t+";"}}),n.fire("AfterPreviewFormats"),Hy.remove(r),s)},Xy=function(e,t,n,r,o){var i=t.get(n);!Mm.match(e,n,r,o)||"toggle"in i[0]&&!i[0].toggle?My.applyFormat(e,n,r,o):Cy(e,n,r,o)},Yy=function(e){e.addShortcut("meta+b","","Bold"),e.addShortcut("meta+i","","Italic"),e.addShortcut("meta+u","","Underline");for(var t=1;t<=6;t++)e.addShortcut("access+"+t,"",["FormatBlock",!1,"h"+t]);e.addShortcut("access+7","",["FormatBlock",!1,"p"]),e.addShortcut("access+8","",["FormatBlock",!1,"div"]),e.addShortcut("access+9","",["FormatBlock",!1,"address"])};function Gy(e){var t,n,r,o=(t=e,n={},(r=function(e,t){e&&("string"!=typeof e?Xt.each(e,function(e,t){r(t,e)}):(t=t.length?t:[t],Xt.each(t,function(e){"undefined"==typeof e.deep&&(e.deep=!e.selector),"undefined"==typeof e.split&&(e.split=!e.selector||e.inline),"undefined"==typeof e.remove&&e.selector&&!e.inline&&(e.remove="none"),e.selector&&e.inline&&(e.mixed=!0,e.block_expand=!0),"string"==typeof e.classes&&(e.classes=e.classes.split(/\s+/))}),n[e]=t))})(jy.get(t.dom)),r(t.settings.formats),{get:function(e){return e?n[e]:n},register:r,unregister:function(e){return e&&n[e]&&delete n[e],n}}),i=Hi(null);return Yy(e),Jm(e),{get:o.get,register:o.register,unregister:o.unregister,apply:d(My.applyFormat,e),remove:d(Cy,e),toggle:d(Xy,e,o),match:d(Mm.match,e),matchAll:d(Mm.matchAll,e),matchNode:d(Mm.matchNode,e),canApply:d(Mm.canApply,e),formatChanged:d(Uy,e,i),getCssText:d(Ky,e)}}var Jy,Qy=Object.prototype.hasOwnProperty,Zy=(Jy=function(e,t){return t},function(){for(var e=new Array(arguments.length),t=0;t)/g,"\n").replace(/^[\r\n]*|[\r\n]*$/g,"").replace(/^\s*(()?|\s*\/\/\s*\]\]>(-->)?|\/\/\s*(-->)?|\]\]>|\/\*\s*-->\s*\*\/|\s*-->\s*)\s*$/g,"")};i--;)r=(n=e[i]).firstChild?n.firstChild.value:"","script"===t?((o=n.attr("type"))&&n.attr("type","mce-no/type"===o?null:o.replace(/^mce\-/,"")),"xhtml"===s.element_format&&0")):"xhtml"===s.element_format&&0k(n)?(C=_(b*y),b=_(C/y)):(b=_(C/y),C=_(b*y))),N.setStyles(D(s),{width:b,height:C}),r=0<(r=f.startPos.x+t)?r:0,o=0<(o=f.startPos.y+n)?o:0,N.setStyles(c,{left:r,top:o,display:"block"}),c.innerHTML=b+" × "+C,f[2]<0&&s.clientWidth<=b&&N.setStyle(s,"left",g+(h-b)),f[3]<0&&s.clientHeight<=C&&N.setStyle(s,"top",p+(v-C)),(t=A.scrollWidth-x)+(n=A.scrollHeight-w)!=0&&N.setStyles(c,{left:r-t,top:o-n}),i||(Tp(a,u,h,v),i=!0)},P=function(){i=!1;var e=function(e,t){t&&(u.style[e]||!a.schema.isValid(u.nodeName.toLowerCase(),e)?N.setStyle(D(u),e,t):N.setAttrib(D(u),e,t))};e("width",b),e("height",C),N.unbind(S,"mousemove",B),N.unbind(S,"mouseup",P),T!==S&&(N.unbind(T,"mousemove",B),N.unbind(T,"mouseup",P)),N.remove(s),N.remove(c),o(u),kp(a,u,b,C),N.setAttrib(u,"style",N.getAttrib(u,"style")),a.nodeChanged()},o=function(e){var t,r,o,n,i;I(),M(),t=N.getPos(e,A),g=t.x,p=t.y,i=e.getBoundingClientRect(),r=i.width||i.right-i.left,o=i.height||i.bottom-i.top,u!==e&&(u=e,b=C=0),n=a.fire("ObjectSelected",{target:e}),O(e)&&!n.isDefaultPrevented()?E(l,function(n,e){var t;(t=N.get("mceResizeHandle"+e))&&N.remove(t),t=N.add(A,"div",{id:"mceResizeHandle"+e,"data-mce-bogus":"all","class":"mce-resizehandle",unselectable:!0,style:"cursor:"+e+"-resize; margin:0; padding:0"}),11===fe.ie&&(t.contentEditable=!1),N.bind(t,"mousedown",function(e){var t;e.stopImmediatePropagation(),e.preventDefault(),d=(t=e).screenX,m=t.screenY,h=D(u).clientWidth,v=D(u).clientHeight,y=v/h,(f=n).startPos={x:r*n[0]+g,y:o*n[1]+p},x=A.scrollWidth,w=A.scrollHeight,s=u.cloneNode(!0),N.addClass(s,"mce-clonedresizable"),N.setAttrib(s,"data-mce-bogus","all"),s.contentEditable=!1,s.unSelectabe=!0,N.setStyles(s,{left:g,top:p,margin:0}),s.removeAttribute("data-mce-selected"),A.appendChild(s),N.bind(S,"mousemove",B),N.bind(S,"mouseup",P),T!==S&&(N.bind(T,"mousemove",B),N.bind(T,"mouseup",P)),c=N.add(A,"div",{"class":"mce-resize-helper","data-mce-bogus":"all"},h+" × "+v)}),n.elm=t,N.setStyles(t,{left:r*n[0]+g-t.offsetWidth/2,top:o*n[1]+p-t.offsetHeight/2})}):I(),u.setAttribute("data-mce-selected","1")},I=function(){var e,t;for(e in M(),u&&u.removeAttribute("data-mce-selected"),l)(t=N.get("mceResizeHandle"+e))&&(N.unbind(t),N.remove(t))},L=function(e){var t,n=function(e,t){if(e)do{if(e===t)return!0}while(e=e.parentNode)};i||a.removed||(E(N.select("img[data-mce-selected],hr[data-mce-selected]"),function(e){e.removeAttribute("data-mce-selected")}),t="mousedown"===e.type?e.target:r.getNode(),n(t=N.$(t).closest("table,img,figure.image,hr")[0],A)&&(z(),n(r.getStart(!0),t)&&n(r.getEnd(!0),t))?o(t):I())},F=function(e){return Ab(function(e,t){for(;t&&t!==e;){if(Rb(t)||Ab(t))return t;t=t.parentNode}return null}(a.getBody(),e))},M=function(){for(var e in l){var t=l[e];t.elm&&(N.unbind(t.elm),delete t.elm)}},z=function(){try{a.getDoc().execCommand("enableObjectResizing",!1,!1)}catch(e){}};return a.on("init",function(){z(),fe.ie&&11<=fe.ie&&(a.on("mousedown click",function(e){var t=e.target,n=t.nodeName;i||!/^(TABLE|IMG|HR)$/.test(n)||F(t)||(2!==e.button&&a.selection.select(t,"TABLE"===n),"mousedown"===e.type&&a.nodeChanged())}),a.dom.bind(A,"mscontrolselect",function(e){var t=function(e){he.setEditorTimeout(a,function(){a.selection.select(e)})};if(F(e.target))return e.preventDefault(),void t(e.target);/^(TABLE|IMG|HR)$/.test(e.target.nodeName)&&(e.preventDefault(),"IMG"===e.target.tagName&&t(e.target))}));var t=he.throttle(function(e){a.composing||L(e)});a.on("nodechange ResizeEditor ResizeWindow drop FullscreenStateChanged",t),a.on("keyup compositionend",function(e){u&&"TABLE"===u.nodeName&&t(e)}),a.on("hide blur",I),a.on("contextmenu",n)}),a.on("remove",M),{isResizable:O,showResizeRect:o,hideResizeRect:I,updateResizeRect:L,destroy:function(){u=s=null}}},Ob=function(e){return jo.isContentEditableTrue(e)||jo.isContentEditableFalse(e)},Bb=function(e,t,n){var r,o,i,a,u,s=n;if(s.caretPositionFromPoint)(o=s.caretPositionFromPoint(e,t))&&((r=n.createRange()).setStart(o.offsetNode,o.offset),r.collapse(!0));else if(n.caretRangeFromPoint)r=n.caretRangeFromPoint(e,t);else if(s.body.createTextRange){r=s.body.createTextRange();try{r.moveToPoint(e,t),r.collapse(!0)}catch(c){r=function(e,n,t){var r,o,i;if(r=t.elementFromPoint(e,n),o=t.body.createTextRange(),r&&"HTML"!==r.tagName||(r=t.body),o.moveToElementText(r),0<(i=(i=Xt.toArray(o.getClientRects())).sort(function(e,t){return(e=Math.abs(Math.max(e.top-n,e.bottom-n)))-(t=Math.abs(Math.max(t.top-n,t.bottom-n)))})).length){n=(i[0].bottom+i[0].top)/2;try{return o.moveToPoint(e,n),o.collapse(!0),o}catch(a){}}return null}(e,t,n)}return i=r,a=n.body,u=i&&i.parentElement?i.parentElement():null,jo.isContentEditableFalse(function(e,t,n){for(;e&&e!==t;){if(n(e))return e;e=e.parentNode}return null}(u,a,Ob))?null:i}return r},Pb=function(n,e){return W(e,function(e){var t=n.fire("GetSelectionRange",{range:e});return t.range!==e?t.range:e})},Ib=function(e,t){var n=(t||V.document).createDocumentFragment();return z(e,function(e){n.appendChild(e.dom())}),ar.fromDom(n)},Lb=Ar("element","width","rows"),Fb=Ar("element","cells"),Mb=Ar("x","y"),zb=function(e,t){var n=parseInt(Er(e,t),10);return isNaN(n)?1:n},Ub=function(e){return j(e,function(e,t){return t.cells().length>e?t.cells().length:e},0)},jb=function(e,t){for(var n=e.rows(),r=0;r_
    '+t),e.dom.remove("__mce_tmp")):l.pasteHTML(t)}u.no_events||e.fire("SetContent",u)}else e.fire("SetContent",u)},eC=function(e,t,n,r,o){var i=n?t.startContainer:t.endContainer,a=n?t.startOffset:t.endOffset;return _.from(i).map(ar.fromDom).map(function(e){return r&&t.collapsed?e:Xr(e,o(e,a)).getOr(e)}).bind(function(e){return dr(e)?_.some(e):Vr(e)}).map(function(e){return e.dom()}).getOr(e)},tC=function(e,t,n){return eC(e,t,!0,n,function(e,t){return Math.min(e.dom().childNodes.length,t)})},nC=function(e,t,n){return eC(e,t,!1,n,function(e,t){return 0t.clientHeight){e=t;break}t=t.parentNode}return e},scrollIntoView:function(e,t){return og(c,e,t)},placeCaretAt:function(e,t){return i(Bb(e,t,c.getDoc()))},getBoundingClientRect:function(){var e=m();return e.collapsed?_u.fromRangeStart(e).getClientRects()[0]:e.getBoundingClientRect()},destroy:function(){s=l=f=null,t.destroy()}};return n=_b(p),t=Db(p,c),p.bookmarkManager=n,p.controlSelection=t,p};(kb=Tb||(Tb={}))[kb.Br=0]="Br",kb[kb.Block=1]="Block",kb[kb.Wrap=2]="Wrap",kb[kb.Eol=3]="Eol";var sC=function(e,t){return e===Tu.Backwards?t.reverse():t},cC=function(e,t,n,r){for(var o,i,a,u,s,c,l=Js(n),f=r,d=[];f&&(s=l,c=f,o=t===Tu.Forwards?s.next(c):s.prev(c));){if(jo.isBr(o.getNode(!1)))return t===Tu.Forwards?{positions:sC(t,d).concat([o]),breakType:Tb.Br,breakAt:_.some(o)}:{positions:sC(t,d),breakType:Tb.Br,breakAt:_.some(o)};if(o.isVisible()){if(e(f,o)){var m=(i=t,a=f,u=o,jo.isBr(u.getNode(i===Tu.Forwards))?Tb.Br:!1===Ts(a,u)?Tb.Block:Tb.Wrap);return{positions:sC(t,d),breakType:m,breakAt:_.some(o)}}d.push(o),f=o}else f=o}return{positions:sC(t,d),breakType:Tb.Eol,breakAt:_.none()}},lC=function(n,r,o,e){return r(o,e).breakAt.map(function(e){var t=r(o,e).positions;return n===Tu.Backwards?t.concat(e):[e].concat(t)}).getOr([])},fC=function(e,i){return j(e,function(e,o){return e.fold(function(){return _.some(o)},function(r){return ru(Z(r.getClientRects()),Z(o.getClientRects()),function(e,t){var n=Math.abs(i-e.left);return Math.abs(i-t.left)<=n?o:r}).or(e)})},_.none())},dC=function(t,e){return Z(e.getClientRects()).bind(function(e){return fC(t,e.left)})},mC=d(cC,Su.isAbove,-1),gC=d(cC,Su.isBelow,1),pC=d(lC,-1,mC),hC=d(lC,1,gC),vC=jo.isContentEditableFalse,yC=Za,bC=function(e,t,n,r){var o=e===Tu.Forwards,i=o?Lf:Ff;if(!r.collapsed){var a=yC(r);if(vC(a))return sg(e,t,a,e===Tu.Backwards,!0)}var u=Sa(r.startContainer),s=Ps(e,t.getBody(),r);if(i(s))return cg(t,s.getNode(!o));var c=Vl.normalizePosition(o,n(s));if(!c)return u?r:null;if(i(c))return sg(e,t,c.getNode(!o),o,!0);var l=n(c);return l&&i(l)&&Fs(c,l)?sg(e,t,l.getNode(!o),o,!0):u?fg(t,c.toRange(),!0):null},CC=function(e,t,n,r){var o,i,a,u,s,c,l,f,d;if(d=yC(r),o=Ps(e,t.getBody(),r),i=n(t.getBody(),sv(1),o),a=U(i,cv(1)),s=Ht.last(o.getClientRects()),(Lf(o)||zf(o))&&(d=o.getNode()),(Ff(o)||Uf(o))&&(d=o.getNode(!0)),!s)return null;if(c=s.left,(u=pv(a,c))&&vC(u.node))return l=Math.abs(c-u.left),f=Math.abs(c-u.right),sg(e,t,u.node,l'),o=a,1===t?e.$(r).after(o):e.$(r).before(o),e.selection.select(o,!0),e.selection.collapse())}},wC=function(l,f){return function(){var e,t,n,r,o,i,a,u,s,c=(t=f,r=Js((e=l).getBody()),o=d(Ls,r.next),i=d(Ls,r.prev),a=t?Tu.Forwards:Tu.Backwards,u=t?o:i,s=e.selection.getRng(),(n=bC(a,e,u,s))?n:(n=xC(e,a,s))||null);return!!c&&(dg(l,c),!0)}},NC=function(u,s){return function(){var e,t,n,r,o,i,a=(r=(t=s)?1:-1,o=t?uv:av,i=(e=u).selection.getRng(),(n=CC(r,e,o,i))?n:(n=xC(e,r,i))||null);return!!a&&(dg(u,a),!0)}},EC=function(r,o){return function(){var t,e=o?_u.fromRangeEnd(r.selection.getRng()):_u.fromRangeStart(r.selection.getRng()),n=o?gC(r.getBody(),e):mC(r.getBody(),e);return(o?ee(n.positions):Z(n.positions)).filter((t=o,function(e){return t?Ff(e):Lf(e)})).fold(q(!1),function(e){return r.selection.setRng(e.toRange()),!0})}},SC=function(e,t,n,r,o){var i,a,u,s,c=Qi(ar.fromDom(n),"td,th,caption").map(function(e){return e.dom()}),l=U((i=e,G(c,function(e){var t,n,r=(t=Ka(e.getBoundingClientRect()),n=-1,{left:t.left-n,top:t.top-n,right:t.right+2*n,bottom:t.bottom+2*n,width:t.width+n,height:t.height+n});return[{x:r.left,y:i(r),cell:e},{x:r.right,y:i(r),cell:e}]})),function(e){return t(e,o)});return(a=l,u=r,s=o,j(a,function(e,r){return e.fold(function(){return _.some(r)},function(e){var t=Math.sqrt(Math.abs(e.x-u)+Math.abs(e.y-s)),n=Math.sqrt(Math.abs(r.x-u)+Math.abs(r.y-s));return _.some(nt}),_C=function(t,n){return Z(n.getClientRects()).bind(function(e){return TC(t,e.left,e.top)}).bind(function(e){return dC((t=e,sc.lastPositionIn(t).map(function(e){return mC(t,e).positions.concat(e)}).getOr([])),n);var t})},AC=function(t,n){return ee(n.getClientRects()).bind(function(e){return kC(t,e.left,e.top)}).bind(function(e){return dC((t=e,sc.firstPositionIn(t).map(function(e){return[e].concat(gC(t,e).positions)}).getOr([])),n);var t})},RC=function(e,t,n){var r,o,i,a,u=e(t,n);return(a=u).breakType===Tb.Wrap&&0===a.positions.length||!jo.isBr(n.getNode())&&(i=u).breakType===Tb.Br&&1===i.positions.length?(r=e,o=t,!u.breakAt.map(function(e){return r(o,e).breakAt.isSome()}).getOr(!1)):u.breakAt.isNone()},DC=d(RC,mC),OC=d(RC,gC),BC=function(e,t,n,r){var o,i,a,u,s=e.selection.getRng(),c=t?1:-1;if(ms()&&(o=t,i=s,a=n,u=_u.fromRangeStart(i),sc.positionIn(!o,a).map(function(e){return e.isEqual(u)}).getOr(!1))){var l=sg(c,e,n,!t,!0);return dg(e,l),!0}return!1},PC=function(e,t){var n=t.getNode(e);return jo.isElement(n)&&"TABLE"===n.nodeName?_.some(n):_.none()},IC=function(u,s,c){var e=PC(!!s,c),t=!1===s;e.fold(function(){return dg(u,c.toRange())},function(a){return sc.positionIn(t,u.getBody()).filter(function(e){return e.isEqual(c)}).fold(function(){return dg(u,c.toRange())},function(e){return n=s,o=a,t=c,void((i=Nl(r=u))?r.undoManager.transact(function(){var e=ar.fromTag(i);Nr(e,El(r)),Fi(e,ar.fromTag("br")),n?Ii(ar.fromDom(o),e):Pi(ar.fromDom(o),e);var t=r.dom.createRng();t.setStart(e.dom(),0),t.setEnd(e.dom(),0),dg(r,t)}):dg(r,t.toRange()));var n,r,o,t,i})})},LC=function(e,t,n,r){var o,i,a,u,s,c,l=e.selection.getRng(),f=_u.fromRangeStart(l),d=e.getBody();if(!t&&DC(r,f)){var m=(u=d,_C(s=n,c=f).orThunk(function(){return Z(c.getClientRects()).bind(function(e){return fC(pC(u,_u.before(s)),e.left)})}).getOr(_u.before(s)));return IC(e,t,m),!0}return!(!t||!OC(r,f))&&(o=d,m=AC(i=n,a=f).orThunk(function(){return Z(a.getClientRects()).bind(function(e){return fC(hC(o,_u.after(i)),e.left)})}).getOr(_u.after(i)),IC(e,t,m),!0)},FC=function(t,n){return function(){return _.from(t.dom.getParent(t.selection.getNode(),"td,th")).bind(function(e){return _.from(t.dom.getParent(e,"table")).map(function(e){return BC(t,n,e)})}).getOr(!1)}},MC=function(n,r){return function(){return _.from(n.dom.getParent(n.selection.getNode(),"td,th")).bind(function(t){return _.from(n.dom.getParent(t,"table")).map(function(e){return LC(n,r,e,t)})}).getOr(!1)}},zC=function(e){return F(["figcaption"],lr(e))},UC=function(e){var t=V.document.createRange();return t.setStartBefore(e.dom()),t.setEndBefore(e.dom()),t},jC=function(e,t,n){n?Fi(e,t):Li(e,t)},VC=function(e,t,n,r){return""===t?(l=e,f=r,d=ar.fromTag("br"),jC(l,d,f),UC(d)):(o=e,i=r,a=t,u=n,s=ar.fromTag(a),c=ar.fromTag("br"),Nr(s,u),Fi(s,c),jC(o,s,i),UC(c));var o,i,a,u,s,c,l,f,d},HC=function(e,t,n){return t?(o=e.dom(),gC(o,n).breakAt.isNone()):(r=e.dom(),mC(r,n).breakAt.isNone());var r,o},qC=function(t,n){var e,r,o,i=ar.fromDom(t.getBody()),a=_u.fromRangeStart(t.selection.getRng()),u=Nl(t),s=El(t);return(e=a,r=i,o=d(Mr,r),na(ar.fromDom(e.container()),Co,o).filter(zC)).exists(function(){if(HC(i,n,a)){var e=VC(i,u,s,n);return t.selection.setRng(e),!0}return!1})},$C=function(e,t){return function(){return!!e.selection.isCollapsed()&&qC(e,t)}},WC=function(e,r){return G(W(e,function(e){return Zy({shiftKey:!1,altKey:!1,ctrlKey:!1,metaKey:!1,keyCode:0,action:o},e)}),function(e){return t=e,(n=r).keyCode===t.keyCode&&n.shiftKey===t.shiftKey&&n.altKey===t.altKey&&n.ctrlKey===t.ctrlKey&&n.metaKey===t.metaKey?[e]:[];var t,n})},KC=function(e){for(var t=[],n=1;n'},cx=function(e,t){return e.nodeName===t||e.previousSibling&&e.previousSibling.nodeName===t},lx=function(e,t){return t&&e.isBlock(t)&&!/^(TD|TH|CAPTION|FORM)$/.test(t.nodeName)&&!/^(fixed|absolute)/i.test(t.style.position)&&"true"!==e.getContentEditable(t)},fx=function(e,t,n){return!1===jo.isText(t)?n:e?1===n&&t.data.charAt(n-1)===xa?0:n:n===t.data.length-1&&t.data.charAt(n)===xa?t.data.length:n},dx=function(e,t){var n,r,o=e.getRoot();for(n=t;n!==o&&"false"!==e.getContentEditable(n);)"true"===e.getContentEditable(n)&&(r=n),n=n.parentNode;return n!==o?r:o},mx=function(o,i,e){_.from(e.style).map(o.dom.parseStyle).each(function(e){var t=function(e){var t={},n=e.dom();if(Cr(n))for(var r=0;rs.childNodes.length-1,s=s.childNodes[Math.min(i,s.childNodes.length-1)]||s,i=g&&jo.isText(s)?s.nodeValue.length:0),(u=dx(x,s))&&((m&&!n||!m&&n)&&(s=function(e,t,n,r,o){var i,a,u,s,c,l,f,d=t||"P",m=e.dom,g=dx(m,r);if(!(a=m.getParent(r,m.isBlock))||!lx(m,a)){if(l=(a=a||g)===e.getBody()||(f=a)&&/^(TD|TH|CAPTION)$/.test(f.nodeName)?a.nodeName.toLowerCase():a.parentNode.nodeName.toLowerCase(),!a.hasChildNodes())return i=m.create(d),gx(e,i),a.appendChild(i),n.setStart(i,0),n.setEnd(i,0),i;for(s=r;s.parentNode!==a;)s=s.parentNode;for(;s&&!m.isBlock(s);)s=(u=s).previousSibling;if(u&&e.schema.isValidChild(l,d.toLowerCase())){for(i=m.create(d),gx(e,i),u.parentNode.insertBefore(i,u),s=u;s&&!m.isBlock(s);)c=s.nextSibling,i.appendChild(s),s=c;n.setStart(r,o),n.setEnd(r,o)}}return r}(a,m,E,s,i)),c=x.getParent(s,x.isBlock),l=c?x.getParent(c.parentNode,x.isBlock):null,f=c?c.nodeName.toUpperCase():"","LI"!==(d=l?l.nodeName.toUpperCase():"")||e.ctrlKey||(l=(c=l).parentNode,f=d),/^(LI|DT|DD)$/.test(f)&&x.isEmpty(c)?ux(a,S,l,c,m):m&&c===a.getBody()||(m=m||"P",Sa(c)?(r=Pa(c),x.isEmpty(c)&&sx(c),gx(a,r),QC(a,r)):T()?k():T(!0)?(r=c.parentNode.insertBefore(S(),c),QC(a,cx(c,"HR")?r:c)):((t=(b=E,C=b.cloneRange(),C.setStart(b.startContainer,fx(!0,b.startContainer,b.startOffset)),C.setEnd(b.endContainer,fx(!1,b.endContainer,b.endOffset)),C).cloneRange()).setEndAfter(c),o=t.extractContents(),y=o,z(Ji(ar.fromDom(y),mr),function(e){var t=e.dom();t.nodeValue=wa(t.nodeValue)}),function(e){for(;jo.isText(e)&&(e.nodeValue=e.nodeValue.replace(/^[\r\n]+/,"")),e=e.firstChild;);}(o),r=o.firstChild,x.insertAfter(o,c),function(e,t,n){var r,o=n,i=[];if(o){for(;o=o.firstChild;){if(e.isBlock(o))return;jo.isElement(o)&&!t[o.nodeName.toLowerCase()]&&i.push(o)}for(r=i.length;r--;)!(o=i[r]).hasChildNodes()||o.firstChild===o.lastChild&&""===o.firstChild.nodeValue?e.remove(o):(a=e,(u=o)&&"A"===u.nodeName&&a.isEmpty(u)&&e.remove(o));var a,u}}(x,N,r),p=x,(h=c).normalize(),(v=h.lastChild)&&!/^(left|right)$/gi.test(p.getStyle(v,"float",!0))||p.add(h,"br"),x.isEmpty(c)&&sx(c),r.normalize(),x.isEmpty(r)?(x.remove(r),k()):(gx(a,r),QC(a,r))),x.setAttrib(r,"id",""),a.fire("NewBlock",{newBlock:r})))},hx=function(e,t){return ex(e).filter(function(e){return 0",yl(f)!==f.documentBaseUrl&&(g+=''),g+='',d=bl(f),m=Cl(f),xl(f)&&(g+=''),g+='
    '),Cw.add(t.iframeContainer,l),p},ww=function(e,t){var n=xw(e,t);t.editorContainer&&(Cw.get(t.editorContainer).style.display=e.orgDisplay,e.hidden=Cw.isHidden(t.editorContainer)),e.getElement().style.display="none",Cw.setAttrib(e.id,"aria-hidden","true"),n||bw(e)},Nw=Si.DOM,Ew=function(t,n,e){var r=_h.get(e),o=_h.urls[e]||t.documentBaseUrl.replace(/\/$/,"");if(e=Xt.trim(e),r&&-1===Xt.inArray(n,e)){if(Xt.each(_h.dependencies(e),function(e){Ew(t,n,e)}),t.plugins[e])return;try{var i=new r(t,o,t.$);(t.plugins[e]=i).init&&(i.init(t,o),n.push(e))}catch(iE){kh.pluginInitError(t,e,iE)}}},Sw=function(e){return e.replace(/^\-/,"")},Tw=function(e){return{editorContainer:e,iframeContainer:e}},kw=function(e){var t,n,r=e.getElement();return e.inline?Tw(null):(t=r,n=Nw.create("div"),Nw.insertAfter(n,t),Tw(n))},_w=function(e){var t,n,r,o,i,a,u,s,c,l,f,d=e.settings,m=e.getElement();return e.orgDisplay=m.style.display,S(d.theme)?(l=(o=e).settings,f=o.getElement(),i=l.width||Nw.getStyle(f,"width")||"100%",a=l.height||Nw.getStyle(f,"height")||f.offsetHeight,u=l.min_height||100,(s=/^[0-9\.]+(|px)$/i).test(""+i)&&(i=Math.max(parseInt(i,10),100)),s.test(""+a)&&(a=Math.max(parseInt(a,10),u)),c=o.theme.renderUI({targetNode:f,width:i,height:a,deltaWidth:l.delta_width,deltaHeight:l.delta_height}),l.content_editable||(a=(c.iframeHeight||a)+("number"==typeof a?c.deltaHeight||0:""))=n.length)for(r=0,o=e.length;r=n.length||e[r]!==n[r]){i=r+1;break}if(e.length=e.length||e[r]!==n[r]){i=r+1;break}if(1===i)return t;for(r=0,o=e.length-(i-1);r]*>( | |\\s|\xa0|
    |)<\\/"+a+">[\r\n]*|
    [\r\n]*)$"),r=i.replace(u,"")}return"text"===t.format||Ao(ar.fromDom(n))?t.content=r:t.content=Xt.trim(r),t.no_events||e.fire("GetContent",t),t.content},jw=function(e,t){t(e),e.firstChild&&jw(e.firstChild,t),e.next&&jw(e.next,t)},Vw=function(e,t,n){var r=function(e,n,t){var r={},o={},i=[];for(var a in t.firstChild&&jw(t.firstChild,function(t){z(e,function(e){e.name===t.name&&(r[e.name]?r[e.name].nodes.push(t):r[e.name]={filter:e,nodes:[t]})}),z(n,function(e){"string"==typeof t.attr(e.name)&&(o[e.name]?o[e.name].nodes.push(t):o[e.name]={filter:e,nodes:[t]})})}),r)r.hasOwnProperty(a)&&i.push(r[a]);for(var a in o)o.hasOwnProperty(a)&&i.push(o[a]);return i}(e,t,n);z(r,function(t){z(t.filter.callbacks,function(e){e(t.nodes,t.filter.name,{})})})},Hw=function(e){return e instanceof sb},qw=function(e,t){var r;e.dom.setHTML(e.getBody(),t),sh(r=e)&&sc.firstPositionIn(r.getBody()).each(function(e){var t=e.getNode(),n=jo.isTable(t)?sc.firstPositionIn(t).getOr(e):e;r.selection.setRng(n.toRange())})},$w=function(u,s,c){return void 0===c&&(c={}),c.format=c.format?c.format:"html",c.set=!0,c.content=Hw(s)?"":s,Hw(s)||c.no_events||(u.fire("BeforeSetContent",c),s=c.content),_.from(u.getBody()).fold(q(s),function(e){return Hw(s)?function(e,t,n,r){Vw(e.parser.getNodeFilters(),e.parser.getAttributeFilters(),n);var o=al({validate:e.validate},e.schema).serialize(n);return r.content=Ao(ar.fromDom(t))?o:Xt.trim(o),qw(e,r.content),r.no_events||e.fire("SetContent",r),n}(u,e,s,c):(t=u,n=e,o=c,0===(r=s).length||/^\s+$/.test(r)?(a='
    ',"TABLE"===n.nodeName?r=""+a+"":/^(UL|OL)$/.test(n.nodeName)&&(r="
  • "+a+"
  • "),(i=Nl(t))&&t.schema.isValidChild(n.nodeName.toLowerCase(),i.toLowerCase())?(r=a,r=t.dom.createHTML(i,t.settings.forced_root_block_attrs,r)):r||(r='
    '),qw(t,r),t.fire("SetContent",o)):("raw"!==o.format&&(r=al({validate:t.validate},t.schema).serialize(t.parser.parse(r,{isRootContent:!0,insert:!0}))),o.content=Ao(ar.fromDom(n))?r:Xt.trim(r),qw(t,o.content),o.no_events||t.fire("SetContent",o)),o.content);var t,n,r,o,i,a})},Ww=Si.DOM,Kw=function(e){return _.from(e).each(function(e){return e.destroy()})},Xw=function(e){if(!e.removed){var t=e._selectionOverrides,n=e.editorUpload,r=e.getBody(),o=e.getElement();r&&e.save({is_removing:!0}),e.removed=!0,e.unbindAllNativeEvents(),e.hasHiddenInput&&o&&Ww.remove(o.nextSibling),Np(e),e.editorManager.remove(e),!e.inline&&r&&(i=e,Ww.setStyle(i.id,"display",i.orgDisplay)),Ep(e),Ww.remove(e.getContainer()),Kw(t),Kw(n),e.destroy()}var i},Yw=function(e,t){var n,r,o,i=e.selection,a=e.dom;e.destroyed||(t||e.removed?(t||(e.editorManager.off("beforeunload",e._beforeUnload),e.theme&&e.theme.destroy&&e.theme.destroy(),Kw(i),Kw(a)),(r=(n=e).formElement)&&(r._mceOldSubmit&&(r.submit=r._mceOldSubmit,r._mceOldSubmit=null),Ww.unbind(r,"submit reset",n.formEventDelegate)),(o=e).contentAreaContainer=o.formElement=o.container=o.editorContainer=null,o.bodyElement=o.contentDocument=o.contentWindow=null,o.iframeElement=o.targetElm=null,o.selection&&(o.selection=o.selection.win=o.selection.dom=o.selection.dom.doc=null),e.destroyed=!0):e.remove())},Gw=Si.DOM,Jw=Xt.extend,Qw=Xt.each,Zw=Xt.resolve,eN=fe.ie,tN=function(e,t,n){var r,o,i,a,u,s,c,l=this,f=l.documentBaseUrl=n.documentBaseURL,d=n.baseURI;r=l,o=e,i=f,a=n.defaultSettings,u=t,c={id:o,theme:"modern",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:i,add_form_submit_trigger:!0,submit_patch:!0,add_unload_trigger:!0,convert_urls:!0,relative_urls:!0,remove_script_host:!0,object_resizing:!0,doctype:"",visual:!0,font_size_style_values:"xx-small,x-small,small,medium,large,x-large,xx-large",font_size_legacy_values:"xx-small,small,medium,large,x-large,xx-large,300%",forced_root_block:"p",hidden_input:!0,render_ui:!0,indentation:"40px",inline_styles:!0,convert_fonts_to_spans:!0,indent:"simple",indent_before:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist",indent_after:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist",entity_encoding:"named",url_converter:(s=r).convertURL,url_converter_scope:s,ie7_compat:!0},t=$p(zp,c,a,u),l.settings=t,Bi.language=t.language||"en",Bi.languageLoad=t.language_load,Bi.baseURL=n.baseURL,l.id=e,l.setDirty(!1),l.plugins={},l.documentBaseURI=new zw(t.document_base_url,{base_uri:d}),l.baseURI=d,l.contentCSS=[],l.contentStyles=[],l.shortcuts=new Qp(l),l.loadedCSS={},l.editorCommands=new pp(l),l.suffix=n.suffix,l.editorManager=n,l.inline=t.inline,l.buttons={},l.menuItems={},t.cache_suffix&&(fe.cacheSuffix=t.cache_suffix.replace(/^[\?\&]+/,"")),!1===t.override_viewport&&(fe.overrideViewPort=!1),n.fire("SetupEditor",{editor:l}),l.execCallback("setup",l),l.$=gn.overrideDefaults(function(){return{context:l.inline?l.getBody():l.getDoc(),element:l.getBody()}})};Jw(tN.prototype={render:function(){Bw(this)},focus:function(e){uh(this,e)},hasFocus:function(){return sh(this)},execCallback:function(e){for(var t=[],n=1;n=n.x&&o.x+o.w<=n.w+n.x&&o.y>=n.y&&o.y+o.h<=n.h+n.y)return r[i];return null},intersect:function(e,t){var n,r,o,i;return n=ON(e.x,t.x),r=ON(e.y,t.y),o=DN(e.x+e.w,t.x+t.w),i=DN(e.y+e.h,t.y+t.h),o-n<0||i-r<0?null:IN(n,r,o-n,i-r)},clamp:function(e,t,n){var r,o,i,a,u,s,c,l,f,d;return u=e.x,s=e.y,c=e.x+e.w,l=e.y+e.h,f=t.x+t.w,d=t.y+t.h,r=ON(0,t.x-u),o=ON(0,t.y-s),i=ON(0,c-f),a=ON(0,l-d),u+=r,s+=o,n&&(c+=r,l+=o,u-=i,s-=a),IN(u,s,(c-=i)-u,(l-=a)-s)},create:IN,fromClientRect:function(e){return IN(e.left,e.top,e.width,e.height)}},FN={},MN={add:function(e,t){FN[e.toLowerCase()]=t},has:function(e){return!!FN[e.toLowerCase()]},get:function(e){var t=e.toLowerCase(),n=FN.hasOwnProperty(t)?FN[t]:null;if(null===n)throw new Error("Could not find module for type: "+e);return n},create:function(e,t){var n;if("string"==typeof e?(t=t||{}).type=e:e=(t=e).type,e=e.toLowerCase(),!(n=FN[e]))throw new Error("Could not find control by type: "+e);return(n=new n(t)).type=e,n}},zN=Xt.each,UN=Xt.extend,jN=function(){};jN.extend=_N=function(n){var e,t,r,o=this.prototype,i=function(){var e,t,n;if(!AN&&(this.init&&this.init.apply(this,arguments),t=this.Mixins))for(e=t.length;e--;)(n=t[e]).init&&n.init.apply(this,arguments)},a=function(){return this},u=function(n,r){return function(){var e,t=this._super;return this._super=o[n],e=r.apply(this,arguments),this._super=t,e}};for(t in AN=!0,e=new this,AN=!1,n.Mixins&&(zN(n.Mixins,function(e){for(var t in e)"init"!==t&&(n[t]=e[t])}),o.Mixins&&(n.Mixins=o.Mixins.concat(n.Mixins))),n.Methods&&zN(n.Methods.split(","),function(e){n[e]=a}),n.Properties&&zN(n.Properties.split(","),function(e){var t="_"+e;n[e]=function(e){return e!==undefined?(this[t]=e,this):this[t]}}),n.Statics&&zN(n.Statics,function(e,t){i[t]=e}),n.Defaults&&o.Defaults&&(n.Defaults=UN({},o.Defaults,n.Defaults)),n)"function"==typeof(r=n[t])&&o[t]?e[t]=u(t,r):e[t]=r;return i.prototype=e,(i.constructor=i).extend=_N,i};var VN=Math.min,HN=Math.max,qN=Math.round,$N=function(e,n){var r,o,t,i;if(n=n||'"',null===e)return"null";if("string"==(t=typeof e))return o="\bb\tt\nn\ff\rr\"\"''\\\\",n+e.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g,function(e,t){return'"'===n&&"'"===e?e:(r=o.indexOf(t))+1?"\\"+o.charAt(r+1):(e=t.charCodeAt().toString(16),"\\u"+"0000".substring(e.length)+e)})+n;if("object"===t){if(e.hasOwnProperty&&"[object Array]"===Object.prototype.toString.call(e)){for(r=0,o="[";r' + '
    ' + (isNoColor ? '×' : '') + '
    ' + ''; }; colors = TextColor.mapColors(colorMap); colors.push({ text: global$3.translate('No color'), color: 'transparent' }); html = ''; last = colors.length - 1; for (y = 0; y < rows; y++) { html += ''; for (x = 0; x < cols; x++) { i = y * cols + x; if (i > last) { html += ''; } else { color = colors[i]; html += getColorCellHtml(color.color, color.text); } } html += ''; } if (hasColorPicker) { html += '' + '' + ''; html += ''; for (x = 0; x < cols; x++) { html += getColorCellHtml('', 'Custom color'); } html += ''; } html += '
    ' + '
    ' + '' + '
    ' + '
    '; return html; }; var ColorPickerHtml = { getHtml: getHtml }; var setDivColor = function setDivColor(div, value) { div.style.background = value; div.setAttribute('data-mce-color', value); }; var onButtonClick = function (editor) { return function (e) { var ctrl = e.control; if (ctrl._color) { editor.execCommand('mceApplyTextcolor', ctrl.settings.format, ctrl._color); } else { editor.execCommand('mceRemoveTextcolor', ctrl.settings.format); } }; }; var onPanelClick = function (editor, cols) { return function (e) { var buttonCtrl = this.parent(); var value; var currentColor = TextColor.getCurrentColor(editor, buttonCtrl.settings.format); var selectColor = function (value) { editor.execCommand('mceApplyTextcolor', buttonCtrl.settings.format, value); buttonCtrl.hidePanel(); buttonCtrl.color(value); }; var resetColor = function () { editor.execCommand('mceRemoveTextcolor', buttonCtrl.settings.format); buttonCtrl.hidePanel(); buttonCtrl.resetColor(); }; if (global$1.DOM.getParent(e.target, '.mce-custom-color-btn')) { buttonCtrl.hidePanel(); var colorPickerCallback = Settings.getColorPickerCallback(editor); colorPickerCallback.call(editor, function (value) { var tableElm = buttonCtrl.panel.getEl().getElementsByTagName('table')[0]; var customColorCells, div, i; customColorCells = global$2.map(tableElm.rows[tableElm.rows.length - 1].childNodes, function (elm) { return elm.firstChild; }); for (i = 0; i < customColorCells.length; i++) { div = customColorCells[i]; if (!div.getAttribute('data-mce-color')) { break; } } if (i === cols) { for (i = 0; i < cols - 1; i++) { setDivColor(customColorCells[i], customColorCells[i + 1].getAttribute('data-mce-color')); } } setDivColor(div, value); selectColor(value); }, currentColor); } value = e.target.getAttribute('data-mce-color'); if (value) { if (this.lastId) { global$1.DOM.get(this.lastId).setAttribute('aria-selected', 'false'); } e.target.setAttribute('aria-selected', true); this.lastId = e.target.id; if (value === 'transparent') { resetColor(); } else { selectColor(value); } } else if (value !== null) { buttonCtrl.hidePanel(); } }; }; var renderColorPicker = function (editor, foreColor) { return function () { var cols = foreColor ? Settings.getForeColorCols(editor) : Settings.getBackColorCols(editor); var rows = foreColor ? Settings.getForeColorRows(editor) : Settings.getBackColorRows(editor); var colorMap = foreColor ? Settings.getForeColorMap(editor) : Settings.getBackColorMap(editor); var hasColorPicker = Settings.hasColorPicker(editor); return ColorPickerHtml.getHtml(cols, rows, colorMap, hasColorPicker); }; }; var register$1 = function (editor) { editor.addButton('forecolor', { type: 'colorbutton', tooltip: 'Text color', format: 'forecolor', panel: { role: 'application', ariaRemember: true, html: renderColorPicker(editor, true), onclick: onPanelClick(editor, Settings.getForeColorCols(editor)) }, onclick: onButtonClick(editor) }); editor.addButton('backcolor', { type: 'colorbutton', tooltip: 'Background color', format: 'hilitecolor', panel: { role: 'application', ariaRemember: true, html: renderColorPicker(editor, false), onclick: onPanelClick(editor, Settings.getBackColorCols(editor)) }, onclick: onButtonClick(editor) }); }; var Buttons = { register: register$1 }; global.add('textcolor', function (editor) { Commands.register(editor); Buttons.register(editor); }); function Plugin () { } return Plugin; }()); })(); PK!U6??'tinymce/plugins/textcolor/plugin.min.jsnu[!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=function(t,o){var r;return t.dom.getParents(t.selection.getStart(),function(t){var e;(e=t.style["forecolor"===o?"color":"background-color"])&&(r=r||e)}),r},g=function(t){var e,o=[];for(e=0;e
    '+(o?"×":"")+"
    "};for((n=g(o)).push({text:h.translate("No color"),color:"transparent"}),l='',c=n.length-1,u=0;u",i=0;i":f((a=n[m]).color,a.text);l+=""}if(r){for(l+='",l+="",i=0;i -1, isWin8 = ( function() { var match = ua.match( /Windows NT 6\.(\d)/ ); if ( match && match[1] > 1 ) { return true; } return false; }()); if ( ! wp || ! wp.emoji || settings.supports.everything ) { return; } function setImgAttr( image ) { image.className = 'emoji'; image.setAttribute( 'data-mce-resize', 'false' ); image.setAttribute( 'data-mce-placeholder', '1' ); image.setAttribute( 'data-wp-emoji', '1' ); } function replaceEmoji( node ) { var imgAttr = { 'data-mce-resize': 'false', 'data-mce-placeholder': '1', 'data-wp-emoji': '1' }; wp.emoji.parse( node, { imgAttr: imgAttr } ); } // Test if the node text contains emoji char(s) and replace. function parseNode( node ) { var selection, bookmark; if ( node && window.twemoji && window.twemoji.test( node.textContent || node.innerText ) ) { if ( env.webkit ) { selection = editor.selection; bookmark = selection.getBookmark(); } replaceEmoji( node ); if ( env.webkit ) { selection.moveToBookmark( bookmark ); } } } if ( isWin8 ) { /* * Windows 8+ emoji can be "typed" with the onscreen keyboard. * That triggers the normal keyboard events, but not the 'input' event. * Thankfully it sets keyCode 231 when the onscreen keyboard inserts any emoji. */ editor.on( 'keyup', function( event ) { if ( event.keyCode === 231 ) { parseNode( editor.selection.getNode() ); } } ); } else if ( ! isWin ) { /* * In MacOS inserting emoji doesn't trigger the stanradr keyboard events. * Thankfully it triggers the 'input' event. * This works in Android and iOS as well. */ editor.on( 'keydown keyup', function( event ) { typing = ( event.type === 'keydown' ); } ); editor.on( 'input', function() { if ( typing ) { return; } parseNode( editor.selection.getNode() ); }); } editor.on( 'setcontent', function( event ) { var selection = editor.selection, node = selection.getNode(); if ( window.twemoji && window.twemoji.test( node.textContent || node.innerText ) ) { replaceEmoji( node ); // In IE all content in the editor is left selected after wp.emoji.parse()... // Collapse the selection to the beginning. if ( env.ie && env.ie < 9 && event.load && node && node.nodeName === 'BODY' ) { selection.collapse( true ); } } } ); // Convert Twemoji compatible pasted emoji replacement images into our format. editor.on( 'PastePostProcess', function( event ) { if ( window.twemoji ) { tinymce.each( editor.dom.$( 'img.emoji', event.node ), function( image ) { if ( image.alt && window.twemoji.test( image.alt ) ) { setImgAttr( image ); } }); } }); editor.on( 'postprocess', function( event ) { if ( event.content ) { event.content = event.content.replace( /]+data-wp-emoji="[^>]+>/g, function( img ) { var alt = img.match( /alt="([^"]+)"/ ); if ( alt && alt[1] ) { return alt[1]; } return img; }); } } ); editor.on( 'resolvename', function( event ) { if ( event.target.nodeName === 'IMG' && editor.dom.getAttrib( event.target, 'data-wp-emoji' ) ) { event.preventDefault(); } } ); } ); } )( window.tinymce ); PK! @|%tinymce/plugins/wpemoji/plugin.min.jsnu[!function(m){m.PluginManager.add("wpemoji",function(n){var t,o=window.wp,e=window._wpemojiSettings,i=m.Env,a=window.navigator.userAgent,w=-1]+data-wp-emoji="[^>]+>/g,function(e){var t=e.match(/alt="([^"]+)"/);return t&&t[1]?t[1]:e}))}),n.on("resolvename",function(e){"IMG"===e.target.nodeName&&n.dom.getAttrib(e.target,"data-wp-emoji")&&e.preventDefault()}))})}(window.tinymce);PK![#VVtinymce/plugins/image/plugin.jsnu[(function () { var image = (function (domGlobals) { 'use strict'; var global = tinymce.util.Tools.resolve('tinymce.PluginManager'); var hasDimensions = function (editor) { return editor.settings.image_dimensions === false ? false : true; }; var hasAdvTab = function (editor) { return editor.settings.image_advtab === true ? true : false; }; var getPrependUrl = function (editor) { return editor.getParam('image_prepend_url', ''); }; var getClassList = function (editor) { return editor.getParam('image_class_list'); }; var hasDescription = function (editor) { return editor.settings.image_description === false ? false : true; }; var hasImageTitle = function (editor) { return editor.settings.image_title === true ? true : false; }; var hasImageCaption = function (editor) { return editor.settings.image_caption === true ? true : false; }; var getImageList = function (editor) { return editor.getParam('image_list', false); }; var hasUploadUrl = function (editor) { return editor.getParam('images_upload_url', false); }; var hasUploadHandler = function (editor) { return editor.getParam('images_upload_handler', false); }; var getUploadUrl = function (editor) { return editor.getParam('images_upload_url'); }; var getUploadHandler = function (editor) { return editor.getParam('images_upload_handler'); }; var getUploadBasePath = function (editor) { return editor.getParam('images_upload_base_path'); }; var getUploadCredentials = function (editor) { return editor.getParam('images_upload_credentials'); }; var Settings = { hasDimensions: hasDimensions, hasAdvTab: hasAdvTab, getPrependUrl: getPrependUrl, getClassList: getClassList, hasDescription: hasDescription, hasImageTitle: hasImageTitle, hasImageCaption: hasImageCaption, getImageList: getImageList, hasUploadUrl: hasUploadUrl, hasUploadHandler: hasUploadHandler, getUploadUrl: getUploadUrl, getUploadHandler: getUploadHandler, getUploadBasePath: getUploadBasePath, getUploadCredentials: getUploadCredentials }; var Global = typeof domGlobals.window !== 'undefined' ? domGlobals.window : Function('return this;')(); var path = function (parts, scope) { var o = scope !== undefined && scope !== null ? scope : Global; for (var i = 0; i < parts.length && o !== undefined && o !== null; ++i) { o = o[parts[i]]; } return o; }; var resolve = function (p, scope) { var parts = p.split('.'); return path(parts, scope); }; var unsafe = function (name, scope) { return resolve(name, scope); }; var getOrDie = function (name, scope) { var actual = unsafe(name, scope); if (actual === undefined || actual === null) { throw new Error(name + ' not available on this browser'); } return actual; }; var Global$1 = { getOrDie: getOrDie }; function FileReader () { var f = Global$1.getOrDie('FileReader'); return new f(); } var global$1 = tinymce.util.Tools.resolve('tinymce.util.Promise'); var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools'); var global$3 = tinymce.util.Tools.resolve('tinymce.util.XHR'); var parseIntAndGetMax = function (val1, val2) { return Math.max(parseInt(val1, 10), parseInt(val2, 10)); }; var getImageSize = function (url, callback) { var img = domGlobals.document.createElement('img'); function done(width, height) { if (img.parentNode) { img.parentNode.removeChild(img); } callback({ width: width, height: height }); } img.onload = function () { var width = parseIntAndGetMax(img.width, img.clientWidth); var height = parseIntAndGetMax(img.height, img.clientHeight); done(width, height); }; img.onerror = function () { done(0, 0); }; var style = img.style; style.visibility = 'hidden'; style.position = 'fixed'; style.bottom = style.left = '0px'; style.width = style.height = 'auto'; domGlobals.document.body.appendChild(img); img.src = url; }; var buildListItems = function (inputList, itemCallback, startItems) { function appendItems(values, output) { output = output || []; global$2.each(values, function (item) { var menuItem = { text: item.text || item.title }; if (item.menu) { menuItem.menu = appendItems(item.menu); } else { menuItem.value = item.value; itemCallback(menuItem); } output.push(menuItem); }); return output; } return appendItems(inputList, startItems || []); }; var removePixelSuffix = function (value) { if (value) { value = value.replace(/px$/, ''); } return value; }; var addPixelSuffix = function (value) { if (value.length > 0 && /^[0-9]+$/.test(value)) { value += 'px'; } return value; }; var mergeMargins = function (css) { if (css.margin) { var splitMargin = css.margin.split(' '); switch (splitMargin.length) { case 1: css['margin-top'] = css['margin-top'] || splitMargin[0]; css['margin-right'] = css['margin-right'] || splitMargin[0]; css['margin-bottom'] = css['margin-bottom'] || splitMargin[0]; css['margin-left'] = css['margin-left'] || splitMargin[0]; break; case 2: css['margin-top'] = css['margin-top'] || splitMargin[0]; css['margin-right'] = css['margin-right'] || splitMargin[1]; css['margin-bottom'] = css['margin-bottom'] || splitMargin[0]; css['margin-left'] = css['margin-left'] || splitMargin[1]; break; case 3: css['margin-top'] = css['margin-top'] || splitMargin[0]; css['margin-right'] = css['margin-right'] || splitMargin[1]; css['margin-bottom'] = css['margin-bottom'] || splitMargin[2]; css['margin-left'] = css['margin-left'] || splitMargin[1]; break; case 4: css['margin-top'] = css['margin-top'] || splitMargin[0]; css['margin-right'] = css['margin-right'] || splitMargin[1]; css['margin-bottom'] = css['margin-bottom'] || splitMargin[2]; css['margin-left'] = css['margin-left'] || splitMargin[3]; } delete css.margin; } return css; }; var createImageList = function (editor, callback) { var imageList = Settings.getImageList(editor); if (typeof imageList === 'string') { global$3.send({ url: imageList, success: function (text) { callback(JSON.parse(text)); } }); } else if (typeof imageList === 'function') { imageList(callback); } else { callback(imageList); } }; var waitLoadImage = function (editor, data, imgElm) { function selectImage() { imgElm.onload = imgElm.onerror = null; if (editor.selection) { editor.selection.select(imgElm); editor.nodeChanged(); } } imgElm.onload = function () { if (!data.width && !data.height && Settings.hasDimensions(editor)) { editor.dom.setAttribs(imgElm, { width: imgElm.clientWidth, height: imgElm.clientHeight }); } selectImage(); }; imgElm.onerror = selectImage; }; var blobToDataUri = function (blob) { return new global$1(function (resolve, reject) { var reader = FileReader(); reader.onload = function () { resolve(reader.result); }; reader.onerror = function () { reject(reader.error.message); }; reader.readAsDataURL(blob); }); }; var Utils = { getImageSize: getImageSize, buildListItems: buildListItems, removePixelSuffix: removePixelSuffix, addPixelSuffix: addPixelSuffix, mergeMargins: mergeMargins, createImageList: createImageList, waitLoadImage: waitLoadImage, blobToDataUri: blobToDataUri }; var global$4 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils'); var hasOwnProperty = Object.prototype.hasOwnProperty; var shallow = function (old, nu) { return nu; }; var baseMerge = function (merger) { return function () { var objects = new Array(arguments.length); for (var i = 0; i < objects.length; i++) { objects[i] = arguments[i]; } if (objects.length === 0) { throw new Error('Can\'t merge zero objects'); } var ret = {}; for (var j = 0; j < objects.length; j++) { var curObject = objects[j]; for (var key in curObject) { if (hasOwnProperty.call(curObject, key)) { ret[key] = merger(ret[key], curObject[key]); } } } return ret; }; }; var merge = baseMerge(shallow); var DOM = global$4.DOM; var getHspace = function (image) { if (image.style.marginLeft && image.style.marginRight && image.style.marginLeft === image.style.marginRight) { return Utils.removePixelSuffix(image.style.marginLeft); } else { return ''; } }; var getVspace = function (image) { if (image.style.marginTop && image.style.marginBottom && image.style.marginTop === image.style.marginBottom) { return Utils.removePixelSuffix(image.style.marginTop); } else { return ''; } }; var getBorder = function (image) { if (image.style.borderWidth) { return Utils.removePixelSuffix(image.style.borderWidth); } else { return ''; } }; var getAttrib = function (image, name) { if (image.hasAttribute(name)) { return image.getAttribute(name); } else { return ''; } }; var getStyle = function (image, name) { return image.style[name] ? image.style[name] : ''; }; var hasCaption = function (image) { return image.parentNode !== null && image.parentNode.nodeName === 'FIGURE'; }; var setAttrib = function (image, name, value) { image.setAttribute(name, value); }; var wrapInFigure = function (image) { var figureElm = DOM.create('figure', { class: 'image' }); DOM.insertAfter(figureElm, image); figureElm.appendChild(image); figureElm.appendChild(DOM.create('figcaption', { contentEditable: true }, 'Caption')); figureElm.contentEditable = 'false'; }; var removeFigure = function (image) { var figureElm = image.parentNode; DOM.insertAfter(image, figureElm); DOM.remove(figureElm); }; var toggleCaption = function (image) { if (hasCaption(image)) { removeFigure(image); } else { wrapInFigure(image); } }; var normalizeStyle = function (image, normalizeCss) { var attrValue = image.getAttribute('style'); var value = normalizeCss(attrValue !== null ? attrValue : ''); if (value.length > 0) { image.setAttribute('style', value); image.setAttribute('data-mce-style', value); } else { image.removeAttribute('style'); } }; var setSize = function (name, normalizeCss) { return function (image, name, value) { if (image.style[name]) { image.style[name] = Utils.addPixelSuffix(value); normalizeStyle(image, normalizeCss); } else { setAttrib(image, name, value); } }; }; var getSize = function (image, name) { if (image.style[name]) { return Utils.removePixelSuffix(image.style[name]); } else { return getAttrib(image, name); } }; var setHspace = function (image, value) { var pxValue = Utils.addPixelSuffix(value); image.style.marginLeft = pxValue; image.style.marginRight = pxValue; }; var setVspace = function (image, value) { var pxValue = Utils.addPixelSuffix(value); image.style.marginTop = pxValue; image.style.marginBottom = pxValue; }; var setBorder = function (image, value) { var pxValue = Utils.addPixelSuffix(value); image.style.borderWidth = pxValue; }; var setBorderStyle = function (image, value) { image.style.borderStyle = value; }; var getBorderStyle = function (image) { return getStyle(image, 'borderStyle'); }; var isFigure = function (elm) { return elm.nodeName === 'FIGURE'; }; var defaultData = function () { return { src: '', alt: '', title: '', width: '', height: '', class: '', style: '', caption: false, hspace: '', vspace: '', border: '', borderStyle: '' }; }; var getStyleValue = function (normalizeCss, data) { var image = domGlobals.document.createElement('img'); setAttrib(image, 'style', data.style); if (getHspace(image) || data.hspace !== '') { setHspace(image, data.hspace); } if (getVspace(image) || data.vspace !== '') { setVspace(image, data.vspace); } if (getBorder(image) || data.border !== '') { setBorder(image, data.border); } if (getBorderStyle(image) || data.borderStyle !== '') { setBorderStyle(image, data.borderStyle); } return normalizeCss(image.getAttribute('style')); }; var create = function (normalizeCss, data) { var image = domGlobals.document.createElement('img'); write(normalizeCss, merge(data, { caption: false }), image); setAttrib(image, 'alt', data.alt); if (data.caption) { var figure = DOM.create('figure', { class: 'image' }); figure.appendChild(image); figure.appendChild(DOM.create('figcaption', { contentEditable: true }, 'Caption')); figure.contentEditable = 'false'; return figure; } else { return image; } }; var read = function (normalizeCss, image) { return { src: getAttrib(image, 'src'), alt: getAttrib(image, 'alt'), title: getAttrib(image, 'title'), width: getSize(image, 'width'), height: getSize(image, 'height'), class: getAttrib(image, 'class'), style: normalizeCss(getAttrib(image, 'style')), caption: hasCaption(image), hspace: getHspace(image), vspace: getVspace(image), border: getBorder(image), borderStyle: getStyle(image, 'borderStyle') }; }; var updateProp = function (image, oldData, newData, name, set) { if (newData[name] !== oldData[name]) { set(image, name, newData[name]); } }; var normalized = function (set, normalizeCss) { return function (image, name, value) { set(image, value); normalizeStyle(image, normalizeCss); }; }; var write = function (normalizeCss, newData, image) { var oldData = read(normalizeCss, image); updateProp(image, oldData, newData, 'caption', function (image, _name, _value) { return toggleCaption(image); }); updateProp(image, oldData, newData, 'src', setAttrib); updateProp(image, oldData, newData, 'alt', setAttrib); updateProp(image, oldData, newData, 'title', setAttrib); updateProp(image, oldData, newData, 'width', setSize('width', normalizeCss)); updateProp(image, oldData, newData, 'height', setSize('height', normalizeCss)); updateProp(image, oldData, newData, 'class', setAttrib); updateProp(image, oldData, newData, 'style', normalized(function (image, value) { return setAttrib(image, 'style', value); }, normalizeCss)); updateProp(image, oldData, newData, 'hspace', normalized(setHspace, normalizeCss)); updateProp(image, oldData, newData, 'vspace', normalized(setVspace, normalizeCss)); updateProp(image, oldData, newData, 'border', normalized(setBorder, normalizeCss)); updateProp(image, oldData, newData, 'borderStyle', normalized(setBorderStyle, normalizeCss)); }; var normalizeCss = function (editor, cssText) { var css = editor.dom.styles.parse(cssText); var mergedCss = Utils.mergeMargins(css); var compressed = editor.dom.styles.parse(editor.dom.styles.serialize(mergedCss)); return editor.dom.styles.serialize(compressed); }; var getSelectedImage = function (editor) { var imgElm = editor.selection.getNode(); var figureElm = editor.dom.getParent(imgElm, 'figure.image'); if (figureElm) { return editor.dom.select('img', figureElm)[0]; } if (imgElm && (imgElm.nodeName !== 'IMG' || imgElm.getAttribute('data-mce-object') || imgElm.getAttribute('data-mce-placeholder'))) { return null; } return imgElm; }; var splitTextBlock = function (editor, figure) { var dom = editor.dom; var textBlock = dom.getParent(figure.parentNode, function (node) { return editor.schema.getTextBlockElements()[node.nodeName]; }, editor.getBody()); if (textBlock) { return dom.split(textBlock, figure); } else { return figure; } }; var readImageDataFromSelection = function (editor) { var image = getSelectedImage(editor); return image ? read(function (css) { return normalizeCss(editor, css); }, image) : defaultData(); }; var insertImageAtCaret = function (editor, data) { var elm = create(function (css) { return normalizeCss(editor, css); }, data); editor.dom.setAttrib(elm, 'data-mce-id', '__mcenew'); editor.focus(); editor.selection.setContent(elm.outerHTML); var insertedElm = editor.dom.select('*[data-mce-id="__mcenew"]')[0]; editor.dom.setAttrib(insertedElm, 'data-mce-id', null); if (isFigure(insertedElm)) { var figure = splitTextBlock(editor, insertedElm); editor.selection.select(figure); } else { editor.selection.select(insertedElm); } }; var syncSrcAttr = function (editor, image) { editor.dom.setAttrib(image, 'src', image.getAttribute('src')); }; var deleteImage = function (editor, image) { if (image) { var elm = editor.dom.is(image.parentNode, 'figure.image') ? image.parentNode : image; editor.dom.remove(elm); editor.focus(); editor.nodeChanged(); if (editor.dom.isEmpty(editor.getBody())) { editor.setContent(''); editor.selection.setCursorLocation(); } } }; var writeImageDataToSelection = function (editor, data) { var image = getSelectedImage(editor); write(function (css) { return normalizeCss(editor, css); }, data, image); syncSrcAttr(editor, image); if (isFigure(image.parentNode)) { var figure = image.parentNode; splitTextBlock(editor, figure); editor.selection.select(image.parentNode); } else { editor.selection.select(image); Utils.waitLoadImage(editor, data, image); } }; var insertOrUpdateImage = function (editor, data) { var image = getSelectedImage(editor); if (image) { if (data.src) { writeImageDataToSelection(editor, data); } else { deleteImage(editor, image); } } else if (data.src) { insertImageAtCaret(editor, data); } }; var updateVSpaceHSpaceBorder = function (editor) { return function (evt) { var dom = editor.dom; var rootControl = evt.control.rootControl; if (!Settings.hasAdvTab(editor)) { return; } var data = rootControl.toJSON(); var css = dom.parseStyle(data.style); rootControl.find('#vspace').value(''); rootControl.find('#hspace').value(''); css = Utils.mergeMargins(css); if (css['margin-top'] && css['margin-bottom'] || css['margin-right'] && css['margin-left']) { if (css['margin-top'] === css['margin-bottom']) { rootControl.find('#vspace').value(Utils.removePixelSuffix(css['margin-top'])); } else { rootControl.find('#vspace').value(''); } if (css['margin-right'] === css['margin-left']) { rootControl.find('#hspace').value(Utils.removePixelSuffix(css['margin-right'])); } else { rootControl.find('#hspace').value(''); } } if (css['border-width']) { rootControl.find('#border').value(Utils.removePixelSuffix(css['border-width'])); } else { rootControl.find('#border').value(''); } if (css['border-style']) { rootControl.find('#borderStyle').value(css['border-style']); } else { rootControl.find('#borderStyle').value(''); } rootControl.find('#style').value(dom.serializeStyle(dom.parseStyle(dom.serializeStyle(css)))); }; }; var updateStyle = function (editor, win) { win.find('#style').each(function (ctrl) { var value = getStyleValue(function (css) { return normalizeCss(editor, css); }, merge(defaultData(), win.toJSON())); ctrl.value(value); }); }; var makeTab = function (editor) { return { title: 'Advanced', type: 'form', pack: 'start', items: [ { label: 'Style', name: 'style', type: 'textbox', onchange: updateVSpaceHSpaceBorder(editor) }, { type: 'form', layout: 'grid', packV: 'start', columns: 2, padding: 0, defaults: { type: 'textbox', maxWidth: 50, onchange: function (evt) { updateStyle(editor, evt.control.rootControl); } }, items: [ { label: 'Vertical space', name: 'vspace' }, { label: 'Border width', name: 'border' }, { label: 'Horizontal space', name: 'hspace' }, { label: 'Border style', type: 'listbox', name: 'borderStyle', width: 90, maxWidth: 90, onselect: function (evt) { updateStyle(editor, evt.control.rootControl); }, values: [ { text: 'Select...', value: '' }, { text: 'Solid', value: 'solid' }, { text: 'Dotted', value: 'dotted' }, { text: 'Dashed', value: 'dashed' }, { text: 'Double', value: 'double' }, { text: 'Groove', value: 'groove' }, { text: 'Ridge', value: 'ridge' }, { text: 'Inset', value: 'inset' }, { text: 'Outset', value: 'outset' }, { text: 'None', value: 'none' }, { text: 'Hidden', value: 'hidden' } ] } ] } ] }; }; var AdvTab = { makeTab: makeTab }; var doSyncSize = function (widthCtrl, heightCtrl) { widthCtrl.state.set('oldVal', widthCtrl.value()); heightCtrl.state.set('oldVal', heightCtrl.value()); }; var doSizeControls = function (win, f) { var widthCtrl = win.find('#width')[0]; var heightCtrl = win.find('#height')[0]; var constrained = win.find('#constrain')[0]; if (widthCtrl && heightCtrl && constrained) { f(widthCtrl, heightCtrl, constrained.checked()); } }; var doUpdateSize = function (widthCtrl, heightCtrl, isContrained) { var oldWidth = widthCtrl.state.get('oldVal'); var oldHeight = heightCtrl.state.get('oldVal'); var newWidth = widthCtrl.value(); var newHeight = heightCtrl.value(); if (isContrained && oldWidth && oldHeight && newWidth && newHeight) { if (newWidth !== oldWidth) { newHeight = Math.round(newWidth / oldWidth * newHeight); if (!isNaN(newHeight)) { heightCtrl.value(newHeight); } } else { newWidth = Math.round(newHeight / oldHeight * newWidth); if (!isNaN(newWidth)) { widthCtrl.value(newWidth); } } } doSyncSize(widthCtrl, heightCtrl); }; var syncSize = function (win) { doSizeControls(win, doSyncSize); }; var updateSize = function (win) { doSizeControls(win, doUpdateSize); }; var createUi = function () { var recalcSize = function (evt) { updateSize(evt.control.rootControl); }; return { type: 'container', label: 'Dimensions', layout: 'flex', align: 'center', spacing: 5, items: [ { name: 'width', type: 'textbox', maxLength: 5, size: 5, onchange: recalcSize, ariaLabel: 'Width' }, { type: 'label', text: 'x' }, { name: 'height', type: 'textbox', maxLength: 5, size: 5, onchange: recalcSize, ariaLabel: 'Height' }, { name: 'constrain', type: 'checkbox', checked: true, text: 'Constrain proportions' } ] }; }; var SizeManager = { createUi: createUi, syncSize: syncSize, updateSize: updateSize }; var onSrcChange = function (evt, editor) { var srcURL, prependURL, absoluteURLPattern; var meta = evt.meta || {}; var control = evt.control; var rootControl = control.rootControl; var imageListCtrl = rootControl.find('#image-list')[0]; if (imageListCtrl) { imageListCtrl.value(editor.convertURL(control.value(), 'src')); } global$2.each(meta, function (value, key) { rootControl.find('#' + key).value(value); }); if (!meta.width && !meta.height) { srcURL = editor.convertURL(control.value(), 'src'); prependURL = Settings.getPrependUrl(editor); absoluteURLPattern = new RegExp('^(?:[a-z]+:)?//', 'i'); if (prependURL && !absoluteURLPattern.test(srcURL) && srcURL.substring(0, prependURL.length) !== prependURL) { srcURL = prependURL + srcURL; } control.value(srcURL); Utils.getImageSize(editor.documentBaseURI.toAbsolute(control.value()), function (data) { if (data.width && data.height && Settings.hasDimensions(editor)) { rootControl.find('#width').value(data.width); rootControl.find('#height').value(data.height); SizeManager.syncSize(rootControl); } }); } }; var onBeforeCall = function (evt) { evt.meta = evt.control.rootControl.toJSON(); }; var getGeneralItems = function (editor, imageListCtrl) { var generalFormItems = [ { name: 'src', type: 'filepicker', filetype: 'image', label: 'Source', autofocus: true, onchange: function (evt) { onSrcChange(evt, editor); }, onbeforecall: onBeforeCall }, imageListCtrl ]; if (Settings.hasDescription(editor)) { generalFormItems.push({ name: 'alt', type: 'textbox', label: 'Image description' }); } if (Settings.hasImageTitle(editor)) { generalFormItems.push({ name: 'title', type: 'textbox', label: 'Image Title' }); } if (Settings.hasDimensions(editor)) { generalFormItems.push(SizeManager.createUi()); } if (Settings.getClassList(editor)) { generalFormItems.push({ name: 'class', type: 'listbox', label: 'Class', values: Utils.buildListItems(Settings.getClassList(editor), function (item) { if (item.value) { item.textStyle = function () { return editor.formatter.getCssText({ inline: 'img', classes: [item.value] }); }; } }) }); } if (Settings.hasImageCaption(editor)) { generalFormItems.push({ name: 'caption', type: 'checkbox', label: 'Caption' }); } return generalFormItems; }; var makeTab$1 = function (editor, imageListCtrl) { return { title: 'General', type: 'form', items: getGeneralItems(editor, imageListCtrl) }; }; var MainTab = { makeTab: makeTab$1, getGeneralItems: getGeneralItems }; var url = function () { return Global$1.getOrDie('URL'); }; var createObjectURL = function (blob) { return url().createObjectURL(blob); }; var revokeObjectURL = function (u) { url().revokeObjectURL(u); }; var URL = { createObjectURL: createObjectURL, revokeObjectURL: revokeObjectURL }; var global$5 = tinymce.util.Tools.resolve('tinymce.ui.Factory'); function XMLHttpRequest () { var f = Global$1.getOrDie('XMLHttpRequest'); return new f(); } var noop = function () { }; var pathJoin = function (path1, path2) { if (path1) { return path1.replace(/\/$/, '') + '/' + path2.replace(/^\//, ''); } return path2; }; function Uploader (settings) { var defaultHandler = function (blobInfo, success, failure, progress) { var xhr, formData; xhr = XMLHttpRequest(); xhr.open('POST', settings.url); xhr.withCredentials = settings.credentials; xhr.upload.onprogress = function (e) { progress(e.loaded / e.total * 100); }; xhr.onerror = function () { failure('Image upload failed due to a XHR Transport error. Code: ' + xhr.status); }; xhr.onload = function () { var json; if (xhr.status < 200 || xhr.status >= 300) { failure('HTTP Error: ' + xhr.status); return; } json = JSON.parse(xhr.responseText); if (!json || typeof json.location !== 'string') { failure('Invalid JSON: ' + xhr.responseText); return; } success(pathJoin(settings.basePath, json.location)); }; formData = new domGlobals.FormData(); formData.append('file', blobInfo.blob(), blobInfo.filename()); xhr.send(formData); }; var uploadBlob = function (blobInfo, handler) { return new global$1(function (resolve, reject) { try { handler(blobInfo, resolve, reject, noop); } catch (ex) { reject(ex.message); } }); }; var isDefaultHandler = function (handler) { return handler === defaultHandler; }; var upload = function (blobInfo) { return !settings.url && isDefaultHandler(settings.handler) ? global$1.reject('Upload url missing from the settings.') : uploadBlob(blobInfo, settings.handler); }; settings = global$2.extend({ credentials: false, handler: defaultHandler }, settings); return { upload: upload }; } var onFileInput = function (editor) { return function (evt) { var Throbber = global$5.get('Throbber'); var rootControl = evt.control.rootControl; var throbber = new Throbber(rootControl.getEl()); var file = evt.control.value(); var blobUri = URL.createObjectURL(file); var uploader = Uploader({ url: Settings.getUploadUrl(editor), basePath: Settings.getUploadBasePath(editor), credentials: Settings.getUploadCredentials(editor), handler: Settings.getUploadHandler(editor) }); var finalize = function () { throbber.hide(); URL.revokeObjectURL(blobUri); }; throbber.show(); return Utils.blobToDataUri(file).then(function (dataUrl) { var blobInfo = editor.editorUpload.blobCache.create({ blob: file, blobUri: blobUri, name: file.name ? file.name.replace(/\.[^\.]+$/, '') : null, base64: dataUrl.split(',')[1] }); return uploader.upload(blobInfo).then(function (url) { var src = rootControl.find('#src'); src.value(url); rootControl.find('tabpanel')[0].activateTab(0); src.fire('change'); finalize(); return url; }); }).catch(function (err) { editor.windowManager.alert(err); finalize(); }); }; }; var acceptExts = '.jpg,.jpeg,.png,.gif'; var makeTab$2 = function (editor) { return { title: 'Upload', type: 'form', layout: 'flex', direction: 'column', align: 'stretch', padding: '20 20 20 20', items: [ { type: 'container', layout: 'flex', direction: 'column', align: 'center', spacing: 10, items: [ { text: 'Browse for an image', type: 'browsebutton', accept: acceptExts, onchange: onFileInput(editor) }, { text: 'OR', type: 'label' } ] }, { text: 'Drop an image here', type: 'dropzone', accept: acceptExts, height: 100, onchange: onFileInput(editor) } ] }; }; var UploadTab = { makeTab: makeTab$2 }; function curry(fn) { var initialArgs = []; for (var _i = 1; _i < arguments.length; _i++) { initialArgs[_i - 1] = arguments[_i]; } return function () { var restArgs = []; for (var _i = 0; _i < arguments.length; _i++) { restArgs[_i] = arguments[_i]; } var all = initialArgs.concat(restArgs); return fn.apply(null, all); }; } var submitForm = function (editor, evt) { var win = evt.control.getRoot(); SizeManager.updateSize(win); editor.undoManager.transact(function () { var data = merge(readImageDataFromSelection(editor), win.toJSON()); insertOrUpdateImage(editor, data); }); editor.editorUpload.uploadImagesAuto(); }; function Dialog (editor) { function showDialog(imageList) { var data = readImageDataFromSelection(editor); var win, imageListCtrl; if (imageList) { imageListCtrl = { type: 'listbox', label: 'Image list', name: 'image-list', values: Utils.buildListItems(imageList, function (item) { item.value = editor.convertURL(item.value || item.url, 'src'); }, [{ text: 'None', value: '' }]), value: data.src && editor.convertURL(data.src, 'src'), onselect: function (e) { var altCtrl = win.find('#alt'); if (!altCtrl.value() || e.lastControl && altCtrl.value() === e.lastControl.text()) { altCtrl.value(e.control.text()); } win.find('#src').value(e.control.value()).fire('change'); }, onPostRender: function () { imageListCtrl = this; } }; } if (Settings.hasAdvTab(editor) || Settings.hasUploadUrl(editor) || Settings.hasUploadHandler(editor)) { var body = [MainTab.makeTab(editor, imageListCtrl)]; if (Settings.hasAdvTab(editor)) { body.push(AdvTab.makeTab(editor)); } if (Settings.hasUploadUrl(editor) || Settings.hasUploadHandler(editor)) { body.push(UploadTab.makeTab(editor)); } win = editor.windowManager.open({ title: 'Insert/edit image', data: data, bodyType: 'tabpanel', body: body, onSubmit: curry(submitForm, editor) }); } else { win = editor.windowManager.open({ title: 'Insert/edit image', data: data, body: MainTab.getGeneralItems(editor, imageListCtrl), onSubmit: curry(submitForm, editor) }); } SizeManager.syncSize(win); } function open() { Utils.createImageList(editor, showDialog); } return { open: open }; } var register = function (editor) { editor.addCommand('mceImage', Dialog(editor).open); }; var Commands = { register: register }; var hasImageClass = function (node) { var className = node.attr('class'); return className && /\bimage\b/.test(className); }; var toggleContentEditableState = function (state) { return function (nodes) { var i = nodes.length, node; var toggleContentEditable = function (node) { node.attr('contenteditable', state ? 'true' : null); }; while (i--) { node = nodes[i]; if (hasImageClass(node)) { node.attr('contenteditable', state ? 'false' : null); global$2.each(node.getAll('figcaption'), toggleContentEditable); } } }; }; var setup = function (editor) { editor.on('preInit', function () { editor.parser.addNodeFilter('figure', toggleContentEditableState(true)); editor.serializer.addNodeFilter('figure', toggleContentEditableState(false)); }); }; var FilterContent = { setup: setup }; var register$1 = function (editor) { editor.addButton('image', { icon: 'image', tooltip: 'Insert/edit image', onclick: Dialog(editor).open, stateSelector: 'img:not([data-mce-object],[data-mce-placeholder]),figure.image' }); editor.addMenuItem('image', { icon: 'image', text: 'Image', onclick: Dialog(editor).open, context: 'insert', prependToContext: true }); }; var Buttons = { register: register$1 }; global.add('image', function (editor) { FilterContent.setup(editor); Buttons.register(editor); Commands.register(editor); }); function Plugin () { } return Plugin; }(window)); })(); PK!==#tinymce/plugins/image/plugin.min.jsnu[!function(l){"use strict";var i,e=tinymce.util.Tools.resolve("tinymce.PluginManager"),d=function(e){return!1!==e.settings.image_dimensions},u=function(e){return!0===e.settings.image_advtab},m=function(e){return e.getParam("image_prepend_url","")},n=function(e){return e.getParam("image_class_list")},r=function(e){return!1!==e.settings.image_description},a=function(e){return!0===e.settings.image_title},o=function(e){return!0===e.settings.image_caption},c=function(e){return e.getParam("image_list",!1)},s=function(e){return e.getParam("images_upload_url",!1)},g=function(e){return e.getParam("images_upload_handler",!1)},f=function(e){return e.getParam("images_upload_url")},p=function(e){return e.getParam("images_upload_handler")},h=function(e){return e.getParam("images_upload_base_path")},v=function(e){return e.getParam("images_upload_credentials")},b="undefined"!=typeof l.window?l.window:Function("return this;")(),y=function(e,t){return function(e,t){for(var n=t!==undefined&&null!==t?t:b,r=0;r'; } function restoreMediaShortcodes( content ) { function getAttr( str, name ) { name = new RegExp( name + '=\"([^\"]+)\"' ).exec( str ); return name ? window.decodeURIComponent( name[1] ) : ''; } return content.replace( /(?:]+)?>)*(]+>)(?:<\/p>)*/g, function( match, image ) { var data = getAttr( image, 'data-wp-media' ); if ( data ) { return '

    ' + data + '

    '; } return match; }); } function editMedia( node ) { var gallery, frame, data; if ( node.nodeName !== 'IMG' ) { return; } // Check if the `wp.media` API exists. if ( typeof wp === 'undefined' || ! wp.media ) { return; } data = window.decodeURIComponent( editor.dom.getAttrib( node, 'data-wp-media' ) ); // Make sure we've selected a gallery node. if ( editor.dom.hasClass( node, 'wp-gallery' ) && wp.media.gallery ) { gallery = wp.media.gallery; frame = gallery.edit( data ); frame.state('gallery-edit').on( 'update', function( selection ) { var shortcode = gallery.shortcode( selection ).string(); editor.dom.setAttrib( node, 'data-wp-media', window.encodeURIComponent( shortcode ) ); frame.detach(); }); } } // Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('...'). editor.addCommand( 'WP_Gallery', function() { editMedia( editor.selection.getNode() ); }); editor.on( 'mouseup', function( event ) { var dom = editor.dom, node = event.target; function unselect() { dom.removeClass( dom.select( 'img.wp-media-selected' ), 'wp-media-selected' ); } if ( node.nodeName === 'IMG' && dom.getAttrib( node, 'data-wp-media' ) ) { // Don't trigger on right-click. if ( event.button !== 2 ) { if ( dom.hasClass( node, 'wp-media-selected' ) ) { editMedia( node ); } else { unselect(); dom.addClass( node, 'wp-media-selected' ); } } } else { unselect(); } }); // Display gallery, audio or video instead of img in the element path. editor.on( 'ResolveName', function( event ) { var dom = editor.dom, node = event.target; if ( node.nodeName === 'IMG' && dom.getAttrib( node, 'data-wp-media' ) ) { if ( dom.hasClass( node, 'wp-gallery' ) ) { event.name = 'gallery'; } } }); editor.on( 'BeforeSetContent', function( event ) { // 'wpview' handles the gallery shortcode when present. if ( ! editor.plugins.wpview || typeof wp === 'undefined' || ! wp.mce ) { event.content = replaceGalleryShortcodes( event.content ); } }); editor.on( 'PostProcess', function( event ) { if ( event.get ) { event.content = restoreMediaShortcodes( event.content ); } }); }); PK!7֦aWW'tinymce/plugins/wpgallery/plugin.min.jsnu[tinymce.PluginManager.add("wpgallery",function(d){function t(e){return e.replace(/\[gallery([^\]]*)\]/g,function(e){return t="wp-gallery",n=e,n=window.encodeURIComponent(e),'';var t,n})}function n(e){return e.replace(/(?:]+)?>)*(]+>)(?:<\/p>)*/g,function(e,t){t=t,n="data-wp-media";var n,t=(n=new RegExp(n+'="([^"]+)"').exec(t))?window.decodeURIComponent(n[1]):"";return t?"

    "+t+"

    ":e})}function o(t){var n,a,e;"IMG"===t.nodeName&&"undefined"!=typeof wp&&wp.media&&(e=window.decodeURIComponent(d.dom.getAttrib(t,"data-wp-media")),d.dom.hasClass(t,"wp-gallery"))&&wp.media.gallery&&(n=wp.media.gallery,(a=n.edit(e)).state("gallery-edit").on("update",function(e){e=n.shortcode(e).string();d.dom.setAttrib(t,"data-wp-media",window.encodeURIComponent(e)),a.detach()}))}d.addCommand("WP_Gallery",function(){o(d.selection.getNode())}),d.on("mouseup",function(e){var t=d.dom,n=e.target;function a(){t.removeClass(t.select("img.wp-media-selected"),"wp-media-selected")}"IMG"===n.nodeName&&t.getAttrib(n,"data-wp-media")?2!==e.button&&(t.hasClass(n,"wp-media-selected")?o(n):(a(),t.addClass(n,"wp-media-selected"))):a()}),d.on("ResolveName",function(e){var t=d.dom,n=e.target;"IMG"===n.nodeName&&t.getAttrib(n,"data-wp-media")&&t.hasClass(n,"wp-gallery")&&(e.name="gallery")}),d.on("BeforeSetContent",function(e){d.plugins.wpview&&"undefined"!=typeof wp&&wp.mce||(e.content=t(e.content))}),d.on("PostProcess",function(e){e.get&&(e.content=n(e.content))})});PK!?#Z~tinymce/plugins/hr/plugin.jsnu[(function () { var hr = (function () { 'use strict'; var global = tinymce.util.Tools.resolve('tinymce.PluginManager'); var register = function (editor) { editor.addCommand('InsertHorizontalRule', function () { editor.execCommand('mceInsertContent', false, '
    '); }); }; var Commands = { register: register }; var register$1 = function (editor) { editor.addButton('hr', { icon: 'hr', tooltip: 'Horizontal line', cmd: 'InsertHorizontalRule' }); editor.addMenuItem('hr', { icon: 'hr', text: 'Horizontal line', cmd: 'InsertHorizontalRule', context: 'insert' }); }; var Buttons = { register: register$1 }; global.add('hr', function (editor) { Commands.register(editor); Buttons.register(editor); }); function Plugin () { } return Plugin; }()); })(); PK! S tinymce/plugins/hr/plugin.min.jsnu[!function(){"use strict";var n=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=function(n){n.addCommand("InsertHorizontalRule",function(){n.execCommand("mceInsertContent",!1,"
    ")})},o=function(n){n.addButton("hr",{icon:"hr",tooltip:"Horizontal line",cmd:"InsertHorizontalRule"}),n.addMenuItem("hr",{icon:"hr",text:"Horizontal line",cmd:"InsertHorizontalRule",context:"insert"})};n.add("hr",function(n){t(n),o(n)})}();PK!oc dd&tinymce/plugins/wpautoresize/plugin.jsnu[/** * plugin.js * * Copyright, Moxiecode Systems AB * Released under LGPL License. * * License: http://www.tinymce.com/license * Contributing: http://www.tinymce.com/contributing */ // Forked for WordPress so it can be turned on/off after loading. /*global tinymce:true */ /*eslint no-nested-ternary:0 */ /** * Auto Resize * * This plugin automatically resizes the content area to fit its content height. * It will retain a minimum height, which is the height of the content area when * it's initialized. */ tinymce.PluginManager.add( 'wpautoresize', function( editor ) { var settings = editor.settings, oldSize = 300, isActive = false; if ( editor.settings.inline || tinymce.Env.iOS ) { return; } function isFullscreen() { return editor.plugins.fullscreen && editor.plugins.fullscreen.isFullscreen(); } function getInt( n ) { return parseInt( n, 10 ) || 0; } /** * This method gets executed each time the editor needs to resize. */ function resize( e ) { var deltaSize, doc, body, docElm, DOM = tinymce.DOM, resizeHeight, myHeight, marginTop, marginBottom, paddingTop, paddingBottom, borderTop, borderBottom; if ( ! isActive ) { return; } doc = editor.getDoc(); if ( ! doc ) { return; } e = e || {}; body = doc.body; docElm = doc.documentElement; resizeHeight = settings.autoresize_min_height; if ( ! body || ( e && e.type === 'setcontent' && e.initial ) || isFullscreen() ) { if ( body && docElm ) { body.style.overflowY = 'auto'; docElm.style.overflowY = 'auto'; // Old IE. } return; } // Calculate outer height of the body element using CSS styles. marginTop = editor.dom.getStyle( body, 'margin-top', true ); marginBottom = editor.dom.getStyle( body, 'margin-bottom', true ); paddingTop = editor.dom.getStyle( body, 'padding-top', true ); paddingBottom = editor.dom.getStyle( body, 'padding-bottom', true ); borderTop = editor.dom.getStyle( body, 'border-top-width', true ); borderBottom = editor.dom.getStyle( body, 'border-bottom-width', true ); myHeight = body.offsetHeight + getInt( marginTop ) + getInt( marginBottom ) + getInt( paddingTop ) + getInt( paddingBottom ) + getInt( borderTop ) + getInt( borderBottom ); // IE < 11, other? if ( myHeight && myHeight < docElm.offsetHeight ) { myHeight = docElm.offsetHeight; } // Make sure we have a valid height. if ( isNaN( myHeight ) || myHeight <= 0 ) { // Get height differently depending on the browser used. myHeight = tinymce.Env.ie ? body.scrollHeight : ( tinymce.Env.webkit && body.clientHeight === 0 ? 0 : body.offsetHeight ); } // Don't make it smaller than the minimum height. if ( myHeight > settings.autoresize_min_height ) { resizeHeight = myHeight; } // If a maximum height has been defined don't exceed this height. if ( settings.autoresize_max_height && myHeight > settings.autoresize_max_height ) { resizeHeight = settings.autoresize_max_height; body.style.overflowY = 'auto'; docElm.style.overflowY = 'auto'; // Old IE. } else { body.style.overflowY = 'hidden'; docElm.style.overflowY = 'hidden'; // Old IE. body.scrollTop = 0; } // Resize content element. if (resizeHeight !== oldSize) { deltaSize = resizeHeight - oldSize; DOM.setStyle( editor.iframeElement, 'height', resizeHeight + 'px' ); oldSize = resizeHeight; // WebKit doesn't decrease the size of the body element until the iframe gets resized. // So we need to continue to resize the iframe down until the size gets fixed. if ( tinymce.isWebKit && deltaSize < 0 ) { resize( e ); } editor.fire( 'wp-autoresize', { height: resizeHeight, deltaHeight: e.type === 'nodechange' ? deltaSize : null } ); } } /** * Calls the resize x times in 100ms intervals. We can't wait for load events since * the CSS files might load async. */ function wait( times, interval, callback ) { setTimeout( function() { resize(); if ( times-- ) { wait( times, interval, callback ); } else if ( callback ) { callback(); } }, interval ); } // Define minimum height. settings.autoresize_min_height = parseInt(editor.getParam( 'autoresize_min_height', editor.getElement().offsetHeight), 10 ); // Define maximum height. settings.autoresize_max_height = parseInt(editor.getParam( 'autoresize_max_height', 0), 10 ); function on() { if ( ! editor.dom.hasClass( editor.getBody(), 'wp-autoresize' ) ) { isActive = true; editor.dom.addClass( editor.getBody(), 'wp-autoresize' ); // Add appropriate listeners for resizing the content area. editor.on( 'nodechange setcontent keyup FullscreenStateChanged', resize ); resize(); } } function off() { var doc; // Don't turn off if the setting is 'on'. if ( ! settings.wp_autoresize_on ) { isActive = false; doc = editor.getDoc(); editor.dom.removeClass( editor.getBody(), 'wp-autoresize' ); editor.off( 'nodechange setcontent keyup FullscreenStateChanged', resize ); doc.body.style.overflowY = 'auto'; doc.documentElement.style.overflowY = 'auto'; // Old IE. oldSize = 0; } } if ( settings.wp_autoresize_on ) { // Turn resizing on when the editor loads. isActive = true; editor.on( 'init', function() { editor.dom.addClass( editor.getBody(), 'wp-autoresize' ); }); editor.on( 'nodechange keyup FullscreenStateChanged', resize ); editor.on( 'setcontent', function() { wait( 3, 100 ); }); if ( editor.getParam( 'autoresize_on_init', true ) ) { editor.on( 'init', function() { // Hit it 10 times in 200 ms intervals. wait( 10, 200, function() { // Hit it 5 times in 1 sec intervals. wait( 5, 1000 ); }); }); } } // Reset the stored size. editor.on( 'show', function() { oldSize = 0; }); // Register the command. editor.addCommand( 'wpAutoResize', resize ); // On/off. editor.addCommand( 'wpAutoResizeOn', on ); editor.addCommand( 'wpAutoResizeOff', off ); }); PK!S( ( *tinymce/plugins/wpautoresize/plugin.min.jsnu[tinymce.PluginManager.add("wpautoresize",function(g){var m=g.settings,h=300,c=!1;function f(e){return parseInt(e,10)||0}function y(e){var t,o,n,i,a,s,l,u,r,d=tinymce.DOM;c&&(o=g.getDoc())&&(e=e||{},t=o.body,o=o.documentElement,n=m.autoresize_min_height,!t||e&&"setcontent"===e.type&&e.initial||g.plugins.fullscreen&&g.plugins.fullscreen.isFullscreen()?t&&o&&(t.style.overflowY="auto",o.style.overflowY="auto"):(i=g.dom.getStyle(t,"margin-top",!0),a=g.dom.getStyle(t,"margin-bottom",!0),s=g.dom.getStyle(t,"padding-top",!0),l=g.dom.getStyle(t,"padding-bottom",!0),u=g.dom.getStyle(t,"border-top-width",!0),r=g.dom.getStyle(t,"border-bottom-width",!0),(i=t.offsetHeight+f(i)+f(a)+f(s)+f(l)+f(u)+f(r))&&im.autoresize_min_height&&(n=i),m.autoresize_max_height&&i>m.autoresize_max_height?(n=m.autoresize_max_height,t.style.overflowY="auto",o.style.overflowY="auto"):(t.style.overflowY="hidden",o.style.overflowY="hidden",t.scrollTop=0),n!==h&&(a=n-h,d.setStyle(g.iframeElement,"height",n+"px"),h=n,tinymce.isWebKit&&a<0&&y(e),g.fire("wp-autoresize",{height:n,deltaHeight:"nodechange"===e.type?a:null}))))}function n(e,t,o){setTimeout(function(){y(),e--?n(e,t,o):o&&o()},t)}g.settings.inline||tinymce.Env.iOS||(m.autoresize_min_height=parseInt(g.getParam("autoresize_min_height",g.getElement().offsetHeight),10),m.autoresize_max_height=parseInt(g.getParam("autoresize_max_height",0),10),m.wp_autoresize_on&&(c=!0,g.on("init",function(){g.dom.addClass(g.getBody(),"wp-autoresize")}),g.on("nodechange keyup FullscreenStateChanged",y),g.on("setcontent",function(){n(3,100)}),g.getParam("autoresize_on_init",!0))&&g.on("init",function(){n(10,200,function(){n(5,1e3)})}),g.on("show",function(){h=0}),g.addCommand("wpAutoResize",y),g.addCommand("wpAutoResizeOn",function(){g.dom.hasClass(g.getBody(),"wp-autoresize")||(c=!0,g.dom.addClass(g.getBody(),"wp-autoresize"),g.on("nodechange setcontent keyup FullscreenStateChanged",y),y())}),g.addCommand("wpAutoResizeOff",function(){var e;m.wp_autoresize_on||(c=!1,e=g.getDoc(),g.dom.removeClass(g.getBody(),"wp-autoresize"),g.off("nodechange setcontent keyup FullscreenStateChanged",y),e.body.style.overflowY="auto",e.documentElement.style.overflowY="auto",h=0)}))});PK!Z:AAtinymce/plugins/paste/plugin.jsnu[(function () { var paste = (function (domGlobals) { 'use strict'; var Cell = function (initial) { var value = initial; var get = function () { return value; }; var set = function (v) { value = v; }; var clone = function () { return Cell(get()); }; return { get: get, set: set, clone: clone }; }; var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager'); var hasProPlugin = function (editor) { if (/(^|[ ,])powerpaste([, ]|$)/.test(editor.settings.plugins) && global$1.get('powerpaste')) { if (typeof domGlobals.window.console !== 'undefined' && domGlobals.window.console.log) { domGlobals.window.console.log('PowerPaste is incompatible with Paste plugin! Remove \'paste\' from the \'plugins\' option.'); } return true; } else { return false; } }; var DetectProPlugin = { hasProPlugin: hasProPlugin }; var get = function (clipboard, quirks) { return { clipboard: clipboard, quirks: quirks }; }; var Api = { get: get }; var firePastePreProcess = function (editor, html, internal, isWordHtml) { return editor.fire('PastePreProcess', { content: html, internal: internal, wordContent: isWordHtml }); }; var firePastePostProcess = function (editor, node, internal, isWordHtml) { return editor.fire('PastePostProcess', { node: node, internal: internal, wordContent: isWordHtml }); }; var firePastePlainTextToggle = function (editor, state) { return editor.fire('PastePlainTextToggle', { state: state }); }; var firePaste = function (editor, ieFake) { return editor.fire('paste', { ieFake: ieFake }); }; var Events = { firePastePreProcess: firePastePreProcess, firePastePostProcess: firePastePostProcess, firePastePlainTextToggle: firePastePlainTextToggle, firePaste: firePaste }; var shouldPlainTextInform = function (editor) { return editor.getParam('paste_plaintext_inform', true); }; var shouldBlockDrop = function (editor) { return editor.getParam('paste_block_drop', false); }; var shouldPasteDataImages = function (editor) { return editor.getParam('paste_data_images', false); }; var shouldFilterDrop = function (editor) { return editor.getParam('paste_filter_drop', true); }; var getPreProcess = function (editor) { return editor.getParam('paste_preprocess'); }; var getPostProcess = function (editor) { return editor.getParam('paste_postprocess'); }; var getWebkitStyles = function (editor) { return editor.getParam('paste_webkit_styles'); }; var shouldRemoveWebKitStyles = function (editor) { return editor.getParam('paste_remove_styles_if_webkit', true); }; var shouldMergeFormats = function (editor) { return editor.getParam('paste_merge_formats', true); }; var isSmartPasteEnabled = function (editor) { return editor.getParam('smart_paste', true); }; var isPasteAsTextEnabled = function (editor) { return editor.getParam('paste_as_text', false); }; var getRetainStyleProps = function (editor) { return editor.getParam('paste_retain_style_properties'); }; var getWordValidElements = function (editor) { var defaultValidElements = '-strong/b,-em/i,-u,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,' + '-p/div,-a[href|name],sub,sup,strike,br,del,table[width],tr,' + 'td[colspan|rowspan|width],th[colspan|rowspan|width],thead,tfoot,tbody'; return editor.getParam('paste_word_valid_elements', defaultValidElements); }; var shouldConvertWordFakeLists = function (editor) { return editor.getParam('paste_convert_word_fake_lists', true); }; var shouldUseDefaultFilters = function (editor) { return editor.getParam('paste_enable_default_filters', true); }; var Settings = { shouldPlainTextInform: shouldPlainTextInform, shouldBlockDrop: shouldBlockDrop, shouldPasteDataImages: shouldPasteDataImages, shouldFilterDrop: shouldFilterDrop, getPreProcess: getPreProcess, getPostProcess: getPostProcess, getWebkitStyles: getWebkitStyles, shouldRemoveWebKitStyles: shouldRemoveWebKitStyles, shouldMergeFormats: shouldMergeFormats, isSmartPasteEnabled: isSmartPasteEnabled, isPasteAsTextEnabled: isPasteAsTextEnabled, getRetainStyleProps: getRetainStyleProps, getWordValidElements: getWordValidElements, shouldConvertWordFakeLists: shouldConvertWordFakeLists, shouldUseDefaultFilters: shouldUseDefaultFilters }; var shouldInformUserAboutPlainText = function (editor, userIsInformedState) { return userIsInformedState.get() === false && Settings.shouldPlainTextInform(editor); }; var displayNotification = function (editor, message) { editor.notificationManager.open({ text: editor.translate(message), type: 'info' }); }; var togglePlainTextPaste = function (editor, clipboard, userIsInformedState) { if (clipboard.pasteFormat.get() === 'text') { clipboard.pasteFormat.set('html'); Events.firePastePlainTextToggle(editor, false); } else { clipboard.pasteFormat.set('text'); Events.firePastePlainTextToggle(editor, true); if (shouldInformUserAboutPlainText(editor, userIsInformedState)) { displayNotification(editor, 'Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.'); userIsInformedState.set(true); } } editor.focus(); }; var Actions = { togglePlainTextPaste: togglePlainTextPaste }; var register = function (editor, clipboard, userIsInformedState) { editor.addCommand('mceTogglePlainTextPaste', function () { Actions.togglePlainTextPaste(editor, clipboard, userIsInformedState); }); editor.addCommand('mceInsertClipboardContent', function (ui, value) { if (value.content) { clipboard.pasteHtml(value.content, value.internal); } if (value.text) { clipboard.pasteText(value.text); } }); }; var Commands = { register: register }; var global$2 = tinymce.util.Tools.resolve('tinymce.Env'); var global$3 = tinymce.util.Tools.resolve('tinymce.util.Delay'); var global$4 = tinymce.util.Tools.resolve('tinymce.util.Tools'); var global$5 = tinymce.util.Tools.resolve('tinymce.util.VK'); var internalMimeType = 'x-tinymce/html'; var internalMark = ''; var mark = function (html) { return internalMark + html; }; var unmark = function (html) { return html.replace(internalMark, ''); }; var isMarked = function (html) { return html.indexOf(internalMark) !== -1; }; var InternalHtml = { mark: mark, unmark: unmark, isMarked: isMarked, internalHtmlMime: function () { return internalMimeType; } }; var global$6 = tinymce.util.Tools.resolve('tinymce.html.Entities'); var isPlainText = function (text) { return !/<(?:\/?(?!(?:div|p|br|span)>)\w+|(?:(?!(?:span style="white-space:\s?pre;?">)|br\s?\/>))\w+\s[^>]+)>/i.test(text); }; var toBRs = function (text) { return text.replace(/\r?\n/g, '
    '); }; var openContainer = function (rootTag, rootAttrs) { var key; var attrs = []; var tag = '<' + rootTag; if (typeof rootAttrs === 'object') { for (key in rootAttrs) { if (rootAttrs.hasOwnProperty(key)) { attrs.push(key + '="' + global$6.encodeAllRaw(rootAttrs[key]) + '"'); } } if (attrs.length) { tag += ' ' + attrs.join(' '); } } return tag + '>'; }; var toBlockElements = function (text, rootTag, rootAttrs) { var blocks = text.split(/\n\n/); var tagOpen = openContainer(rootTag, rootAttrs); var tagClose = ''; var paragraphs = global$4.map(blocks, function (p) { return p.split(/\n/).join('
    '); }); var stitch = function (p) { return tagOpen + p + tagClose; }; return paragraphs.length === 1 ? paragraphs[0] : global$4.map(paragraphs, stitch).join(''); }; var convert = function (text, rootTag, rootAttrs) { return rootTag ? toBlockElements(text, rootTag, rootAttrs) : toBRs(text); }; var Newlines = { isPlainText: isPlainText, convert: convert, toBRs: toBRs, toBlockElements: toBlockElements }; var global$7 = tinymce.util.Tools.resolve('tinymce.html.DomParser'); var global$8 = tinymce.util.Tools.resolve('tinymce.html.Serializer'); var global$9 = tinymce.util.Tools.resolve('tinymce.html.Node'); var global$a = tinymce.util.Tools.resolve('tinymce.html.Schema'); function filter(content, items) { global$4.each(items, function (v) { if (v.constructor === RegExp) { content = content.replace(v, ''); } else { content = content.replace(v[0], v[1]); } }); return content; } function innerText(html) { var schema = global$a(); var domParser = global$7({}, schema); var text = ''; var shortEndedElements = schema.getShortEndedElements(); var ignoreElements = global$4.makeMap('script noscript style textarea video audio iframe object', ' '); var blockElements = schema.getBlockElements(); function walk(node) { var name = node.name, currentNode = node; if (name === 'br') { text += '\n'; return; } if (name === 'wbr') { return; } if (shortEndedElements[name]) { text += ' '; } if (ignoreElements[name]) { text += ' '; return; } if (node.type === 3) { text += node.value; } if (!node.shortEnded) { if (node = node.firstChild) { do { walk(node); } while (node = node.next); } } if (blockElements[name] && currentNode.next) { text += '\n'; if (name === 'p') { text += '\n'; } } } html = filter(html, [//g]); walk(domParser.parse(html)); return text; } function trimHtml(html) { function trimSpaces(all, s1, s2) { if (!s1 && !s2) { return ' '; } return '\xA0'; } html = filter(html, [ /^[\s\S]*]*>\s*|\s*<\/body[^>]*>[\s\S]*$/ig, /|/g, [ /( ?)\u00a0<\/span>( ?)/g, trimSpaces ], /
    /g, /
    $/i ]); return html; } function createIdGenerator(prefix) { var count = 0; return function () { return prefix + count++; }; } var isMsEdge = function () { return domGlobals.navigator.userAgent.indexOf(' Edge/') !== -1; }; var Utils = { filter: filter, innerText: innerText, trimHtml: trimHtml, createIdGenerator: createIdGenerator, isMsEdge: isMsEdge }; function isWordContent(content) { return / 1) { currentListNode.attr('start', '' + start); } paragraphNode.wrap(currentListNode); } else { currentListNode.append(paragraphNode); } paragraphNode.name = 'li'; if (level > lastLevel && prevListNode) { prevListNode.lastChild.append(currentListNode); } lastLevel = level; removeIgnoredNodes(paragraphNode); trimListStart(paragraphNode, /^\u00a0+/); trimListStart(paragraphNode, /^\s*([\u2022\u00b7\u00a7\u25CF]|\w+\.)/); trimListStart(paragraphNode, /^\u00a0+/); } var elements = []; var child = node.firstChild; while (typeof child !== 'undefined' && child !== null) { elements.push(child); child = child.walk(); if (child !== null) { while (typeof child !== 'undefined' && child.parent !== node) { child = child.walk(); } } } for (var i = 0; i < elements.length; i++) { node = elements[i]; if (node.name === 'p' && node.firstChild) { var nodeText = getText(node); if (isBulletList(nodeText)) { convertParagraphToLi(node, 'ul'); continue; } if (isNumericList(nodeText)) { var matches = /([0-9]+)\./.exec(nodeText); var start = 1; if (matches) { start = parseInt(matches[1], 10); } convertParagraphToLi(node, 'ol', start); continue; } if (node._listLevel) { convertParagraphToLi(node, 'ul', 1); continue; } currentListNode = null; } else { prevListNode = currentListNode; currentListNode = null; } } } function filterStyles(editor, validStyles, node, styleValue) { var outputStyles = {}, matches; var styles = editor.dom.parseStyle(styleValue); global$4.each(styles, function (value, name) { switch (name) { case 'mso-list': matches = /\w+ \w+([0-9]+)/i.exec(styleValue); if (matches) { node._listLevel = parseInt(matches[1], 10); } if (/Ignore/i.test(value) && node.firstChild) { node._listIgnore = true; node.firstChild._listIgnore = true; } break; case 'horiz-align': name = 'text-align'; break; case 'vert-align': name = 'vertical-align'; break; case 'font-color': case 'mso-foreground': name = 'color'; break; case 'mso-background': case 'mso-highlight': name = 'background'; break; case 'font-weight': case 'font-style': if (value !== 'normal') { outputStyles[name] = value; } return; case 'mso-element': if (/^(comment|comment-list)$/i.test(value)) { node.remove(); return; } break; } if (name.indexOf('mso-comment') === 0) { node.remove(); return; } if (name.indexOf('mso-') === 0) { return; } if (Settings.getRetainStyleProps(editor) === 'all' || validStyles && validStyles[name]) { outputStyles[name] = value; } }); if (/(bold)/i.test(outputStyles['font-weight'])) { delete outputStyles['font-weight']; node.wrap(new global$9('b', 1)); } if (/(italic)/i.test(outputStyles['font-style'])) { delete outputStyles['font-style']; node.wrap(new global$9('i', 1)); } outputStyles = editor.dom.serializeStyle(outputStyles, node.name); if (outputStyles) { return outputStyles; } return null; } var filterWordContent = function (editor, content) { var retainStyleProperties, validStyles; retainStyleProperties = Settings.getRetainStyleProps(editor); if (retainStyleProperties) { validStyles = global$4.makeMap(retainStyleProperties.split(/[, ]/)); } content = Utils.filter(content, [ /
    /gi, /]+id="?docs-internal-[^>]*>/gi, //gi, /<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi, [ /<(\/?)s>/gi, '<$1strike>' ], [ / /gi, '\xA0' ], [ /([\s\u00a0]*)<\/span>/gi, function (str, spaces) { return spaces.length > 0 ? spaces.replace(/./, ' ').slice(Math.floor(spaces.length / 2)).split('').join('\xA0') : ''; } ] ]); var validElements = Settings.getWordValidElements(editor); var schema = global$a({ valid_elements: validElements, valid_children: '-li[p]' }); global$4.each(schema.elements, function (rule) { if (!rule.attributes.class) { rule.attributes.class = {}; rule.attributesOrder.push('class'); } if (!rule.attributes.style) { rule.attributes.style = {}; rule.attributesOrder.push('style'); } }); var domParser = global$7({}, schema); domParser.addAttributeFilter('style', function (nodes) { var i = nodes.length, node; while (i--) { node = nodes[i]; node.attr('style', filterStyles(editor, validStyles, node, node.attr('style'))); if (node.name === 'span' && node.parent && !node.attributes.length) { node.unwrap(); } } }); domParser.addAttributeFilter('class', function (nodes) { var i = nodes.length, node, className; while (i--) { node = nodes[i]; className = node.attr('class'); if (/^(MsoCommentReference|MsoCommentText|msoDel)$/i.test(className)) { node.remove(); } node.attr('class', null); } }); domParser.addNodeFilter('del', function (nodes) { var i = nodes.length; while (i--) { nodes[i].remove(); } }); domParser.addNodeFilter('a', function (nodes) { var i = nodes.length, node, href, name; while (i--) { node = nodes[i]; href = node.attr('href'); name = node.attr('name'); if (href && href.indexOf('#_msocom_') !== -1) { node.remove(); continue; } if (href && href.indexOf('file://') === 0) { href = href.split('#')[1]; if (href) { href = '#' + href; } } if (!href && !name) { node.unwrap(); } else { if (name && !/^_?(?:toc|edn|ftn)/i.test(name)) { node.unwrap(); continue; } node.attr({ href: href, name: name }); } } }); var rootNode = domParser.parse(content); if (Settings.shouldConvertWordFakeLists(editor)) { convertFakeListsToProperLists(rootNode); } content = global$8({ validate: editor.settings.validate }, schema).serialize(rootNode); return content; }; var preProcess = function (editor, content) { return Settings.shouldUseDefaultFilters(editor) ? filterWordContent(editor, content) : content; }; var WordFilter = { preProcess: preProcess, isWordContent: isWordContent }; var preProcess$1 = function (editor, html) { var parser = global$7({}, editor.schema); parser.addNodeFilter('meta', function (nodes) { global$4.each(nodes, function (node) { return node.remove(); }); }); var fragment = parser.parse(html, { forced_root_block: false, isRootContent: true }); return global$8({ validate: editor.settings.validate }, editor.schema).serialize(fragment); }; var processResult = function (content, cancelled) { return { content: content, cancelled: cancelled }; }; var postProcessFilter = function (editor, html, internal, isWordHtml) { var tempBody = editor.dom.create('div', { style: 'display:none' }, html); var postProcessArgs = Events.firePastePostProcess(editor, tempBody, internal, isWordHtml); return processResult(postProcessArgs.node.innerHTML, postProcessArgs.isDefaultPrevented()); }; var filterContent = function (editor, content, internal, isWordHtml) { var preProcessArgs = Events.firePastePreProcess(editor, content, internal, isWordHtml); var filteredContent = preProcess$1(editor, preProcessArgs.content); if (editor.hasEventListeners('PastePostProcess') && !preProcessArgs.isDefaultPrevented()) { return postProcessFilter(editor, filteredContent, internal, isWordHtml); } else { return processResult(filteredContent, preProcessArgs.isDefaultPrevented()); } }; var process = function (editor, html, internal) { var isWordHtml = WordFilter.isWordContent(html); var content = isWordHtml ? WordFilter.preProcess(editor, html) : html; return filterContent(editor, content, internal, isWordHtml); }; var ProcessFilters = { process: process }; var pasteHtml = function (editor, html) { editor.insertContent(html, { merge: Settings.shouldMergeFormats(editor), paste: true }); return true; }; var isAbsoluteUrl = function (url) { return /^https?:\/\/[\w\?\-\/+=.&%@~#]+$/i.test(url); }; var isImageUrl = function (url) { return isAbsoluteUrl(url) && /.(gif|jpe?g|png)$/.test(url); }; var createImage = function (editor, url, pasteHtmlFn) { editor.undoManager.extra(function () { pasteHtmlFn(editor, url); }, function () { editor.insertContent(''); }); return true; }; var createLink = function (editor, url, pasteHtmlFn) { editor.undoManager.extra(function () { pasteHtmlFn(editor, url); }, function () { editor.execCommand('mceInsertLink', false, url); }); return true; }; var linkSelection = function (editor, html, pasteHtmlFn) { return editor.selection.isCollapsed() === false && isAbsoluteUrl(html) ? createLink(editor, html, pasteHtmlFn) : false; }; var insertImage = function (editor, html, pasteHtmlFn) { return isImageUrl(html) ? createImage(editor, html, pasteHtmlFn) : false; }; var smartInsertContent = function (editor, html) { global$4.each([ linkSelection, insertImage, pasteHtml ], function (action) { return action(editor, html, pasteHtml) !== true; }); }; var insertContent = function (editor, html) { if (Settings.isSmartPasteEnabled(editor) === false) { pasteHtml(editor, html); } else { smartInsertContent(editor, html); } }; var SmartPaste = { isImageUrl: isImageUrl, isAbsoluteUrl: isAbsoluteUrl, insertContent: insertContent }; var noop = function () { }; var constant = function (value) { return function () { return value; }; }; function curry(fn) { var initialArgs = []; for (var _i = 1; _i < arguments.length; _i++) { initialArgs[_i - 1] = arguments[_i]; } return function () { var restArgs = []; for (var _i = 0; _i < arguments.length; _i++) { restArgs[_i] = arguments[_i]; } var all = initialArgs.concat(restArgs); return fn.apply(null, all); }; } var never = constant(false); var always = constant(true); var none = function () { return NONE; }; var NONE = function () { var eq = function (o) { return o.isNone(); }; var call = function (thunk) { return thunk(); }; var id = function (n) { return n; }; var me = { fold: function (n, s) { return n(); }, is: never, isSome: never, isNone: always, getOr: id, getOrThunk: call, getOrDie: function (msg) { throw new Error(msg || 'error: getOrDie called on none.'); }, getOrNull: constant(null), getOrUndefined: constant(undefined), or: id, orThunk: call, map: none, each: noop, bind: none, exists: never, forall: always, filter: none, equals: eq, equals_: eq, toArray: function () { return []; }, toString: constant('none()') }; if (Object.freeze) { Object.freeze(me); } return me; }(); var some = function (a) { var constant_a = constant(a); var self = function () { return me; }; var bind = function (f) { return f(a); }; var me = { fold: function (n, s) { return s(a); }, is: function (v) { return a === v; }, isSome: always, isNone: never, getOr: constant_a, getOrThunk: constant_a, getOrDie: constant_a, getOrNull: constant_a, getOrUndefined: constant_a, or: self, orThunk: self, map: function (f) { return some(f(a)); }, each: function (f) { f(a); }, bind: bind, exists: bind, forall: bind, filter: function (f) { return f(a) ? me : NONE; }, toArray: function () { return [a]; }, toString: function () { return 'some(' + a + ')'; }, equals: function (o) { return o.is(a); }, equals_: function (o, elementEq) { return o.fold(never, function (b) { return elementEq(a, b); }); } }; return me; }; var from = function (value) { return value === null || value === undefined ? NONE : some(value); }; var Option = { some: some, none: none, from: from }; var typeOf = function (x) { if (x === null) { return 'null'; } var t = typeof x; if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) { return 'array'; } if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) { return 'string'; } return t; }; var isType = function (type) { return function (value) { return typeOf(value) === type; }; }; var isFunction = isType('function'); var nativeSlice = Array.prototype.slice; var map = function (xs, f) { var len = xs.length; var r = new Array(len); for (var i = 0; i < len; i++) { var x = xs[i]; r[i] = f(x, i); } return r; }; var each = function (xs, f) { for (var i = 0, len = xs.length; i < len; i++) { var x = xs[i]; f(x, i); } }; var filter$1 = function (xs, pred) { var r = []; for (var i = 0, len = xs.length; i < len; i++) { var x = xs[i]; if (pred(x, i)) { r.push(x); } } return r; }; var from$1 = isFunction(Array.from) ? Array.from : function (x) { return nativeSlice.call(x); }; var exports$1 = {}, module = { exports: exports$1 }; (function (define, exports, module, require) { (function (f) { if (typeof exports === 'object' && typeof module !== 'undefined') { module.exports = f(); } else if (typeof define === 'function' && define.amd) { define([], f); } else { var g; if (typeof window !== 'undefined') { g = window; } else if (typeof global !== 'undefined') { g = global; } else if (typeof self !== 'undefined') { g = self; } else { g = this; } g.EphoxContactWrapper = f(); } }(function () { return function () { function r(e, n, t) { function o(i, f) { if (!n[i]) { if (!e[i]) { var c = 'function' == typeof require && require; if (!f && c) return c(i, !0); if (u) return u(i, !0); var a = new Error('Cannot find module \'' + i + '\''); throw a.code = 'MODULE_NOT_FOUND', a; } var p = n[i] = { exports: {} }; e[i][0].call(p.exports, function (r) { var n = e[i][1][r]; return o(n || r); }, p, p.exports, r, e, n, t); } return n[i].exports; } for (var u = 'function' == typeof require && require, i = 0; i < t.length; i++) o(t[i]); return o; } return r; }()({ 1: [ function (require, module, exports) { var process = module.exports = {}; var cachedSetTimeout; var cachedClearTimeout; function defaultSetTimout() { throw new Error('setTimeout has not been defined'); } function defaultClearTimeout() { throw new Error('clearTimeout has not been defined'); } (function () { try { if (typeof setTimeout === 'function') { cachedSetTimeout = setTimeout; } else { cachedSetTimeout = defaultSetTimout; } } catch (e) { cachedSetTimeout = defaultSetTimout; } try { if (typeof clearTimeout === 'function') { cachedClearTimeout = clearTimeout; } else { cachedClearTimeout = defaultClearTimeout; } } catch (e) { cachedClearTimeout = defaultClearTimeout; } }()); function runTimeout(fun) { if (cachedSetTimeout === setTimeout) { return setTimeout(fun, 0); } if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { cachedSetTimeout = setTimeout; return setTimeout(fun, 0); } try { return cachedSetTimeout(fun, 0); } catch (e) { try { return cachedSetTimeout.call(null, fun, 0); } catch (e) { return cachedSetTimeout.call(this, fun, 0); } } } function runClearTimeout(marker) { if (cachedClearTimeout === clearTimeout) { return clearTimeout(marker); } if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { cachedClearTimeout = clearTimeout; return clearTimeout(marker); } try { return cachedClearTimeout(marker); } catch (e) { try { return cachedClearTimeout.call(null, marker); } catch (e) { return cachedClearTimeout.call(this, marker); } } } var queue = []; var draining = false; var currentQueue; var queueIndex = -1; function cleanUpNextTick() { if (!draining || !currentQueue) { return; } draining = false; if (currentQueue.length) { queue = currentQueue.concat(queue); } else { queueIndex = -1; } if (queue.length) { drainQueue(); } } function drainQueue() { if (draining) { return; } var timeout = runTimeout(cleanUpNextTick); draining = true; var len = queue.length; while (len) { currentQueue = queue; queue = []; while (++queueIndex < len) { if (currentQueue) { currentQueue[queueIndex].run(); } } queueIndex = -1; len = queue.length; } currentQueue = null; draining = false; runClearTimeout(timeout); } process.nextTick = function (fun) { var args = new Array(arguments.length - 1); if (arguments.length > 1) { for (var i = 1; i < arguments.length; i++) { args[i - 1] = arguments[i]; } } queue.push(new Item(fun, args)); if (queue.length === 1 && !draining) { runTimeout(drainQueue); } }; function Item(fun, array) { this.fun = fun; this.array = array; } Item.prototype.run = function () { this.fun.apply(null, this.array); }; process.title = 'browser'; process.browser = true; process.env = {}; process.argv = []; process.version = ''; process.versions = {}; function noop() { } process.on = noop; process.addListener = noop; process.once = noop; process.off = noop; process.removeListener = noop; process.removeAllListeners = noop; process.emit = noop; process.prependListener = noop; process.prependOnceListener = noop; process.listeners = function (name) { return []; }; process.binding = function (name) { throw new Error('process.binding is not supported'); }; process.cwd = function () { return '/'; }; process.chdir = function (dir) { throw new Error('process.chdir is not supported'); }; process.umask = function () { return 0; }; }, {} ], 2: [ function (require, module, exports) { (function (setImmediate) { (function (root) { var setTimeoutFunc = setTimeout; function noop() { } function bind(fn, thisArg) { return function () { fn.apply(thisArg, arguments); }; } function Promise(fn) { if (typeof this !== 'object') throw new TypeError('Promises must be constructed via new'); if (typeof fn !== 'function') throw new TypeError('not a function'); this._state = 0; this._handled = false; this._value = undefined; this._deferreds = []; doResolve(fn, this); } function handle(self, deferred) { while (self._state === 3) { self = self._value; } if (self._state === 0) { self._deferreds.push(deferred); return; } self._handled = true; Promise._immediateFn(function () { var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected; if (cb === null) { (self._state === 1 ? resolve : reject)(deferred.promise, self._value); return; } var ret; try { ret = cb(self._value); } catch (e) { reject(deferred.promise, e); return; } resolve(deferred.promise, ret); }); } function resolve(self, newValue) { try { if (newValue === self) throw new TypeError('A promise cannot be resolved with itself.'); if (newValue && (typeof newValue === 'object' || typeof newValue === 'function')) { var then = newValue.then; if (newValue instanceof Promise) { self._state = 3; self._value = newValue; finale(self); return; } else if (typeof then === 'function') { doResolve(bind(then, newValue), self); return; } } self._state = 1; self._value = newValue; finale(self); } catch (e) { reject(self, e); } } function reject(self, newValue) { self._state = 2; self._value = newValue; finale(self); } function finale(self) { if (self._state === 2 && self._deferreds.length === 0) { Promise._immediateFn(function () { if (!self._handled) { Promise._unhandledRejectionFn(self._value); } }); } for (var i = 0, len = self._deferreds.length; i < len; i++) { handle(self, self._deferreds[i]); } self._deferreds = null; } function Handler(onFulfilled, onRejected, promise) { this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null; this.onRejected = typeof onRejected === 'function' ? onRejected : null; this.promise = promise; } function doResolve(fn, self) { var done = false; try { fn(function (value) { if (done) return; done = true; resolve(self, value); }, function (reason) { if (done) return; done = true; reject(self, reason); }); } catch (ex) { if (done) return; done = true; reject(self, ex); } } Promise.prototype['catch'] = function (onRejected) { return this.then(null, onRejected); }; Promise.prototype.then = function (onFulfilled, onRejected) { var prom = new this.constructor(noop); handle(this, new Handler(onFulfilled, onRejected, prom)); return prom; }; Promise.all = function (arr) { var args = Array.prototype.slice.call(arr); return new Promise(function (resolve, reject) { if (args.length === 0) return resolve([]); var remaining = args.length; function res(i, val) { try { if (val && (typeof val === 'object' || typeof val === 'function')) { var then = val.then; if (typeof then === 'function') { then.call(val, function (val) { res(i, val); }, reject); return; } } args[i] = val; if (--remaining === 0) { resolve(args); } } catch (ex) { reject(ex); } } for (var i = 0; i < args.length; i++) { res(i, args[i]); } }); }; Promise.resolve = function (value) { if (value && typeof value === 'object' && value.constructor === Promise) { return value; } return new Promise(function (resolve) { resolve(value); }); }; Promise.reject = function (value) { return new Promise(function (resolve, reject) { reject(value); }); }; Promise.race = function (values) { return new Promise(function (resolve, reject) { for (var i = 0, len = values.length; i < len; i++) { values[i].then(resolve, reject); } }); }; Promise._immediateFn = typeof setImmediate === 'function' ? function (fn) { setImmediate(fn); } : function (fn) { setTimeoutFunc(fn, 0); }; Promise._unhandledRejectionFn = function _unhandledRejectionFn(err) { if (typeof console !== 'undefined' && console) { console.warn('Possible Unhandled Promise Rejection:', err); } }; Promise._setImmediateFn = function _setImmediateFn(fn) { Promise._immediateFn = fn; }; Promise._setUnhandledRejectionFn = function _setUnhandledRejectionFn(fn) { Promise._unhandledRejectionFn = fn; }; if (typeof module !== 'undefined' && module.exports) { module.exports = Promise; } else if (!root.Promise) { root.Promise = Promise; } }(this)); }.call(this, require('timers').setImmediate)); }, { 'timers': 3 } ], 3: [ function (require, module, exports) { (function (setImmediate, clearImmediate) { var nextTick = require('process/browser.js').nextTick; var apply = Function.prototype.apply; var slice = Array.prototype.slice; var immediateIds = {}; var nextImmediateId = 0; exports.setTimeout = function () { return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout); }; exports.setInterval = function () { return new Timeout(apply.call(setInterval, window, arguments), clearInterval); }; exports.clearTimeout = exports.clearInterval = function (timeout) { timeout.close(); }; function Timeout(id, clearFn) { this._id = id; this._clearFn = clearFn; } Timeout.prototype.unref = Timeout.prototype.ref = function () { }; Timeout.prototype.close = function () { this._clearFn.call(window, this._id); }; exports.enroll = function (item, msecs) { clearTimeout(item._idleTimeoutId); item._idleTimeout = msecs; }; exports.unenroll = function (item) { clearTimeout(item._idleTimeoutId); item._idleTimeout = -1; }; exports._unrefActive = exports.active = function (item) { clearTimeout(item._idleTimeoutId); var msecs = item._idleTimeout; if (msecs >= 0) { item._idleTimeoutId = setTimeout(function onTimeout() { if (item._onTimeout) item._onTimeout(); }, msecs); } }; exports.setImmediate = typeof setImmediate === 'function' ? setImmediate : function (fn) { var id = nextImmediateId++; var args = arguments.length < 2 ? false : slice.call(arguments, 1); immediateIds[id] = true; nextTick(function onNextTick() { if (immediateIds[id]) { if (args) { fn.apply(null, args); } else { fn.call(null); } exports.clearImmediate(id); } }); return id; }; exports.clearImmediate = typeof clearImmediate === 'function' ? clearImmediate : function (id) { delete immediateIds[id]; }; }.call(this, require('timers').setImmediate, require('timers').clearImmediate)); }, { 'process/browser.js': 1, 'timers': 3 } ], 4: [ function (require, module, exports) { var promisePolyfill = require('promise-polyfill'); var Global = function () { if (typeof window !== 'undefined') { return window; } else { return Function('return this;')(); } }(); module.exports = { boltExport: Global.Promise || promisePolyfill }; }, { 'promise-polyfill': 2 } ] }, {}, [4])(4); })); }(undefined, exports$1, module, undefined)); var Promise = module.exports.boltExport; var nu = function (baseFn) { var data = Option.none(); var callbacks = []; var map = function (f) { return nu(function (nCallback) { get(function (data) { nCallback(f(data)); }); }); }; var get = function (nCallback) { if (isReady()) { call(nCallback); } else { callbacks.push(nCallback); } }; var set = function (x) { data = Option.some(x); run(callbacks); callbacks = []; }; var isReady = function () { return data.isSome(); }; var run = function (cbs) { each(cbs, call); }; var call = function (cb) { data.each(function (x) { domGlobals.setTimeout(function () { cb(x); }, 0); }); }; baseFn(set); return { get: get, map: map, isReady: isReady }; }; var pure = function (a) { return nu(function (callback) { callback(a); }); }; var LazyValue = { nu: nu, pure: pure }; var errorReporter = function (err) { domGlobals.setTimeout(function () { throw err; }, 0); }; var make = function (run) { var get = function (callback) { run().then(callback, errorReporter); }; var map = function (fab) { return make(function () { return run().then(fab); }); }; var bind = function (aFutureB) { return make(function () { return run().then(function (v) { return aFutureB(v).toPromise(); }); }); }; var anonBind = function (futureB) { return make(function () { return run().then(function () { return futureB.toPromise(); }); }); }; var toLazy = function () { return LazyValue.nu(get); }; var toCached = function () { var cache = null; return make(function () { if (cache === null) { cache = run(); } return cache; }); }; var toPromise = run; return { map: map, bind: bind, anonBind: anonBind, toLazy: toLazy, toCached: toCached, toPromise: toPromise, get: get }; }; var nu$1 = function (baseFn) { return make(function () { return new Promise(baseFn); }); }; var pure$1 = function (a) { return make(function () { return Promise.resolve(a); }); }; var Future = { nu: nu$1, pure: pure$1 }; var par = function (asyncValues, nu) { return nu(function (callback) { var r = []; var count = 0; var cb = function (i) { return function (value) { r[i] = value; count++; if (count >= asyncValues.length) { callback(r); } }; }; if (asyncValues.length === 0) { callback([]); } else { each(asyncValues, function (asyncValue, i) { asyncValue.get(cb(i)); }); } }); }; var par$1 = function (futures) { return par(futures, Future.nu); }; var traverse = function (array, fn) { return par$1(map(array, fn)); }; var mapM = traverse; var value = function () { var subject = Cell(Option.none()); var clear = function () { subject.set(Option.none()); }; var set = function (s) { subject.set(Option.some(s)); }; var on = function (f) { subject.get().each(f); }; var isSet = function () { return subject.get().isSome(); }; return { clear: clear, set: set, isSet: isSet, on: on }; }; var pasteHtml$1 = function (editor, html, internalFlag) { var internal = internalFlag ? internalFlag : InternalHtml.isMarked(html); var args = ProcessFilters.process(editor, InternalHtml.unmark(html), internal); if (args.cancelled === false) { SmartPaste.insertContent(editor, args.content); } }; var pasteText = function (editor, text) { text = editor.dom.encode(text).replace(/\r\n/g, '\n'); text = Newlines.convert(text, editor.settings.forced_root_block, editor.settings.forced_root_block_attrs); pasteHtml$1(editor, text, false); }; var getDataTransferItems = function (dataTransfer) { var items = {}; var mceInternalUrlPrefix = 'data:text/mce-internal,'; if (dataTransfer) { if (dataTransfer.getData) { var legacyText = dataTransfer.getData('Text'); if (legacyText && legacyText.length > 0) { if (legacyText.indexOf(mceInternalUrlPrefix) === -1) { items['text/plain'] = legacyText; } } } if (dataTransfer.types) { for (var i = 0; i < dataTransfer.types.length; i++) { var contentType = dataTransfer.types[i]; try { items[contentType] = dataTransfer.getData(contentType); } catch (ex) { items[contentType] = ''; } } } } return items; }; var getClipboardContent = function (editor, clipboardEvent) { var content = getDataTransferItems(clipboardEvent.clipboardData || editor.getDoc().dataTransfer); return Utils.isMsEdge() ? global$4.extend(content, { 'text/html': '' }) : content; }; var hasContentType = function (clipboardContent, mimeType) { return mimeType in clipboardContent && clipboardContent[mimeType].length > 0; }; var hasHtmlOrText = function (content) { return hasContentType(content, 'text/html') || hasContentType(content, 'text/plain'); }; var getBase64FromUri = function (uri) { var idx; idx = uri.indexOf(','); if (idx !== -1) { return uri.substr(idx + 1); } return null; }; var isValidDataUriImage = function (settings, imgElm) { return settings.images_dataimg_filter ? settings.images_dataimg_filter(imgElm) : true; }; var extractFilename = function (editor, str) { var m = str.match(/([\s\S]+?)\.(?:jpeg|jpg|png|gif)$/i); return m ? editor.dom.encode(m[1]) : null; }; var uniqueId = Utils.createIdGenerator('mceclip'); var pasteImage = function (editor, imageItem) { var base64 = getBase64FromUri(imageItem.uri); var id = uniqueId(); var name = editor.settings.images_reuse_filename && imageItem.blob.name ? extractFilename(editor, imageItem.blob.name) : id; var img = new domGlobals.Image(); img.src = imageItem.uri; if (isValidDataUriImage(editor.settings, img)) { var blobCache = editor.editorUpload.blobCache; var blobInfo = void 0, existingBlobInfo = void 0; existingBlobInfo = blobCache.findFirst(function (cachedBlobInfo) { return cachedBlobInfo.base64() === base64; }); if (!existingBlobInfo) { blobInfo = blobCache.create(id, imageItem.blob, base64, name); blobCache.add(blobInfo); } else { blobInfo = existingBlobInfo; } pasteHtml$1(editor, '', false); } else { pasteHtml$1(editor, '', false); } }; var isClipboardEvent = function (event) { return event.type === 'paste'; }; var readBlobsAsDataUris = function (items) { return mapM(items, function (item) { return Future.nu(function (resolve) { var blob = item.getAsFile ? item.getAsFile() : item; var reader = new window.FileReader(); reader.onload = function () { resolve({ blob: blob, uri: reader.result }); }; reader.readAsDataURL(blob); }); }); }; var getImagesFromDataTransfer = function (dataTransfer) { var items = dataTransfer.items ? map(from$1(dataTransfer.items), function (item) { return item.getAsFile(); }) : []; var files = dataTransfer.files ? from$1(dataTransfer.files) : []; var images = filter$1(items.length > 0 ? items : files, function (file) { return /^image\/(jpeg|png|gif|bmp)$/.test(file.type); }); return images; }; var pasteImageData = function (editor, e, rng) { var dataTransfer = isClipboardEvent(e) ? e.clipboardData : e.dataTransfer; if (editor.settings.paste_data_images && dataTransfer) { var images = getImagesFromDataTransfer(dataTransfer); if (images.length > 0) { e.preventDefault(); readBlobsAsDataUris(images).get(function (blobResults) { if (rng) { editor.selection.setRng(rng); } each(blobResults, function (result) { pasteImage(editor, result); }); }); return true; } } return false; }; var isBrokenAndroidClipboardEvent = function (e) { var clipboardData = e.clipboardData; return domGlobals.navigator.userAgent.indexOf('Android') !== -1 && clipboardData && clipboardData.items && clipboardData.items.length === 0; }; var isKeyboardPasteEvent = function (e) { return global$5.metaKeyPressed(e) && e.keyCode === 86 || e.shiftKey && e.keyCode === 45; }; var registerEventHandlers = function (editor, pasteBin, pasteFormat) { var keyboardPasteEvent = value(); var keyboardPastePlainTextState; editor.on('keydown', function (e) { function removePasteBinOnKeyUp(e) { if (isKeyboardPasteEvent(e) && !e.isDefaultPrevented()) { pasteBin.remove(); } } if (isKeyboardPasteEvent(e) && !e.isDefaultPrevented()) { keyboardPastePlainTextState = e.shiftKey && e.keyCode === 86; if (keyboardPastePlainTextState && global$2.webkit && domGlobals.navigator.userAgent.indexOf('Version/') !== -1) { return; } e.stopImmediatePropagation(); keyboardPasteEvent.set(e); window.setTimeout(function () { keyboardPasteEvent.clear(); }, 100); if (global$2.ie && keyboardPastePlainTextState) { e.preventDefault(); Events.firePaste(editor, true); return; } pasteBin.remove(); pasteBin.create(); editor.once('keyup', removePasteBinOnKeyUp); editor.once('paste', function () { editor.off('keyup', removePasteBinOnKeyUp); }); } }); function insertClipboardContent(clipboardContent, isKeyBoardPaste, plainTextMode, internal) { var content, isPlainTextHtml; if (hasContentType(clipboardContent, 'text/html')) { content = clipboardContent['text/html']; } else { content = pasteBin.getHtml(); internal = internal ? internal : InternalHtml.isMarked(content); if (pasteBin.isDefaultContent(content)) { plainTextMode = true; } } content = Utils.trimHtml(content); pasteBin.remove(); isPlainTextHtml = internal === false && Newlines.isPlainText(content); if (!content.length || isPlainTextHtml) { plainTextMode = true; } if (plainTextMode) { if (hasContentType(clipboardContent, 'text/plain') && isPlainTextHtml) { content = clipboardContent['text/plain']; } else { content = Utils.innerText(content); } } if (pasteBin.isDefaultContent(content)) { if (!isKeyBoardPaste) { editor.windowManager.alert('Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents.'); } return; } if (plainTextMode) { pasteText(editor, content); } else { pasteHtml$1(editor, content, internal); } } var getLastRng = function () { return pasteBin.getLastRng() || editor.selection.getRng(); }; editor.on('paste', function (e) { var isKeyBoardPaste = keyboardPasteEvent.isSet(); var clipboardContent = getClipboardContent(editor, e); var plainTextMode = pasteFormat.get() === 'text' || keyboardPastePlainTextState; var internal = hasContentType(clipboardContent, InternalHtml.internalHtmlMime()); keyboardPastePlainTextState = false; if (e.isDefaultPrevented() || isBrokenAndroidClipboardEvent(e)) { pasteBin.remove(); return; } if (!hasHtmlOrText(clipboardContent) && pasteImageData(editor, e, getLastRng())) { pasteBin.remove(); return; } if (!isKeyBoardPaste) { e.preventDefault(); } if (global$2.ie && (!isKeyBoardPaste || e.ieFake) && !hasContentType(clipboardContent, 'text/html')) { pasteBin.create(); editor.dom.bind(pasteBin.getEl(), 'paste', function (e) { e.stopPropagation(); }); editor.getDoc().execCommand('Paste', false, null); clipboardContent['text/html'] = pasteBin.getHtml(); } if (hasContentType(clipboardContent, 'text/html')) { e.preventDefault(); if (!internal) { internal = InternalHtml.isMarked(clipboardContent['text/html']); } insertClipboardContent(clipboardContent, isKeyBoardPaste, plainTextMode, internal); } else { global$3.setEditorTimeout(editor, function () { insertClipboardContent(clipboardContent, isKeyBoardPaste, plainTextMode, internal); }, 0); } }); }; var registerEventsAndFilters = function (editor, pasteBin, pasteFormat) { registerEventHandlers(editor, pasteBin, pasteFormat); var src; editor.parser.addNodeFilter('img', function (nodes, name, args) { var isPasteInsert = function (args) { return args.data && args.data.paste === true; }; var remove = function (node) { if (!node.attr('data-mce-object') && src !== global$2.transparentSrc) { node.remove(); } }; var isWebKitFakeUrl = function (src) { return src.indexOf('webkit-fake-url') === 0; }; var isDataUri = function (src) { return src.indexOf('data:') === 0; }; if (!editor.settings.paste_data_images && isPasteInsert(args)) { var i = nodes.length; while (i--) { src = nodes[i].attributes.map.src; if (!src) { continue; } if (isWebKitFakeUrl(src)) { remove(nodes[i]); } else if (!editor.settings.allow_html_data_urls && isDataUri(src)) { remove(nodes[i]); } } } }); }; var getPasteBinParent = function (editor) { return global$2.ie && editor.inline ? domGlobals.document.body : editor.getBody(); }; var isExternalPasteBin = function (editor) { return getPasteBinParent(editor) !== editor.getBody(); }; var delegatePasteEvents = function (editor, pasteBinElm, pasteBinDefaultContent) { if (isExternalPasteBin(editor)) { editor.dom.bind(pasteBinElm, 'paste keyup', function (e) { if (!isDefault(editor, pasteBinDefaultContent)) { editor.fire('paste'); } }); } }; var create = function (editor, lastRngCell, pasteBinDefaultContent) { var dom = editor.dom, body = editor.getBody(); var pasteBinElm; lastRngCell.set(editor.selection.getRng()); pasteBinElm = editor.dom.add(getPasteBinParent(editor), 'div', { 'id': 'mcepastebin', 'class': 'mce-pastebin', 'contentEditable': true, 'data-mce-bogus': 'all', 'style': 'position: fixed; top: 50%; width: 10px; height: 10px; overflow: hidden; opacity: 0' }, pasteBinDefaultContent); if (global$2.ie || global$2.gecko) { dom.setStyle(pasteBinElm, 'left', dom.getStyle(body, 'direction', true) === 'rtl' ? 65535 : -65535); } dom.bind(pasteBinElm, 'beforedeactivate focusin focusout', function (e) { e.stopPropagation(); }); delegatePasteEvents(editor, pasteBinElm, pasteBinDefaultContent); pasteBinElm.focus(); editor.selection.select(pasteBinElm, true); }; var remove = function (editor, lastRngCell) { if (getEl(editor)) { var pasteBinClone = void 0; var lastRng = lastRngCell.get(); while (pasteBinClone = editor.dom.get('mcepastebin')) { editor.dom.remove(pasteBinClone); editor.dom.unbind(pasteBinClone); } if (lastRng) { editor.selection.setRng(lastRng); } } lastRngCell.set(null); }; var getEl = function (editor) { return editor.dom.get('mcepastebin'); }; var getHtml = function (editor) { var pasteBinElm, pasteBinClones, i, dirtyWrappers, cleanWrapper; var copyAndRemove = function (toElm, fromElm) { toElm.appendChild(fromElm); editor.dom.remove(fromElm, true); }; pasteBinClones = global$4.grep(getPasteBinParent(editor).childNodes, function (elm) { return elm.id === 'mcepastebin'; }); pasteBinElm = pasteBinClones.shift(); global$4.each(pasteBinClones, function (pasteBinClone) { copyAndRemove(pasteBinElm, pasteBinClone); }); dirtyWrappers = editor.dom.select('div[id=mcepastebin]', pasteBinElm); for (i = dirtyWrappers.length - 1; i >= 0; i--) { cleanWrapper = editor.dom.create('div'); pasteBinElm.insertBefore(cleanWrapper, dirtyWrappers[i]); copyAndRemove(cleanWrapper, dirtyWrappers[i]); } return pasteBinElm ? pasteBinElm.innerHTML : ''; }; var getLastRng = function (lastRng) { return lastRng.get(); }; var isDefaultContent = function (pasteBinDefaultContent, content) { return content === pasteBinDefaultContent; }; var isPasteBin = function (elm) { return elm && elm.id === 'mcepastebin'; }; var isDefault = function (editor, pasteBinDefaultContent) { var pasteBinElm = getEl(editor); return isPasteBin(pasteBinElm) && isDefaultContent(pasteBinDefaultContent, pasteBinElm.innerHTML); }; var PasteBin = function (editor) { var lastRng = Cell(null); var pasteBinDefaultContent = '%MCEPASTEBIN%'; return { create: function () { return create(editor, lastRng, pasteBinDefaultContent); }, remove: function () { return remove(editor, lastRng); }, getEl: function () { return getEl(editor); }, getHtml: function () { return getHtml(editor); }, getLastRng: function () { return getLastRng(lastRng); }, isDefault: function () { return isDefault(editor, pasteBinDefaultContent); }, isDefaultContent: function (content) { return isDefaultContent(pasteBinDefaultContent, content); } }; }; var Clipboard = function (editor, pasteFormat) { var pasteBin = PasteBin(editor); editor.on('preInit', function () { return registerEventsAndFilters(editor, pasteBin, pasteFormat); }); return { pasteFormat: pasteFormat, pasteHtml: function (html, internalFlag) { return pasteHtml$1(editor, html, internalFlag); }, pasteText: function (text) { return pasteText(editor, text); }, pasteImageData: function (e, rng) { return pasteImageData(editor, e, rng); }, getDataTransferItems: getDataTransferItems, hasHtmlOrText: hasHtmlOrText, hasContentType: hasContentType }; }; var noop$1 = function () { }; var hasWorkingClipboardApi = function (clipboardData) { return global$2.iOS === false && clipboardData !== undefined && typeof clipboardData.setData === 'function' && Utils.isMsEdge() !== true; }; var setHtml5Clipboard = function (clipboardData, html, text) { if (hasWorkingClipboardApi(clipboardData)) { try { clipboardData.clearData(); clipboardData.setData('text/html', html); clipboardData.setData('text/plain', text); clipboardData.setData(InternalHtml.internalHtmlMime(), html); return true; } catch (e) { return false; } } else { return false; } }; var setClipboardData = function (evt, data, fallback, done) { if (setHtml5Clipboard(evt.clipboardData, data.html, data.text)) { evt.preventDefault(); done(); } else { fallback(data.html, done); } }; var fallback = function (editor) { return function (html, done) { var markedHtml = InternalHtml.mark(html); var outer = editor.dom.create('div', { 'contenteditable': 'false', 'data-mce-bogus': 'all' }); var inner = editor.dom.create('div', { contenteditable: 'true' }, markedHtml); editor.dom.setStyles(outer, { position: 'fixed', top: '0', left: '-3000px', width: '1000px', overflow: 'hidden' }); outer.appendChild(inner); editor.dom.add(editor.getBody(), outer); var range = editor.selection.getRng(); inner.focus(); var offscreenRange = editor.dom.createRng(); offscreenRange.selectNodeContents(inner); editor.selection.setRng(offscreenRange); setTimeout(function () { editor.selection.setRng(range); outer.parentNode.removeChild(outer); done(); }, 0); }; }; var getData = function (editor) { return { html: editor.selection.getContent({ contextual: true }), text: editor.selection.getContent({ format: 'text' }) }; }; var isTableSelection = function (editor) { return !!editor.dom.getParent(editor.selection.getStart(), 'td[data-mce-selected],th[data-mce-selected]', editor.getBody()); }; var hasSelectedContent = function (editor) { return !editor.selection.isCollapsed() || isTableSelection(editor); }; var cut = function (editor) { return function (evt) { if (hasSelectedContent(editor)) { setClipboardData(evt, getData(editor), fallback(editor), function () { setTimeout(function () { editor.execCommand('Delete'); }, 0); }); } }; }; var copy = function (editor) { return function (evt) { if (hasSelectedContent(editor)) { setClipboardData(evt, getData(editor), fallback(editor), noop$1); } }; }; var register$1 = function (editor) { editor.on('cut', cut(editor)); editor.on('copy', copy(editor)); }; var CutCopy = { register: register$1 }; var global$b = tinymce.util.Tools.resolve('tinymce.dom.RangeUtils'); var getCaretRangeFromEvent = function (editor, e) { return global$b.getCaretRangeFromPoint(e.clientX, e.clientY, editor.getDoc()); }; var isPlainTextFileUrl = function (content) { var plainTextContent = content['text/plain']; return plainTextContent ? plainTextContent.indexOf('file://') === 0 : false; }; var setFocusedRange = function (editor, rng) { editor.focus(); editor.selection.setRng(rng); }; var setup = function (editor, clipboard, draggingInternallyState) { if (Settings.shouldBlockDrop(editor)) { editor.on('dragend dragover draggesture dragdrop drop drag', function (e) { e.preventDefault(); e.stopPropagation(); }); } if (!Settings.shouldPasteDataImages(editor)) { editor.on('drop', function (e) { var dataTransfer = e.dataTransfer; if (dataTransfer && dataTransfer.files && dataTransfer.files.length > 0) { e.preventDefault(); } }); } editor.on('drop', function (e) { var dropContent, rng; rng = getCaretRangeFromEvent(editor, e); if (e.isDefaultPrevented() || draggingInternallyState.get()) { return; } dropContent = clipboard.getDataTransferItems(e.dataTransfer); var internal = clipboard.hasContentType(dropContent, InternalHtml.internalHtmlMime()); if ((!clipboard.hasHtmlOrText(dropContent) || isPlainTextFileUrl(dropContent)) && clipboard.pasteImageData(e, rng)) { return; } if (rng && Settings.shouldFilterDrop(editor)) { var content_1 = dropContent['mce-internal'] || dropContent['text/html'] || dropContent['text/plain']; if (content_1) { e.preventDefault(); global$3.setEditorTimeout(editor, function () { editor.undoManager.transact(function () { if (dropContent['mce-internal']) { editor.execCommand('Delete'); } setFocusedRange(editor, rng); content_1 = Utils.trimHtml(content_1); if (!dropContent['text/html']) { clipboard.pasteText(content_1); } else { clipboard.pasteHtml(content_1, internal); } }); }); } } }); editor.on('dragstart', function (e) { draggingInternallyState.set(true); }); editor.on('dragover dragend', function (e) { if (Settings.shouldPasteDataImages(editor) && draggingInternallyState.get() === false) { e.preventDefault(); setFocusedRange(editor, getCaretRangeFromEvent(editor, e)); } if (e.type === 'dragend') { draggingInternallyState.set(false); } }); }; var DragDrop = { setup: setup }; var setup$1 = function (editor) { var plugin = editor.plugins.paste; var preProcess = Settings.getPreProcess(editor); if (preProcess) { editor.on('PastePreProcess', function (e) { preProcess.call(plugin, plugin, e); }); } var postProcess = Settings.getPostProcess(editor); if (postProcess) { editor.on('PastePostProcess', function (e) { postProcess.call(plugin, plugin, e); }); } }; var PrePostProcess = { setup: setup$1 }; function addPreProcessFilter(editor, filterFunc) { editor.on('PastePreProcess', function (e) { e.content = filterFunc(editor, e.content, e.internal, e.wordContent); }); } function addPostProcessFilter(editor, filterFunc) { editor.on('PastePostProcess', function (e) { filterFunc(editor, e.node); }); } function removeExplorerBrElementsAfterBlocks(editor, html) { if (!WordFilter.isWordContent(html)) { return html; } var blockElements = []; global$4.each(editor.schema.getBlockElements(), function (block, blockName) { blockElements.push(blockName); }); var explorerBlocksRegExp = new RegExp('(?:
     [\\s\\r\\n]+|
    )*(<\\/?(' + blockElements.join('|') + ')[^>]*>)(?:
     [\\s\\r\\n]+|
    )*', 'g'); html = Utils.filter(html, [[ explorerBlocksRegExp, '$1' ]]); html = Utils.filter(html, [ [ /

    /g, '

    ' ], [ /
    /g, ' ' ], [ /

    /g, '
    ' ] ]); return html; } function removeWebKitStyles(editor, content, internal, isWordHtml) { if (isWordHtml || internal) { return content; } var webKitStylesSetting = Settings.getWebkitStyles(editor); var webKitStyles; if (Settings.shouldRemoveWebKitStyles(editor) === false || webKitStylesSetting === 'all') { return content; } if (webKitStylesSetting) { webKitStyles = webKitStylesSetting.split(/[, ]/); } if (webKitStyles) { var dom_1 = editor.dom, node_1 = editor.selection.getNode(); content = content.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi, function (all, before, value, after) { var inputStyles = dom_1.parseStyle(dom_1.decode(value)); var outputStyles = {}; if (webKitStyles === 'none') { return before + after; } for (var i = 0; i < webKitStyles.length; i++) { var inputValue = inputStyles[webKitStyles[i]], currentValue = dom_1.getStyle(node_1, webKitStyles[i], true); if (/color/.test(webKitStyles[i])) { inputValue = dom_1.toHex(inputValue); currentValue = dom_1.toHex(currentValue); } if (currentValue !== inputValue) { outputStyles[webKitStyles[i]] = inputValue; } } outputStyles = dom_1.serializeStyle(outputStyles, 'span'); if (outputStyles) { return before + ' style="' + outputStyles + '"' + after; } return before + after; }); } else { content = content.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi, '$1$3'); } content = content.replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi, function (all, before, value, after) { return before + ' style="' + value + '"' + after; }); return content; } function removeUnderlineAndFontInAnchor(editor, root) { editor.$('a', root).find('font,u').each(function (i, node) { editor.dom.remove(node, true); }); } var setup$2 = function (editor) { if (global$2.webkit) { addPreProcessFilter(editor, removeWebKitStyles); } if (global$2.ie) { addPreProcessFilter(editor, removeExplorerBrElementsAfterBlocks); addPostProcessFilter(editor, removeUnderlineAndFontInAnchor); } }; var Quirks = { setup: setup$2 }; var stateChange = function (editor, clipboard, e) { var ctrl = e.control; ctrl.active(clipboard.pasteFormat.get() === 'text'); editor.on('PastePlainTextToggle', function (e) { ctrl.active(e.state); }); }; var register$2 = function (editor, clipboard) { var postRender = curry(stateChange, editor, clipboard); editor.addButton('pastetext', { active: false, icon: 'pastetext', tooltip: 'Paste as text', cmd: 'mceTogglePlainTextPaste', onPostRender: postRender }); editor.addMenuItem('pastetext', { text: 'Paste as text', selectable: true, active: clipboard.pasteFormat, cmd: 'mceTogglePlainTextPaste', onPostRender: postRender }); }; var Buttons = { register: register$2 }; global$1.add('paste', function (editor) { if (DetectProPlugin.hasProPlugin(editor) === false) { var userIsInformedState = Cell(false); var draggingInternallyState = Cell(false); var pasteFormat = Cell(Settings.isPasteAsTextEnabled(editor) ? 'text' : 'html'); var clipboard = Clipboard(editor, pasteFormat); var quirks = Quirks.setup(editor); Buttons.register(editor, clipboard); Commands.register(editor, clipboard, userIsInformedState); PrePostProcess.setup(editor); CutCopy.register(editor); DragDrop.setup(editor, clipboard, draggingInternallyState); return Api.get(clipboard, quirks); } }); function Plugin () { } return Plugin; }(window)); })(); PK!xKbuxux#tinymce/plugins/paste/plugin.min.jsnu[!function(v){"use strict";var p=function(t){var e=t,n=function(){return e};return{get:n,set:function(t){e=t},clone:function(){return p(n())}}},e=tinymce.util.Tools.resolve("tinymce.PluginManager"),a=function(t){return!(!/(^|[ ,])powerpaste([, ]|$)/.test(t.settings.plugins)||!e.get("powerpaste")||("undefined"!=typeof v.window.console&&v.window.console.log&&v.window.console.log("PowerPaste is incompatible with Paste plugin! Remove 'paste' from the 'plugins' option."),0))},u=function(t,e){return{clipboard:t,quirks:e}},d=function(t,e,n,r){return t.fire("PastePreProcess",{content:e,internal:n,wordContent:r})},m=function(t,e,n,r){return t.fire("PastePostProcess",{node:e,internal:n,wordContent:r})},s=function(t,e){return t.fire("PastePlainTextToggle",{state:e})},n=function(t,e){return t.fire("paste",{ieFake:e})},g={shouldPlainTextInform:function(t){return t.getParam("paste_plaintext_inform",!0)},shouldBlockDrop:function(t){return t.getParam("paste_block_drop",!1)},shouldPasteDataImages:function(t){return t.getParam("paste_data_images",!1)},shouldFilterDrop:function(t){return t.getParam("paste_filter_drop",!0)},getPreProcess:function(t){return t.getParam("paste_preprocess")},getPostProcess:function(t){return t.getParam("paste_postprocess")},getWebkitStyles:function(t){return t.getParam("paste_webkit_styles")},shouldRemoveWebKitStyles:function(t){return t.getParam("paste_remove_styles_if_webkit",!0)},shouldMergeFormats:function(t){return t.getParam("paste_merge_formats",!0)},isSmartPasteEnabled:function(t){return t.getParam("smart_paste",!0)},isPasteAsTextEnabled:function(t){return t.getParam("paste_as_text",!1)},getRetainStyleProps:function(t){return t.getParam("paste_retain_style_properties")},getWordValidElements:function(t){return t.getParam("paste_word_valid_elements","-strong/b,-em/i,-u,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,-p/div,-a[href|name],sub,sup,strike,br,del,table[width],tr,td[colspan|rowspan|width],th[colspan|rowspan|width],thead,tfoot,tbody")},shouldConvertWordFakeLists:function(t){return t.getParam("paste_convert_word_fake_lists",!0)},shouldUseDefaultFilters:function(t){return t.getParam("paste_enable_default_filters",!0)}},r=function(t,e,n){var r,o,i;"text"===e.pasteFormat.get()?(e.pasteFormat.set("html"),s(t,!1)):(e.pasteFormat.set("text"),s(t,!0),i=t,!1===n.get()&&g.shouldPlainTextInform(i)&&(o="Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.",(r=t).notificationManager.open({text:r.translate(o),type:"info"}),n.set(!0))),t.focus()},c=function(t,n,e){t.addCommand("mceTogglePlainTextPaste",function(){r(t,n,e)}),t.addCommand("mceInsertClipboardContent",function(t,e){e.content&&n.pasteHtml(e.content,e.internal),e.text&&n.pasteText(e.text)})},h=tinymce.util.Tools.resolve("tinymce.Env"),y=tinymce.util.Tools.resolve("tinymce.util.Delay"),b=tinymce.util.Tools.resolve("tinymce.util.Tools"),o=tinymce.util.Tools.resolve("tinymce.util.VK"),t="x-tinymce/html",i="\x3c!-- "+t+" --\x3e",l=function(t){return i+t},f=function(t){return t.replace(i,"")},w=function(t){return-1!==t.indexOf(i)},x=function(){return t},_=tinymce.util.Tools.resolve("tinymce.html.Entities"),P=function(t){return t.replace(/\r?\n/g,"
    ")},T=function(t,e,n){var r=t.split(/\n\n/),o=function(t,e){var n,r=[],o="<"+t;if("object"==typeof e){for(n in e)e.hasOwnProperty(n)&&r.push(n+'="'+_.encodeAllRaw(e[n])+'"');r.length&&(o+=" "+r.join(" "))}return o+">"}(e,n),i="",a=b.map(r,function(t){return t.split(/\n/).join("
    ")});return 1===a.length?a[0]:b.map(a,function(t){return o+t+i}).join("")},D=function(t){return!/<(?:\/?(?!(?:div|p|br|span)>)\w+|(?:(?!(?:span style="white-space:\s?pre;?">)|br\s?\/>))\w+\s[^>]+)>/i.test(t)},C=function(t,e,n){return e?T(t,e,n):P(t)},k=tinymce.util.Tools.resolve("tinymce.html.DomParser"),F=tinymce.util.Tools.resolve("tinymce.html.Serializer"),E=tinymce.util.Tools.resolve("tinymce.html.Node"),R=tinymce.util.Tools.resolve("tinymce.html.Schema");function I(e,t){return b.each(t,function(t){e=t.constructor===RegExp?e.replace(t,""):e.replace(t[0],t[1])}),e}var O={filter:I,innerText:function(e){var n=R(),r=k({},n),o="",i=n.getShortEndedElements(),a=b.makeMap("script noscript style textarea video audio iframe object"," "),u=n.getBlockElements();return e=I(e,[//g]),function t(e){var n=e.name,r=e;if("br"!==n){if("wbr"!==n)if(i[n]&&(o+=" "),a[n])o+=" ";else{if(3===e.type&&(o+=e.value),!e.shortEnded&&(e=e.firstChild))for(;t(e),e=e.next;);u[n]&&r.next&&(o+="\n","p"===n&&(o+="\n"))}}else o+="\n"}(r.parse(e)),o},trimHtml:function(t){return t=I(t,[/^[\s\S]*]*>\s*|\s*<\/body[^>]*>[\s\S]*$/gi,/|/g,[/( ?)\u00a0<\/span>( ?)/g,function(t,e,n){return e||n?"\xa0":" "}],/
    /g,/
    $/i])},createIdGenerator:function(t){var e=0;return function(){return t+e++}},isMsEdge:function(){return-1!==v.navigator.userAgent.indexOf(" Edge/")}};function S(e){var n,t;return t=[/^[IVXLMCD]{1,2}\.[ \u00a0]/,/^[ivxlmcd]{1,2}\.[ \u00a0]/,/^[a-z]{1,2}[\.\)][ \u00a0]/,/^[A-Z]{1,2}[\.\)][ \u00a0]/,/^[0-9]+\.[ \u00a0]/,/^[\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]+\.[ \u00a0]/,/^[\u58f1\u5f10\u53c2\u56db\u4f0d\u516d\u4e03\u516b\u4e5d\u62fe]+\.[ \u00a0]/],e=e.replace(/^[\u00a0 ]+/,""),b.each(t,function(t){if(t.test(e))return!(n=!0)}),n}function A(t){var i,a,u=1;function n(t){var e="";if(3===t.type)return t.value;if(t=t.firstChild)for(;e+=n(t),t=t.next;);return e}function s(t,e){if(3===t.type&&e.test(t.value))return t.value=t.value.replace(e,""),!1;if(t=t.firstChild)do{if(!s(t,e))return!1}while(t=t.next);return!0}function e(e,n,r){var o=e._listLevel||u;o!==u&&(o/gi,/]+id="?docs-internal-[^>]*>/gi,//gi,/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,[/<(\/?)s>/gi,"<$1strike>"],[/ /gi,"\xa0"],[/([\s\u00a0]*)<\/span>/gi,function(t,e){return 0')}),!0);var r,o,i},tt=function(t,e){var n,r;!1===g.isSmartPasteEnabled(t)?X(t,e):(n=t,r=e,b.each([J,Q,X],function(t){return!0!==t(n,r,X)}))},et=function(){},nt=function(t){return function(){return t}},rt=nt(!1),ot=nt(!0),it=function(){return at},at=(M=function(t){return t.isNone()},B={fold:function(t,e){return t()},is:rt,isSome:rt,isNone:ot,getOr:N=function(t){return t},getOrThunk:L=function(t){return t()},getOrDie:function(t){throw new Error(t||"error: getOrDie called on none.")},getOrNull:nt(null),getOrUndefined:nt(undefined),or:N,orThunk:L,map:it,each:et,bind:it,exists:rt,forall:ot,filter:it,equals:M,equals_:M,toArray:function(){return[]},toString:nt("none()")},Object.freeze&&Object.freeze(B),B),ut=function(n){var t=nt(n),e=function(){return o},r=function(t){return t(n)},o={fold:function(t,e){return e(n)},is:function(t){return n===t},isSome:ot,isNone:rt,getOr:t,getOrThunk:t,getOrDie:t,getOrNull:t,getOrUndefined:t,or:e,orThunk:e,map:function(t){return ut(t(n))},each:function(t){t(n)},bind:r,exists:r,forall:r,filter:function(t){return t(n)?o:at},toArray:function(){return[n]},toString:function(){return"some("+n+")"},equals:function(t){return t.is(n)},equals_:function(t,e){return t.fold(rt,function(t){return e(n,t)})}};return o},st={some:ut,none:it,from:function(t){return null===t||t===undefined?at:ut(t)}},ct=(H="function",function(t){return function(t){if(null===t)return"null";var e=typeof t;return"object"===e&&(Array.prototype.isPrototypeOf(t)||t.constructor&&"Array"===t.constructor.name)?"array":"object"===e&&(String.prototype.isPrototypeOf(t)||t.constructor&&"String"===t.constructor.name)?"string":e}(t)===H}),lt=Array.prototype.slice,ft=function(t,e){for(var n=t.length,r=new Array(n),o=0;o=a.length&&r(o)}))})})},Pt=function(t,e){return n=ft(t,e),_t(n,xt);var n},Tt=function(t,e,n){var r=n||w(e),o=G(t,f(e),r);!1===o.cancelled&&tt(t,o.content)},Dt=function(t,e){e=t.dom.encode(e).replace(/\r\n/g,"\n"),e=C(e,t.settings.forced_root_block,t.settings.forced_root_block_attrs),Tt(t,e,!1)},Ct=function(t){var e={};if(t){if(t.getData){var n=t.getData("Text");n&&0',!1)}else Tt(t,'',!1)}(e,t)})}),!0}return!1},It=function(t){return o.metaKeyPressed(t)&&86===t.keyCode||t.shiftKey&&45===t.keyCode},Ot=function(s,c,l){var e,f,d=(e=p(st.none()),{clear:function(){e.set(st.none())},set:function(t){e.set(st.some(t))},isSet:function(){return e.get().isSome()},on:function(t){e.get().each(t)}});function m(t,e,n,r){var o,i;kt(t,"text/html")?o=t["text/html"]:(o=c.getHtml(),r=r||w(o),c.isDefaultContent(o)&&(n=!0)),o=O.trimHtml(o),c.remove(),i=!1===r&&D(o),o.length&&!i||(n=!0),n&&(o=kt(t,"text/plain")&&i?t["text/plain"]:O.innerText(o)),c.isDefaultContent(o)?e||s.windowManager.alert("Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents."):n?Dt(s,o):Tt(s,o,r)}s.on("keydown",function(t){function e(t){It(t)&&!t.isDefaultPrevented()&&c.remove()}if(It(t)&&!t.isDefaultPrevented()){if((f=t.shiftKey&&86===t.keyCode)&&h.webkit&&-1!==v.navigator.userAgent.indexOf("Version/"))return;if(t.stopImmediatePropagation(),d.set(t),window.setTimeout(function(){d.clear()},100),h.ie&&f)return t.preventDefault(),void n(s,!0);c.remove(),c.create(),s.once("keyup",e),s.once("paste",function(){s.off("keyup",e)})}}),s.on("paste",function(t){var e,n,r,o=d.isSet(),i=(e=s,n=Ct(t.clipboardData||e.getDoc().dataTransfer),O.isMsEdge()?b.extend(n,{"text/html":""}):n),a="text"===l.get()||f,u=kt(i,x());f=!1,t.isDefaultPrevented()||(r=t.clipboardData,-1!==v.navigator.userAgent.indexOf("Android")&&r&&r.items&&0===r.items.length)?c.remove():Ft(i)||!Rt(s,t,c.getLastRng()||s.selection.getRng())?(o||t.preventDefault(),!h.ie||o&&!t.ieFake||kt(i,"text/html")||(c.create(),s.dom.bind(c.getEl(),"paste",function(t){t.stopPropagation()}),s.getDoc().execCommand("Paste",!1,null),i["text/html"]=c.getHtml()),kt(i,"text/html")?(t.preventDefault(),u||(u=w(i["text/html"])),m(i,o,a,u)):y.setEditorTimeout(s,function(){m(i,o,a,u)},0)):c.remove()})},St=function(t){return h.ie&&t.inline?v.document.body:t.getBody()},At=function(e,t,n){var r;St(r=e)!==r.getBody()&&e.dom.bind(t,"paste keyup",function(t){Lt(e,n)||e.fire("paste")})},jt=function(t){return t.dom.get("mcepastebin")},Mt=function(t,e){return e===t},Lt=function(t,e){var n,r=jt(t);return(n=r)&&"mcepastebin"===n.id&&Mt(e,r.innerHTML)},Nt=function(a){var u=p(null),s="%MCEPASTEBIN%";return{create:function(){return e=u,n=s,o=(t=a).dom,i=t.getBody(),e.set(t.selection.getRng()),r=t.dom.add(St(t),"div",{id:"mcepastebin","class":"mce-pastebin",contentEditable:!0,"data-mce-bogus":"all",style:"position: fixed; top: 50%; width: 10px; height: 10px; overflow: hidden; opacity: 0"},n),(h.ie||h.gecko)&&o.setStyle(r,"left","rtl"===o.getStyle(i,"direction",!0)?65535:-65535),o.bind(r,"beforedeactivate focusin focusout",function(t){t.stopPropagation()}),At(t,r,n),r.focus(),void t.selection.select(r,!0);var t,e,n,r,o,i},remove:function(){return function(t,e){if(jt(t)){for(var n=void 0,r=e.get();n=t.dom.get("mcepastebin");)t.dom.remove(n),t.dom.unbind(n);r&&t.selection.setRng(r)}e.set(null)}(a,u)},getEl:function(){return jt(a)},getHtml:function(){return function(n){var e,t,r,o,i,a=function(t,e){t.appendChild(e),n.dom.remove(e,!0)};for(t=b.grep(St(n).childNodes,function(t){return"mcepastebin"===t.id}),e=t.shift(),b.each(t,function(t){a(e,t)}),r=(o=n.dom.select("div[id=mcepastebin]",e)).length-1;0<=r;r--)i=n.dom.create("div"),e.insertBefore(i,o[r]),a(i,o[r]);return e?e.innerHTML:""}(a)},getLastRng:function(){return u.get()},isDefault:function(){return Lt(a,s)},isDefaultContent:function(t){return Mt(s,t)}}},Bt=function(n,t){var e=Nt(n);return n.on("preInit",function(){return Ot(a=n,e,t),void a.parser.addNodeFilter("img",function(t,e,n){var r,o=function(t){t.attr("data-mce-object")||u===h.transparentSrc||t.remove()};if(!a.settings.paste_data_images&&(r=n).data&&!0===r.data.paste)for(var i=t.length;i--;)(u=t[i].attributes.map.src)&&(0===u.indexOf("webkit-fake-url")?o(t[i]):a.settings.allow_html_data_urls||0!==u.indexOf("data:")||o(t[i]))});var a,u}),{pasteFormat:t,pasteHtml:function(t,e){return Tt(n,t,e)},pasteText:function(t){return Dt(n,t)},pasteImageData:function(t,e){return Rt(n,t,e)},getDataTransferItems:Ct,hasHtmlOrText:Ft,hasContentType:kt}},Ht=function(){},$t=function(t,e,n){if(r=t,!1!==h.iOS||r===undefined||"function"!=typeof r.setData||!0===O.isMsEdge())return!1;try{return t.clearData(),t.setData("text/html",e),t.setData("text/plain",n),t.setData(x(),e),!0}catch(o){return!1}var r},Wt=function(t,e,n,r){$t(t.clipboardData,e.html,e.text)?(t.preventDefault(),r()):n(e.html,r)},Ut=function(u){return function(t,e){var n=l(t),r=u.dom.create("div",{contenteditable:"false","data-mce-bogus":"all"}),o=u.dom.create("div",{contenteditable:"true"},n);u.dom.setStyles(r,{position:"fixed",top:"0",left:"-3000px",width:"1000px",overflow:"hidden"}),r.appendChild(o),u.dom.add(u.getBody(),r);var i=u.selection.getRng();o.focus();var a=u.dom.createRng();a.selectNodeContents(o),u.selection.setRng(a),setTimeout(function(){u.selection.setRng(i),r.parentNode.removeChild(r),e()},0)}},zt=function(t){return{html:t.selection.getContent({contextual:!0}),text:t.selection.getContent({format:"text"})}},Vt=function(t){return!t.selection.isCollapsed()||!!(e=t).dom.getParent(e.selection.getStart(),"td[data-mce-selected],th[data-mce-selected]",e.getBody());var e},Kt=function(t){var e,n;t.on("cut",(e=t,function(t){Vt(e)&&Wt(t,zt(e),Ut(e),function(){setTimeout(function(){e.execCommand("Delete")},0)})})),t.on("copy",(n=t,function(t){Vt(n)&&Wt(t,zt(n),Ut(n),Ht)}))},qt=tinymce.util.Tools.resolve("tinymce.dom.RangeUtils"),Gt=function(t,e){return qt.getCaretRangeFromPoint(e.clientX,e.clientY,t.getDoc())},Xt=function(t,e){t.focus(),t.selection.setRng(e)},Yt=function(a,u,s){g.shouldBlockDrop(a)&&a.on("dragend dragover draggesture dragdrop drop drag",function(t){t.preventDefault(),t.stopPropagation()}),g.shouldPasteDataImages(a)||a.on("drop",function(t){var e=t.dataTransfer;e&&e.files&&0 [\\s\\r\\n]+|
    )*(<\\/?("+n.join("|")+")[^>]*>)(?:
     [\\s\\r\\n]+|
    )*","g");return e=O.filter(e,[[r,"$1"]]),e=O.filter(e,[[/

    /g,"

    "],[/
    /g," "],[/

    /g,"
    "]])}function te(t,e,n,r){if(r||n)return e;var c,o=g.getWebkitStyles(t);if(!1===g.shouldRemoveWebKitStyles(t)||"all"===o)return e;if(o&&(c=o.split(/[, ]/)),c){var l=t.dom,f=t.selection.getNode();e=e.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi,function(t,e,n,r){var o=l.parseStyle(l.decode(n)),i={};if("none"===c)return e+r;for(var a=0;a]+) style="([^"]*)"([^>]*>)/gi,"$1$3");return e=e.replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi,function(t,e,n,r){return e+' style="'+n+'"'+r})}function ee(n,t){n.$("a",t).find("font,u").each(function(t,e){n.dom.remove(e,!0)})}var ne=function(t){var e,n;h.webkit&&Jt(t,te),h.ie&&(Jt(t,Qt),n=ee,(e=t).on("PastePostProcess",function(t){n(e,t.node)}))},re=function(t,e,n){var r=n.control;r.active("text"===e.pasteFormat.get()),t.on("PastePlainTextToggle",function(t){r.active(t.state)})},oe=function(t,e){var n=function(r){for(var o=[],t=1;t' + '
    ' + chrText + '
    ' + ''; } else { gridHtml += '
    '; } gridHtml += '
    '; } } gridHtml += '
    '; return gridHtml; }; var GridHtml = { getHtml: getHtml }; var getParentTd = function (elm) { while (elm) { if (elm.nodeName === 'TD') { return elm; } elm = elm.parentNode; } }; var open = function (editor) { var win; var charMapPanel = { type: 'container', html: GridHtml.getHtml(CharMap.getCharMap(editor)), onclick: function (e) { var target = e.target; if (/^(TD|DIV)$/.test(target.nodeName)) { var charDiv = getParentTd(target).firstChild; if (charDiv && charDiv.hasAttribute('data-chr')) { var charCodeString = charDiv.getAttribute('data-chr'); var charCode = parseInt(charCodeString, 10); if (!isNaN(charCode)) { Actions.insertChar(editor, String.fromCharCode(charCode)); } if (!e.ctrlKey) { win.close(); } } } }, onmouseover: function (e) { var td = getParentTd(e.target); if (td && td.firstChild) { win.find('#preview').text(td.firstChild.firstChild.data); win.find('#previewTitle').text(td.title); } else { win.find('#preview').text(' '); win.find('#previewTitle').text(' '); } } }; win = editor.windowManager.open({ title: 'Special character', spacing: 10, padding: 10, items: [ charMapPanel, { type: 'container', layout: 'flex', direction: 'column', align: 'center', spacing: 5, minWidth: 160, minHeight: 160, items: [ { type: 'label', name: 'preview', text: ' ', style: 'font-size: 40px; text-align: center', border: 1, minWidth: 140, minHeight: 80 }, { type: 'spacer', minHeight: 20 }, { type: 'label', name: 'previewTitle', text: ' ', style: 'white-space: pre-wrap;', border: 1, minWidth: 140 } ] } ], buttons: [{ text: 'Close', onclick: function () { win.close(); } }] }); }; var Dialog = { open: open }; var register = function (editor) { editor.addCommand('mceShowCharmap', function () { Dialog.open(editor); }); }; var Commands = { register: register }; var register$1 = function (editor) { editor.addButton('charmap', { icon: 'charmap', tooltip: 'Special character', cmd: 'mceShowCharmap' }); editor.addMenuItem('charmap', { icon: 'charmap', text: 'Special character', cmd: 'mceShowCharmap', context: 'insert' }); }; var Buttons = { register: register$1 }; global.add('charmap', function (editor) { Commands.register(editor); Buttons.register(editor); return Api.get(editor); }); function Plugin () { } return Plugin; }()); })(); PK!=#!!%tinymce/plugins/charmap/plugin.min.jsnu[!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),i=function(e,t){return e.fire("insertCustomChar",{chr:t})},l=function(e,t){var a=i(e,t).chr;e.execCommand("mceInsertContent",!1,a)},a=tinymce.util.Tools.resolve("tinymce.util.Tools"),r=function(e){return e.settings.charmap},n=function(e){return e.settings.charmap_append},o=a.isArray,c=function(e){return o(e)?[].concat((t=e,a.grep(t,function(e){return o(e)&&2===e.length}))):"function"==typeof e?e():[];var t},s=function(e){return function(e,t){var a=r(e);a&&(t=c(a));var i=n(e);return i?[].concat(t).concat(c(i)):t}(e,[["160","no-break space"],["173","soft hyphen"],["34","quotation mark"],["162","cent sign"],["8364","euro sign"],["163","pound sign"],["165","yen sign"],["169","copyright sign"],["174","registered sign"],["8482","trade mark sign"],["8240","per mille sign"],["181","micro sign"],["183","middle dot"],["8226","bullet"],["8230","three dot leader"],["8242","minutes / feet"],["8243","seconds / inches"],["167","section sign"],["182","paragraph sign"],["223","sharp s / ess-zed"],["8249","single left-pointing angle quotation mark"],["8250","single right-pointing angle quotation mark"],["171","left pointing guillemet"],["187","right pointing guillemet"],["8216","left single quotation mark"],["8217","right single quotation mark"],["8220","left double quotation mark"],["8221","right double quotation mark"],["8218","single low-9 quotation mark"],["8222","double low-9 quotation mark"],["60","less-than sign"],["62","greater-than sign"],["8804","less-than or equal to"],["8805","greater-than or equal to"],["8211","en dash"],["8212","em dash"],["175","macron"],["8254","overline"],["164","currency sign"],["166","broken bar"],["168","diaeresis"],["161","inverted exclamation mark"],["191","turned question mark"],["710","circumflex accent"],["732","small tilde"],["176","degree sign"],["8722","minus sign"],["177","plus-minus sign"],["247","division sign"],["8260","fraction slash"],["215","multiplication sign"],["185","superscript one"],["178","superscript two"],["179","superscript three"],["188","fraction one quarter"],["189","fraction one half"],["190","fraction three quarters"],["402","function / florin"],["8747","integral"],["8721","n-ary sumation"],["8734","infinity"],["8730","square root"],["8764","similar to"],["8773","approximately equal to"],["8776","almost equal to"],["8800","not equal to"],["8801","identical to"],["8712","element of"],["8713","not an element of"],["8715","contains as member"],["8719","n-ary product"],["8743","logical and"],["8744","logical or"],["172","not sign"],["8745","intersection"],["8746","union"],["8706","partial differential"],["8704","for all"],["8707","there exists"],["8709","diameter"],["8711","backward difference"],["8727","asterisk operator"],["8733","proportional to"],["8736","angle"],["180","acute accent"],["184","cedilla"],["170","feminine ordinal indicator"],["186","masculine ordinal indicator"],["8224","dagger"],["8225","double dagger"],["192","A - grave"],["193","A - acute"],["194","A - circumflex"],["195","A - tilde"],["196","A - diaeresis"],["197","A - ring above"],["256","A - macron"],["198","ligature AE"],["199","C - cedilla"],["200","E - grave"],["201","E - acute"],["202","E - circumflex"],["203","E - diaeresis"],["274","E - macron"],["204","I - grave"],["205","I - acute"],["206","I - circumflex"],["207","I - diaeresis"],["298","I - macron"],["208","ETH"],["209","N - tilde"],["210","O - grave"],["211","O - acute"],["212","O - circumflex"],["213","O - tilde"],["214","O - diaeresis"],["216","O - slash"],["332","O - macron"],["338","ligature OE"],["352","S - caron"],["217","U - grave"],["218","U - acute"],["219","U - circumflex"],["220","U - diaeresis"],["362","U - macron"],["221","Y - acute"],["376","Y - diaeresis"],["562","Y - macron"],["222","THORN"],["224","a - grave"],["225","a - acute"],["226","a - circumflex"],["227","a - tilde"],["228","a - diaeresis"],["229","a - ring above"],["257","a - macron"],["230","ligature ae"],["231","c - cedilla"],["232","e - grave"],["233","e - acute"],["234","e - circumflex"],["235","e - diaeresis"],["275","e - macron"],["236","i - grave"],["237","i - acute"],["238","i - circumflex"],["239","i - diaeresis"],["299","i - macron"],["240","eth"],["241","n - tilde"],["242","o - grave"],["243","o - acute"],["244","o - circumflex"],["245","o - tilde"],["246","o - diaeresis"],["248","o slash"],["333","o macron"],["339","ligature oe"],["353","s - caron"],["249","u - grave"],["250","u - acute"],["251","u - circumflex"],["252","u - diaeresis"],["363","u - macron"],["253","y - acute"],["254","thorn"],["255","y - diaeresis"],["563","y - macron"],["913","Alpha"],["914","Beta"],["915","Gamma"],["916","Delta"],["917","Epsilon"],["918","Zeta"],["919","Eta"],["920","Theta"],["921","Iota"],["922","Kappa"],["923","Lambda"],["924","Mu"],["925","Nu"],["926","Xi"],["927","Omicron"],["928","Pi"],["929","Rho"],["931","Sigma"],["932","Tau"],["933","Upsilon"],["934","Phi"],["935","Chi"],["936","Psi"],["937","Omega"],["945","alpha"],["946","beta"],["947","gamma"],["948","delta"],["949","epsilon"],["950","zeta"],["951","eta"],["952","theta"],["953","iota"],["954","kappa"],["955","lambda"],["956","mu"],["957","nu"],["958","xi"],["959","omicron"],["960","pi"],["961","rho"],["962","final sigma"],["963","sigma"],["964","tau"],["965","upsilon"],["966","phi"],["967","chi"],["968","psi"],["969","omega"],["8501","alef symbol"],["982","pi symbol"],["8476","real part symbol"],["978","upsilon - hook symbol"],["8472","Weierstrass p"],["8465","imaginary part"],["8592","leftwards arrow"],["8593","upwards arrow"],["8594","rightwards arrow"],["8595","downwards arrow"],["8596","left right arrow"],["8629","carriage return"],["8656","leftwards double arrow"],["8657","upwards double arrow"],["8658","rightwards double arrow"],["8659","downwards double arrow"],["8660","left right double arrow"],["8756","therefore"],["8834","subset of"],["8835","superset of"],["8836","not a subset of"],["8838","subset of or equal to"],["8839","superset of or equal to"],["8853","circled plus"],["8855","circled times"],["8869","perpendicular"],["8901","dot operator"],["8968","left ceiling"],["8969","right ceiling"],["8970","left floor"],["8971","right floor"],["9001","left-pointing angle bracket"],["9002","right-pointing angle bracket"],["9674","lozenge"],["9824","black spade suit"],["9827","black club suit"],["9829","black heart suit"],["9830","black diamond suit"],["8194","en space"],["8195","em space"],["8201","thin space"],["8204","zero width non-joiner"],["8205","zero width joiner"],["8206","left-to-right mark"],["8207","right-to-left mark"]])},t=function(t){return{getCharMap:function(){return s(t)},insertChar:function(e){l(t,e)}}},u=function(e){var t,a,i,r=Math.min(e.length,25),n=Math.ceil(e.length/r);for(t='',i=0;i",a=0;a
    '+s+"
    "}else t+="
    "}return t+=""},d=function(e){for(;e;){if("TD"===e.nodeName)return e;e=e.parentNode}},m=function(n){var o,e={type:"container",html:u(s(n)),onclick:function(e){var t=e.target;if(/^(TD|DIV)$/.test(t.nodeName)){var a=d(t).firstChild;if(a&&a.hasAttribute("data-chr")){var i=a.getAttribute("data-chr"),r=parseInt(i,10);isNaN(r)||l(n,String.fromCharCode(r)),e.ctrlKey||o.close()}}},onmouseover:function(e){var t=d(e.target);t&&t.firstChild?(o.find("#preview").text(t.firstChild.firstChild.data),o.find("#previewTitle").text(t.title)):(o.find("#preview").text(" "),o.find("#previewTitle").text(" "))}};o=n.windowManager.open({title:"Special character",spacing:10,padding:10,items:[e,{type:"container",layout:"flex",direction:"column",align:"center",spacing:5,minWidth:160,minHeight:160,items:[{type:"label",name:"preview",text:" ",style:"font-size: 40px; text-align: center",border:1,minWidth:140,minHeight:80},{type:"spacer",minHeight:20},{type:"label",name:"previewTitle",text:" ",style:"white-space: pre-wrap;",border:1,minWidth:140}]}],buttons:[{text:"Close",onclick:function(){o.close()}}]})},g=function(e){e.addCommand("mceShowCharmap",function(){m(e)})},p=function(e){e.addButton("charmap",{icon:"charmap",tooltip:"Special character",cmd:"mceShowCharmap"}),e.addMenuItem("charmap",{icon:"charmap",text:"Special character",cmd:"mceShowCharmap",context:"insert"})};e.add("charmap",function(e){return g(e),p(e),t(e)})}();PK!O]]tinymce/plugins/link/plugin.jsnu[(function () { var link = (function (domGlobals) { 'use strict'; var global = tinymce.util.Tools.resolve('tinymce.PluginManager'); var global$1 = tinymce.util.Tools.resolve('tinymce.util.VK'); var assumeExternalTargets = function (editorSettings) { return typeof editorSettings.link_assume_external_targets === 'boolean' ? editorSettings.link_assume_external_targets : false; }; var hasContextToolbar = function (editorSettings) { return typeof editorSettings.link_context_toolbar === 'boolean' ? editorSettings.link_context_toolbar : false; }; var getLinkList = function (editorSettings) { return editorSettings.link_list; }; var hasDefaultLinkTarget = function (editorSettings) { return typeof editorSettings.default_link_target === 'string'; }; var getDefaultLinkTarget = function (editorSettings) { return editorSettings.default_link_target; }; var getTargetList = function (editorSettings) { return editorSettings.target_list; }; var setTargetList = function (editor, list) { editor.settings.target_list = list; }; var shouldShowTargetList = function (editorSettings) { return getTargetList(editorSettings) !== false; }; var getRelList = function (editorSettings) { return editorSettings.rel_list; }; var hasRelList = function (editorSettings) { return getRelList(editorSettings) !== undefined; }; var getLinkClassList = function (editorSettings) { return editorSettings.link_class_list; }; var hasLinkClassList = function (editorSettings) { return getLinkClassList(editorSettings) !== undefined; }; var shouldShowLinkTitle = function (editorSettings) { return editorSettings.link_title !== false; }; var allowUnsafeLinkTarget = function (editorSettings) { return typeof editorSettings.allow_unsafe_link_target === 'boolean' ? editorSettings.allow_unsafe_link_target : false; }; var Settings = { assumeExternalTargets: assumeExternalTargets, hasContextToolbar: hasContextToolbar, getLinkList: getLinkList, hasDefaultLinkTarget: hasDefaultLinkTarget, getDefaultLinkTarget: getDefaultLinkTarget, getTargetList: getTargetList, setTargetList: setTargetList, shouldShowTargetList: shouldShowTargetList, getRelList: getRelList, hasRelList: hasRelList, getLinkClassList: getLinkClassList, hasLinkClassList: hasLinkClassList, shouldShowLinkTitle: shouldShowLinkTitle, allowUnsafeLinkTarget: allowUnsafeLinkTarget }; var global$2 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils'); var global$3 = tinymce.util.Tools.resolve('tinymce.Env'); var appendClickRemove = function (link, evt) { domGlobals.document.body.appendChild(link); link.dispatchEvent(evt); domGlobals.document.body.removeChild(link); }; var open = function (url) { if (!global$3.ie || global$3.ie > 10) { var link = domGlobals.document.createElement('a'); link.target = '_blank'; link.href = url; link.rel = 'noreferrer noopener'; var evt = domGlobals.document.createEvent('MouseEvents'); evt.initMouseEvent('click', true, true, domGlobals.window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); appendClickRemove(link, evt); } else { var win = domGlobals.window.open('', '_blank'); if (win) { win.opener = null; var doc = win.document; doc.open(); doc.write(''); doc.close(); } } }; var OpenUrl = { open: open }; var global$4 = tinymce.util.Tools.resolve('tinymce.util.Tools'); var toggleTargetRules = function (rel, isUnsafe) { var rules = ['noopener']; var newRel = rel ? rel.split(/\s+/) : []; var toString = function (rel) { return global$4.trim(rel.sort().join(' ')); }; var addTargetRules = function (rel) { rel = removeTargetRules(rel); return rel.length ? rel.concat(rules) : rules; }; var removeTargetRules = function (rel) { return rel.filter(function (val) { return global$4.inArray(rules, val) === -1; }); }; newRel = isUnsafe ? addTargetRules(newRel) : removeTargetRules(newRel); return newRel.length ? toString(newRel) : null; }; var trimCaretContainers = function (text) { return text.replace(/\uFEFF/g, ''); }; var getAnchorElement = function (editor, selectedElm) { selectedElm = selectedElm || editor.selection.getNode(); if (isImageFigure(selectedElm)) { return editor.dom.select('a[href]', selectedElm)[0]; } else { return editor.dom.getParent(selectedElm, 'a[href]'); } }; var getAnchorText = function (selection, anchorElm) { var text = anchorElm ? anchorElm.innerText || anchorElm.textContent : selection.getContent({ format: 'text' }); return trimCaretContainers(text); }; var isLink = function (elm) { return elm && elm.nodeName === 'A' && elm.href; }; var hasLinks = function (elements) { return global$4.grep(elements, isLink).length > 0; }; var isOnlyTextSelected = function (html) { if (/]+>[^<]+<\/a>$/.test(html) || html.indexOf('href=') === -1)) { return false; } return true; }; var isImageFigure = function (node) { return node && node.nodeName === 'FIGURE' && /\bimage\b/i.test(node.className); }; var link = function (editor, attachState) { return function (data) { editor.undoManager.transact(function () { var selectedElm = editor.selection.getNode(); var anchorElm = getAnchorElement(editor, selectedElm); var linkAttrs = { href: data.href, target: data.target ? data.target : null, rel: data.rel ? data.rel : null, class: data.class ? data.class : null, title: data.title ? data.title : null }; if (!Settings.hasRelList(editor.settings) && Settings.allowUnsafeLinkTarget(editor.settings) === false) { linkAttrs.rel = toggleTargetRules(linkAttrs.rel, linkAttrs.target === '_blank'); } if (data.href === attachState.href) { attachState.attach(); attachState = {}; } if (anchorElm) { editor.focus(); if (data.hasOwnProperty('text')) { if ('innerText' in anchorElm) { anchorElm.innerText = data.text; } else { anchorElm.textContent = data.text; } } editor.dom.setAttribs(anchorElm, linkAttrs); editor.selection.select(anchorElm); editor.undoManager.add(); } else { if (isImageFigure(selectedElm)) { linkImageFigure(editor, selectedElm, linkAttrs); } else if (data.hasOwnProperty('text')) { editor.insertContent(editor.dom.createHTML('a', linkAttrs, editor.dom.encode(data.text))); } else { editor.execCommand('mceInsertLink', false, linkAttrs); } } }); }; }; var unlink = function (editor) { return function () { editor.undoManager.transact(function () { var node = editor.selection.getNode(); if (isImageFigure(node)) { unlinkImageFigure(editor, node); } else { editor.execCommand('unlink'); } }); }; }; var unlinkImageFigure = function (editor, fig) { var a, img; img = editor.dom.select('img', fig)[0]; if (img) { a = editor.dom.getParents(img, 'a[href]', fig)[0]; if (a) { a.parentNode.insertBefore(img, a); editor.dom.remove(a); } } }; var linkImageFigure = function (editor, fig, attrs) { var a, img; img = editor.dom.select('img', fig)[0]; if (img) { a = editor.dom.create('a', attrs); img.parentNode.insertBefore(a, img); a.appendChild(img); } }; var Utils = { link: link, unlink: unlink, isLink: isLink, hasLinks: hasLinks, isOnlyTextSelected: isOnlyTextSelected, getAnchorElement: getAnchorElement, getAnchorText: getAnchorText, toggleTargetRules: toggleTargetRules }; var global$5 = tinymce.util.Tools.resolve('tinymce.util.Delay'); var global$6 = tinymce.util.Tools.resolve('tinymce.util.XHR'); var attachState = {}; var createLinkList = function (editor, callback) { var linkList = Settings.getLinkList(editor.settings); if (typeof linkList === 'string') { global$6.send({ url: linkList, success: function (text) { callback(editor, JSON.parse(text)); } }); } else if (typeof linkList === 'function') { linkList(function (list) { callback(editor, list); }); } else { callback(editor, linkList); } }; var buildListItems = function (inputList, itemCallback, startItems) { var appendItems = function (values, output) { output = output || []; global$4.each(values, function (item) { var menuItem = { text: item.text || item.title }; if (item.menu) { menuItem.menu = appendItems(item.menu); } else { menuItem.value = item.value; if (itemCallback) { itemCallback(menuItem); } } output.push(menuItem); }); return output; }; return appendItems(inputList, startItems || []); }; var delayedConfirm = function (editor, message, callback) { var rng = editor.selection.getRng(); global$5.setEditorTimeout(editor, function () { editor.windowManager.confirm(message, function (state) { editor.selection.setRng(rng); callback(state); }); }); }; var showDialog = function (editor, linkList) { var data = {}; var selection = editor.selection; var dom = editor.dom; var anchorElm, initialText; var win, onlyText, textListCtrl, linkListCtrl, relListCtrl, targetListCtrl, classListCtrl, linkTitleCtrl, value; var linkListChangeHandler = function (e) { var textCtrl = win.find('#text'); if (!textCtrl.value() || e.lastControl && textCtrl.value() === e.lastControl.text()) { textCtrl.value(e.control.text()); } win.find('#href').value(e.control.value()); }; var buildAnchorListControl = function (url) { var anchorList = []; global$4.each(editor.dom.select('a:not([href])'), function (anchor) { var id = anchor.name || anchor.id; if (id) { anchorList.push({ text: id, value: '#' + id, selected: url.indexOf('#' + id) !== -1 }); } }); if (anchorList.length) { anchorList.unshift({ text: 'None', value: '' }); return { name: 'anchor', type: 'listbox', label: 'Anchors', values: anchorList, onselect: linkListChangeHandler }; } }; var updateText = function () { if (!initialText && onlyText && !data.text) { this.parent().parent().find('#text')[0].value(this.value()); } }; var urlChange = function (e) { var meta = e.meta || {}; if (linkListCtrl) { linkListCtrl.value(editor.convertURL(this.value(), 'href')); } global$4.each(e.meta, function (value, key) { var inp = win.find('#' + key); if (key === 'text') { if (initialText.length === 0) { inp.value(value); data.text = value; } } else { inp.value(value); } }); if (meta.attach) { attachState = { href: this.value(), attach: meta.attach }; } if (!meta.text) { updateText.call(this); } }; var onBeforeCall = function (e) { e.meta = win.toJSON(); }; onlyText = Utils.isOnlyTextSelected(selection.getContent()); anchorElm = Utils.getAnchorElement(editor); data.text = initialText = Utils.getAnchorText(editor.selection, anchorElm); data.href = anchorElm ? dom.getAttrib(anchorElm, 'href') : ''; if (anchorElm) { data.target = dom.getAttrib(anchorElm, 'target'); } else if (Settings.hasDefaultLinkTarget(editor.settings)) { data.target = Settings.getDefaultLinkTarget(editor.settings); } if (value = dom.getAttrib(anchorElm, 'rel')) { data.rel = value; } if (value = dom.getAttrib(anchorElm, 'class')) { data.class = value; } if (value = dom.getAttrib(anchorElm, 'title')) { data.title = value; } if (onlyText) { textListCtrl = { name: 'text', type: 'textbox', size: 40, label: 'Text to display', onchange: function () { data.text = this.value(); } }; } if (linkList) { linkListCtrl = { type: 'listbox', label: 'Link list', values: buildListItems(linkList, function (item) { item.value = editor.convertURL(item.value || item.url, 'href'); }, [{ text: 'None', value: '' }]), onselect: linkListChangeHandler, value: editor.convertURL(data.href, 'href'), onPostRender: function () { linkListCtrl = this; } }; } if (Settings.shouldShowTargetList(editor.settings)) { if (Settings.getTargetList(editor.settings) === undefined) { Settings.setTargetList(editor, [ { text: 'None', value: '' }, { text: 'New window', value: '_blank' } ]); } targetListCtrl = { name: 'target', type: 'listbox', label: 'Target', values: buildListItems(Settings.getTargetList(editor.settings)) }; } if (Settings.hasRelList(editor.settings)) { relListCtrl = { name: 'rel', type: 'listbox', label: 'Rel', values: buildListItems(Settings.getRelList(editor.settings), function (item) { if (Settings.allowUnsafeLinkTarget(editor.settings) === false) { item.value = Utils.toggleTargetRules(item.value, data.target === '_blank'); } }) }; } if (Settings.hasLinkClassList(editor.settings)) { classListCtrl = { name: 'class', type: 'listbox', label: 'Class', values: buildListItems(Settings.getLinkClassList(editor.settings), function (item) { if (item.value) { item.textStyle = function () { return editor.formatter.getCssText({ inline: 'a', classes: [item.value] }); }; } }) }; } if (Settings.shouldShowLinkTitle(editor.settings)) { linkTitleCtrl = { name: 'title', type: 'textbox', label: 'Title', value: data.title }; } win = editor.windowManager.open({ title: 'Insert link', data: data, body: [ { name: 'href', type: 'filepicker', filetype: 'file', size: 40, autofocus: true, label: 'Url', onchange: urlChange, onkeyup: updateText, onpaste: updateText, onbeforecall: onBeforeCall }, textListCtrl, linkTitleCtrl, buildAnchorListControl(data.href), linkListCtrl, relListCtrl, targetListCtrl, classListCtrl ], onSubmit: function (e) { var assumeExternalTargets = Settings.assumeExternalTargets(editor.settings); var insertLink = Utils.link(editor, attachState); var removeLink = Utils.unlink(editor); var resultData = global$4.extend({}, data, e.data); var href = resultData.href; if (!href) { removeLink(); return; } if (!onlyText || resultData.text === initialText) { delete resultData.text; } if (href.indexOf('@') > 0 && href.indexOf('//') === -1 && href.indexOf('mailto:') === -1) { delayedConfirm(editor, 'The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?', function (state) { if (state) { resultData.href = 'mailto:' + href; } insertLink(resultData); }); return; } if (assumeExternalTargets === true && !/^\w+:/i.test(href) || assumeExternalTargets === false && /^\s*www[\.|\d\.]/i.test(href)) { delayedConfirm(editor, 'The URL you entered seems to be an external link. Do you want to add the required http:// prefix?', function (state) { if (state) { resultData.href = 'http://' + href; } insertLink(resultData); }); return; } insertLink(resultData); } }); }; var open$1 = function (editor) { createLinkList(editor, showDialog); }; var Dialog = { open: open$1 }; var getLink = function (editor, elm) { return editor.dom.getParent(elm, 'a[href]'); }; var getSelectedLink = function (editor) { return getLink(editor, editor.selection.getStart()); }; var getHref = function (elm) { var href = elm.getAttribute('data-mce-href'); return href ? href : elm.getAttribute('href'); }; var isContextMenuVisible = function (editor) { var contextmenu = editor.plugins.contextmenu; return contextmenu ? contextmenu.isContextMenuVisible() : false; }; var hasOnlyAltModifier = function (e) { return e.altKey === true && e.shiftKey === false && e.ctrlKey === false && e.metaKey === false; }; var gotoLink = function (editor, a) { if (a) { var href = getHref(a); if (/^#/.test(href)) { var targetEl = editor.$(href); if (targetEl.length) { editor.selection.scrollIntoView(targetEl[0], true); } } else { OpenUrl.open(a.href); } } }; var openDialog = function (editor) { return function () { Dialog.open(editor); }; }; var gotoSelectedLink = function (editor) { return function () { gotoLink(editor, getSelectedLink(editor)); }; }; var leftClickedOnAHref = function (editor) { return function (elm) { var sel, rng, node; if (Settings.hasContextToolbar(editor.settings) && !isContextMenuVisible(editor) && Utils.isLink(elm)) { sel = editor.selection; rng = sel.getRng(); node = rng.startContainer; if (node.nodeType === 3 && sel.isCollapsed() && rng.startOffset > 0 && rng.startOffset < node.data.length) { return true; } } return false; }; }; var setupGotoLinks = function (editor) { editor.on('click', function (e) { var link = getLink(editor, e.target); if (link && global$1.metaKeyPressed(e)) { e.preventDefault(); gotoLink(editor, link); } }); editor.on('keydown', function (e) { var link = getSelectedLink(editor); if (link && e.keyCode === 13 && hasOnlyAltModifier(e)) { e.preventDefault(); gotoLink(editor, link); } }); }; var toggleActiveState = function (editor) { return function () { var self = this; editor.on('nodechange', function (e) { self.active(!editor.readonly && !!Utils.getAnchorElement(editor, e.element)); }); }; }; var toggleViewLinkState = function (editor) { return function () { var self = this; var toggleVisibility = function (e) { if (Utils.hasLinks(e.parents)) { self.show(); } else { self.hide(); } }; if (!Utils.hasLinks(editor.dom.getParents(editor.selection.getStart()))) { self.hide(); } editor.on('nodechange', toggleVisibility); self.on('remove', function () { editor.off('nodechange', toggleVisibility); }); }; }; var Actions = { openDialog: openDialog, gotoSelectedLink: gotoSelectedLink, leftClickedOnAHref: leftClickedOnAHref, setupGotoLinks: setupGotoLinks, toggleActiveState: toggleActiveState, toggleViewLinkState: toggleViewLinkState }; var register = function (editor) { editor.addCommand('mceLink', Actions.openDialog(editor)); }; var Commands = { register: register }; var setup = function (editor) { editor.addShortcut('Meta+K', '', Actions.openDialog(editor)); }; var Keyboard = { setup: setup }; var setupButtons = function (editor) { editor.addButton('link', { active: false, icon: 'link', tooltip: 'Insert/edit link', onclick: Actions.openDialog(editor), onpostrender: Actions.toggleActiveState(editor) }); editor.addButton('unlink', { active: false, icon: 'unlink', tooltip: 'Remove link', onclick: Utils.unlink(editor), onpostrender: Actions.toggleActiveState(editor) }); if (editor.addContextToolbar) { editor.addButton('openlink', { icon: 'newtab', tooltip: 'Open link', onclick: Actions.gotoSelectedLink(editor) }); } }; var setupMenuItems = function (editor) { editor.addMenuItem('openlink', { text: 'Open link', icon: 'newtab', onclick: Actions.gotoSelectedLink(editor), onPostRender: Actions.toggleViewLinkState(editor), prependToContext: true }); editor.addMenuItem('link', { icon: 'link', text: 'Link', shortcut: 'Meta+K', onclick: Actions.openDialog(editor), stateSelector: 'a[href]', context: 'insert', prependToContext: true }); editor.addMenuItem('unlink', { icon: 'unlink', text: 'Remove link', onclick: Utils.unlink(editor), stateSelector: 'a[href]' }); }; var setupContextToolbars = function (editor) { if (editor.addContextToolbar) { editor.addContextToolbar(Actions.leftClickedOnAHref(editor), 'openlink | link unlink'); } }; var Controls = { setupButtons: setupButtons, setupMenuItems: setupMenuItems, setupContextToolbars: setupContextToolbars }; global.add('link', function (editor) { Controls.setupButtons(editor); Controls.setupMenuItems(editor); Controls.setupContextToolbars(editor); Actions.setupGotoLinks(editor); Commands.register(editor); Keyboard.setup(editor); }); function Plugin () { } return Plugin; }(window)); })(); PK!VƺH"""tinymce/plugins/link/plugin.min.jsnu[!function(l){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=tinymce.util.Tools.resolve("tinymce.util.VK"),e=function(t){return t.target_list},o=function(t){return t.rel_list},i=function(t){return t.link_class_list},p=function(t){return"boolean"==typeof t.link_assume_external_targets&&t.link_assume_external_targets},a=function(t){return"boolean"==typeof t.link_context_toolbar&&t.link_context_toolbar},r=function(t){return t.link_list},k=function(t){return"string"==typeof t.default_link_target},y=function(t){return t.default_link_target},b=e,_=function(t,e){t.settings.target_list=e},w=function(t){return!1!==e(t)},T=o,C=function(t){return o(t)!==undefined},M=i,O=function(t){return i(t)!==undefined},R=function(t){return!1!==t.link_title},N=function(t){return"boolean"==typeof t.allow_unsafe_link_target&&t.allow_unsafe_link_target},u=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),c=tinymce.util.Tools.resolve("tinymce.Env"),s=function(t){if(!c.ie||10'),i.close()}}var r,a},A=tinymce.util.Tools.resolve("tinymce.util.Tools"),f=function(t,e){var n,o,i=["noopener"],r=t?t.split(/\s+/):[],a=function(t){return t.filter(function(t){return-1===A.inArray(i,t)})};return(r=e?(n=a(n=r)).length?n.concat(i):i:a(r)).length?(o=r,A.trim(o.sort().join(" "))):null},d=function(t,e){return e=e||t.selection.getNode(),v(e)?t.dom.select("a[href]",e)[0]:t.dom.getParent(e,"a[href]")},m=function(t){return t&&"A"===t.nodeName&&t.href},v=function(t){return t&&"FIGURE"===t.nodeName&&/\bimage\b/i.test(t.className)},g=function(t,e){var n,o;(o=t.dom.select("img",e)[0])&&(n=t.dom.getParents(o,"a[href]",e)[0])&&(n.parentNode.insertBefore(o,n),t.dom.remove(n))},h=function(t,e,n){var o,i;(i=t.dom.select("img",e)[0])&&(o=t.dom.create("a",n),i.parentNode.insertBefore(o,i),o.appendChild(i))},L=function(i,r){return function(o){i.undoManager.transact(function(){var t=i.selection.getNode(),e=d(i,t),n={href:o.href,target:o.target?o.target:null,rel:o.rel?o.rel:null,"class":o["class"]?o["class"]:null,title:o.title?o.title:null};C(i.settings)||!1!==N(i.settings)||(n.rel=f(n.rel,"_blank"===n.target)),o.href===r.href&&(r.attach(),r={}),e?(i.focus(),o.hasOwnProperty("text")&&("innerText"in e?e.innerText=o.text:e.textContent=o.text),i.dom.setAttribs(e,n),i.selection.select(e),i.undoManager.add()):v(t)?h(i,t,n):o.hasOwnProperty("text")?i.insertContent(i.dom.createHTML("a",n,i.dom.encode(o.text))):i.execCommand("mceInsertLink",!1,n)})}},P=function(e){return function(){e.undoManager.transact(function(){var t=e.selection.getNode();v(t)?g(e,t):e.execCommand("unlink")})}},x=m,E=function(t){return 0]+>[^<]+<\/a>$/.test(t)||-1===t.indexOf("href=")))},I=d,K=function(t,e){var n=e?e.innerText||e.textContent:t.getContent({format:"text"});return n.replace(/\uFEFF/g,"")},U=f,D=tinymce.util.Tools.resolve("tinymce.util.Delay"),B=tinymce.util.Tools.resolve("tinymce.util.XHR"),F={},q=function(t,o,e){var i=function(t,n){return n=n||[],A.each(t,function(t){var e={text:t.text||t.title};t.menu?e.menu=i(t.menu):(e.value=t.value,o&&o(e)),n.push(e)}),n};return i(t,e||[])},V=function(e,t,n){var o=e.selection.getRng();D.setEditorTimeout(e,function(){e.windowManager.confirm(t,function(t){e.selection.setRng(o),n(t)})})},z=function(a,t){var e,l,o,u,n,i,r,c,s,f,d,m={},v=a.selection,g=a.dom,h=function(t){var e=o.find("#text");(!e.value()||t.lastControl&&e.value()===t.lastControl.text())&&e.value(t.control.text()),o.find("#href").value(t.control.value())},x=function(){l||!u||m.text||this.parent().parent().find("#text")[0].value(this.value())};u=S(v.getContent()),e=I(a),m.text=l=K(a.selection,e),m.href=e?g.getAttrib(e,"href"):"",e?m.target=g.getAttrib(e,"target"):k(a.settings)&&(m.target=y(a.settings)),(d=g.getAttrib(e,"rel"))&&(m.rel=d),(d=g.getAttrib(e,"class"))&&(m["class"]=d),(d=g.getAttrib(e,"title"))&&(m.title=d),u&&(n={name:"text",type:"textbox",size:40,label:"Text to display",onchange:function(){m.text=this.value()}}),t&&(i={type:"listbox",label:"Link list",values:q(t,function(t){t.value=a.convertURL(t.value||t.url,"href")},[{text:"None",value:""}]),onselect:h,value:a.convertURL(m.href,"href"),onPostRender:function(){i=this}}),w(a.settings)&&(b(a.settings)===undefined&&_(a,[{text:"None",value:""},{text:"New window",value:"_blank"}]),c={name:"target",type:"listbox",label:"Target",values:q(b(a.settings))}),C(a.settings)&&(r={name:"rel",type:"listbox",label:"Rel",values:q(T(a.settings),function(t){!1===N(a.settings)&&(t.value=U(t.value,"_blank"===m.target))})}),O(a.settings)&&(s={name:"class",type:"listbox",label:"Class",values:q(M(a.settings),function(t){t.value&&(t.textStyle=function(){return a.formatter.getCssText({inline:"a",classes:[t.value]})})})}),R(a.settings)&&(f={name:"title",type:"textbox",label:"Title",value:m.title}),o=a.windowManager.open({title:"Insert link",data:m,body:[{name:"href",type:"filepicker",filetype:"file",size:40,autofocus:!0,label:"Url",onchange:function(t){var e=t.meta||{};i&&i.value(a.convertURL(this.value(),"href")),A.each(t.meta,function(t,e){var n=o.find("#"+e);"text"===e?0===l.length&&(n.value(t),m.text=t):n.value(t)}),e.attach&&(F={href:this.value(),attach:e.attach}),e.text||x.call(this)},onkeyup:x,onpaste:x,onbeforecall:function(t){t.meta=o.toJSON()}},n,f,function(n){var o=[];if(A.each(a.dom.select("a:not([href])"),function(t){var e=t.name||t.id;e&&o.push({text:e,value:"#"+e,selected:-1!==n.indexOf("#"+e)})}),o.length)return o.unshift({text:"None",value:""}),{name:"anchor",type:"listbox",label:"Anchors",values:o,onselect:h}}(m.href),i,r,c,s],onSubmit:function(t){var e=p(a.settings),n=L(a,F),o=P(a),i=A.extend({},m,t.data),r=i.href;r?(u&&i.text!==l||delete i.text,0 0) { return false; } return empty; }; var isChildOfBody = function (dom, elm) { return dom.isChildOf(elm, dom.getRoot()); }; var NodeType = { isTextNode: isTextNode, isListNode: isListNode, isOlUlNode: isOlUlNode, isDlItemNode: isDlItemNode, isListItemNode: isListItemNode, isTableCellNode: isTableCellNode, isBr: isBr, isFirstChild: isFirstChild, isLastChild: isLastChild, isTextBlock: isTextBlock, isBlock: isBlock, isBogusBr: isBogusBr, isEmpty: isEmpty, isChildOfBody: isChildOfBody }; var getNormalizedPoint = function (container, offset) { if (NodeType.isTextNode(container)) { return { container: container, offset: offset }; } var node = global$1.getNode(container, offset); if (NodeType.isTextNode(node)) { return { container: node, offset: offset >= container.childNodes.length ? node.data.length : 0 }; } else if (node.previousSibling && NodeType.isTextNode(node.previousSibling)) { return { container: node.previousSibling, offset: node.previousSibling.data.length }; } else if (node.nextSibling && NodeType.isTextNode(node.nextSibling)) { return { container: node.nextSibling, offset: 0 }; } return { container: container, offset: offset }; }; var normalizeRange = function (rng) { var outRng = rng.cloneRange(); var rangeStart = getNormalizedPoint(rng.startContainer, rng.startOffset); outRng.setStart(rangeStart.container, rangeStart.offset); var rangeEnd = getNormalizedPoint(rng.endContainer, rng.endOffset); outRng.setEnd(rangeEnd.container, rangeEnd.offset); return outRng; }; var Range = { getNormalizedPoint: getNormalizedPoint, normalizeRange: normalizeRange }; var DOM = global$6.DOM; var createBookmark = function (rng) { var bookmark = {}; var setupEndPoint = function (start) { var offsetNode, container, offset; container = rng[start ? 'startContainer' : 'endContainer']; offset = rng[start ? 'startOffset' : 'endOffset']; if (container.nodeType === 1) { offsetNode = DOM.create('span', { 'data-mce-type': 'bookmark' }); if (container.hasChildNodes()) { offset = Math.min(offset, container.childNodes.length - 1); if (start) { container.insertBefore(offsetNode, container.childNodes[offset]); } else { DOM.insertAfter(offsetNode, container.childNodes[offset]); } } else { container.appendChild(offsetNode); } container = offsetNode; offset = 0; } bookmark[start ? 'startContainer' : 'endContainer'] = container; bookmark[start ? 'startOffset' : 'endOffset'] = offset; }; setupEndPoint(true); if (!rng.collapsed) { setupEndPoint(); } return bookmark; }; var resolveBookmark = function (bookmark) { function restoreEndPoint(start) { var container, offset, node; var nodeIndex = function (container) { var node = container.parentNode.firstChild, idx = 0; while (node) { if (node === container) { return idx; } if (node.nodeType !== 1 || node.getAttribute('data-mce-type') !== 'bookmark') { idx++; } node = node.nextSibling; } return -1; }; container = node = bookmark[start ? 'startContainer' : 'endContainer']; offset = bookmark[start ? 'startOffset' : 'endOffset']; if (!container) { return; } if (container.nodeType === 1) { offset = nodeIndex(container); container = container.parentNode; DOM.remove(node); if (!container.hasChildNodes() && DOM.isBlock(container)) { container.appendChild(DOM.create('br')); } } bookmark[start ? 'startContainer' : 'endContainer'] = container; bookmark[start ? 'startOffset' : 'endOffset'] = offset; } restoreEndPoint(true); restoreEndPoint(); var rng = DOM.createRng(); rng.setStart(bookmark.startContainer, bookmark.startOffset); if (bookmark.endContainer) { rng.setEnd(bookmark.endContainer, bookmark.endOffset); } return Range.normalizeRange(rng); }; var Bookmark = { createBookmark: createBookmark, resolveBookmark: resolveBookmark }; var noop = function () { }; var constant = function (value) { return function () { return value; }; }; var not = function (f) { return function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return !f.apply(null, args); }; }; var never = constant(false); var always = constant(true); var none = function () { return NONE; }; var NONE = function () { var eq = function (o) { return o.isNone(); }; var call = function (thunk) { return thunk(); }; var id = function (n) { return n; }; var me = { fold: function (n, s) { return n(); }, is: never, isSome: never, isNone: always, getOr: id, getOrThunk: call, getOrDie: function (msg) { throw new Error(msg || 'error: getOrDie called on none.'); }, getOrNull: constant(null), getOrUndefined: constant(undefined), or: id, orThunk: call, map: none, each: noop, bind: none, exists: never, forall: always, filter: none, equals: eq, equals_: eq, toArray: function () { return []; }, toString: constant('none()') }; if (Object.freeze) { Object.freeze(me); } return me; }(); var some = function (a) { var constant_a = constant(a); var self = function () { return me; }; var bind = function (f) { return f(a); }; var me = { fold: function (n, s) { return s(a); }, is: function (v) { return a === v; }, isSome: always, isNone: never, getOr: constant_a, getOrThunk: constant_a, getOrDie: constant_a, getOrNull: constant_a, getOrUndefined: constant_a, or: self, orThunk: self, map: function (f) { return some(f(a)); }, each: function (f) { f(a); }, bind: bind, exists: bind, forall: bind, filter: function (f) { return f(a) ? me : NONE; }, toArray: function () { return [a]; }, toString: function () { return 'some(' + a + ')'; }, equals: function (o) { return o.is(a); }, equals_: function (o, elementEq) { return o.fold(never, function (b) { return elementEq(a, b); }); } }; return me; }; var from = function (value) { return value === null || value === undefined ? NONE : some(value); }; var Option = { some: some, none: none, from: from }; var typeOf = function (x) { if (x === null) { return 'null'; } var t = typeof x; if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) { return 'array'; } if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) { return 'string'; } return t; }; var isType = function (type) { return function (value) { return typeOf(value) === type; }; }; var isString = isType('string'); var isArray = isType('array'); var isBoolean = isType('boolean'); var isFunction = isType('function'); var isNumber = isType('number'); var nativeSlice = Array.prototype.slice; var nativePush = Array.prototype.push; var map = function (xs, f) { var len = xs.length; var r = new Array(len); for (var i = 0; i < len; i++) { var x = xs[i]; r[i] = f(x, i); } return r; }; var each = function (xs, f) { for (var i = 0, len = xs.length; i < len; i++) { var x = xs[i]; f(x, i); } }; var filter = function (xs, pred) { var r = []; for (var i = 0, len = xs.length; i < len; i++) { var x = xs[i]; if (pred(x, i)) { r.push(x); } } return r; }; var groupBy = function (xs, f) { if (xs.length === 0) { return []; } else { var wasType = f(xs[0]); var r = []; var group = []; for (var i = 0, len = xs.length; i < len; i++) { var x = xs[i]; var type = f(x); if (type !== wasType) { r.push(group); group = []; } wasType = type; group.push(x); } if (group.length !== 0) { r.push(group); } return r; } }; var foldl = function (xs, f, acc) { each(xs, function (x) { acc = f(acc, x); }); return acc; }; var find = function (xs, pred) { for (var i = 0, len = xs.length; i < len; i++) { var x = xs[i]; if (pred(x, i)) { return Option.some(x); } } return Option.none(); }; var flatten = function (xs) { var r = []; for (var i = 0, len = xs.length; i < len; ++i) { if (!isArray(xs[i])) { throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs); } nativePush.apply(r, xs[i]); } return r; }; var bind = function (xs, f) { var output = map(xs, f); return flatten(output); }; var reverse = function (xs) { var r = nativeSlice.call(xs, 0); r.reverse(); return r; }; var head = function (xs) { return xs.length === 0 ? Option.none() : Option.some(xs[0]); }; var last = function (xs) { return xs.length === 0 ? Option.none() : Option.some(xs[xs.length - 1]); }; var from$1 = isFunction(Array.from) ? Array.from : function (x) { return nativeSlice.call(x); }; var Global = typeof domGlobals.window !== 'undefined' ? domGlobals.window : Function('return this;')(); var path = function (parts, scope) { var o = scope !== undefined && scope !== null ? scope : Global; for (var i = 0; i < parts.length && o !== undefined && o !== null; ++i) { o = o[parts[i]]; } return o; }; var resolve = function (p, scope) { var parts = p.split('.'); return path(parts, scope); }; var unsafe = function (name, scope) { return resolve(name, scope); }; var getOrDie = function (name, scope) { var actual = unsafe(name, scope); if (actual === undefined || actual === null) { throw new Error(name + ' not available on this browser'); } return actual; }; var Global$1 = { getOrDie: getOrDie }; var htmlElement = function (scope) { return Global$1.getOrDie('HTMLElement', scope); }; var isPrototypeOf = function (x) { var scope = resolve('ownerDocument.defaultView', x); return htmlElement(scope).prototype.isPrototypeOf(x); }; var HTMLElement = { isPrototypeOf: isPrototypeOf }; var global$7 = tinymce.util.Tools.resolve('tinymce.dom.DomQuery'); var getParentList = function (editor) { var selectionStart = editor.selection.getStart(true); return editor.dom.getParent(selectionStart, 'OL,UL,DL', getClosestListRootElm(editor, selectionStart)); }; var isParentListSelected = function (parentList, selectedBlocks) { return parentList && selectedBlocks.length === 1 && selectedBlocks[0] === parentList; }; var findSubLists = function (parentList) { return global$5.grep(parentList.querySelectorAll('ol,ul,dl'), function (elm) { return NodeType.isListNode(elm); }); }; var getSelectedSubLists = function (editor) { var parentList = getParentList(editor); var selectedBlocks = editor.selection.getSelectedBlocks(); if (isParentListSelected(parentList, selectedBlocks)) { return findSubLists(parentList); } else { return global$5.grep(selectedBlocks, function (elm) { return NodeType.isListNode(elm) && parentList !== elm; }); } }; var findParentListItemsNodes = function (editor, elms) { var listItemsElms = global$5.map(elms, function (elm) { var parentLi = editor.dom.getParent(elm, 'li,dd,dt', getClosestListRootElm(editor, elm)); return parentLi ? parentLi : elm; }); return global$7.unique(listItemsElms); }; var getSelectedListItems = function (editor) { var selectedBlocks = editor.selection.getSelectedBlocks(); return global$5.grep(findParentListItemsNodes(editor, selectedBlocks), function (block) { return NodeType.isListItemNode(block); }); }; var getSelectedDlItems = function (editor) { return filter(getSelectedListItems(editor), NodeType.isDlItemNode); }; var getClosestListRootElm = function (editor, elm) { var parentTableCell = editor.dom.getParents(elm, 'TD,TH'); var root = parentTableCell.length > 0 ? parentTableCell[0] : editor.getBody(); return root; }; var findLastParentListNode = function (editor, elm) { var parentLists = editor.dom.getParents(elm, 'ol,ul', getClosestListRootElm(editor, elm)); return last(parentLists); }; var getSelectedLists = function (editor) { var firstList = findLastParentListNode(editor, editor.selection.getStart()); var subsequentLists = filter(editor.selection.getSelectedBlocks(), NodeType.isOlUlNode); return firstList.toArray().concat(subsequentLists); }; var getSelectedListRoots = function (editor) { var selectedLists = getSelectedLists(editor); return getUniqueListRoots(editor, selectedLists); }; var getUniqueListRoots = function (editor, lists) { var listRoots = map(lists, function (list) { return findLastParentListNode(editor, list).getOr(list); }); return global$7.unique(listRoots); }; var isList = function (editor) { var list = getParentList(editor); return HTMLElement.isPrototypeOf(list); }; var Selection = { isList: isList, getParentList: getParentList, getSelectedSubLists: getSelectedSubLists, getSelectedListItems: getSelectedListItems, getClosestListRootElm: getClosestListRootElm, getSelectedDlItems: getSelectedDlItems, getSelectedListRoots: getSelectedListRoots }; var fromHtml = function (html, scope) { var doc = scope || domGlobals.document; var div = doc.createElement('div'); div.innerHTML = html; if (!div.hasChildNodes() || div.childNodes.length > 1) { domGlobals.console.error('HTML does not have a single root node', html); throw new Error('HTML must have a single root node'); } return fromDom(div.childNodes[0]); }; var fromTag = function (tag, scope) { var doc = scope || domGlobals.document; var node = doc.createElement(tag); return fromDom(node); }; var fromText = function (text, scope) { var doc = scope || domGlobals.document; var node = doc.createTextNode(text); return fromDom(node); }; var fromDom = function (node) { if (node === null || node === undefined) { throw new Error('Node cannot be null or undefined'); } return { dom: constant(node) }; }; var fromPoint = function (docElm, x, y) { var doc = docElm.dom(); return Option.from(doc.elementFromPoint(x, y)).map(fromDom); }; var Element = { fromHtml: fromHtml, fromTag: fromTag, fromText: fromText, fromDom: fromDom, fromPoint: fromPoint }; var lift2 = function (oa, ob, f) { return oa.isSome() && ob.isSome() ? Option.some(f(oa.getOrDie(), ob.getOrDie())) : Option.none(); }; var fromElements = function (elements, scope) { var doc = scope || domGlobals.document; var fragment = doc.createDocumentFragment(); each(elements, function (element) { fragment.appendChild(element.dom()); }); return Element.fromDom(fragment); }; var Immutable = function () { var fields = []; for (var _i = 0; _i < arguments.length; _i++) { fields[_i] = arguments[_i]; } return function () { var values = []; for (var _i = 0; _i < arguments.length; _i++) { values[_i] = arguments[_i]; } if (fields.length !== values.length) { throw new Error('Wrong number of arguments to struct. Expected "[' + fields.length + ']", got ' + values.length + ' arguments'); } var struct = {}; each(fields, function (name, i) { struct[name] = constant(values[i]); }); return struct; }; }; var keys = Object.keys; var each$1 = function (obj, f) { var props = keys(obj); for (var k = 0, len = props.length; k < len; k++) { var i = props[k]; var x = obj[i]; f(x, i); } }; var node = function () { var f = Global$1.getOrDie('Node'); return f; }; var compareDocumentPosition = function (a, b, match) { return (a.compareDocumentPosition(b) & match) !== 0; }; var documentPositionPreceding = function (a, b) { return compareDocumentPosition(a, b, node().DOCUMENT_POSITION_PRECEDING); }; var documentPositionContainedBy = function (a, b) { return compareDocumentPosition(a, b, node().DOCUMENT_POSITION_CONTAINED_BY); }; var Node = { documentPositionPreceding: documentPositionPreceding, documentPositionContainedBy: documentPositionContainedBy }; var cached = function (f) { var called = false; var r; return function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } if (!called) { called = true; r = f.apply(null, args); } return r; }; }; var firstMatch = function (regexes, s) { for (var i = 0; i < regexes.length; i++) { var x = regexes[i]; if (x.test(s)) { return x; } } return undefined; }; var find$1 = function (regexes, agent) { var r = firstMatch(regexes, agent); if (!r) { return { major: 0, minor: 0 }; } var group = function (i) { return Number(agent.replace(r, '$' + i)); }; return nu(group(1), group(2)); }; var detect = function (versionRegexes, agent) { var cleanedAgent = String(agent).toLowerCase(); if (versionRegexes.length === 0) { return unknown(); } return find$1(versionRegexes, cleanedAgent); }; var unknown = function () { return nu(0, 0); }; var nu = function (major, minor) { return { major: major, minor: minor }; }; var Version = { nu: nu, detect: detect, unknown: unknown }; var edge = 'Edge'; var chrome = 'Chrome'; var ie = 'IE'; var opera = 'Opera'; var firefox = 'Firefox'; var safari = 'Safari'; var isBrowser = function (name, current) { return function () { return current === name; }; }; var unknown$1 = function () { return nu$1({ current: undefined, version: Version.unknown() }); }; var nu$1 = function (info) { var current = info.current; var version = info.version; return { current: current, version: version, isEdge: isBrowser(edge, current), isChrome: isBrowser(chrome, current), isIE: isBrowser(ie, current), isOpera: isBrowser(opera, current), isFirefox: isBrowser(firefox, current), isSafari: isBrowser(safari, current) }; }; var Browser = { unknown: unknown$1, nu: nu$1, edge: constant(edge), chrome: constant(chrome), ie: constant(ie), opera: constant(opera), firefox: constant(firefox), safari: constant(safari) }; var windows = 'Windows'; var ios = 'iOS'; var android = 'Android'; var linux = 'Linux'; var osx = 'OSX'; var solaris = 'Solaris'; var freebsd = 'FreeBSD'; var isOS = function (name, current) { return function () { return current === name; }; }; var unknown$2 = function () { return nu$2({ current: undefined, version: Version.unknown() }); }; var nu$2 = function (info) { var current = info.current; var version = info.version; return { current: current, version: version, isWindows: isOS(windows, current), isiOS: isOS(ios, current), isAndroid: isOS(android, current), isOSX: isOS(osx, current), isLinux: isOS(linux, current), isSolaris: isOS(solaris, current), isFreeBSD: isOS(freebsd, current) }; }; var OperatingSystem = { unknown: unknown$2, nu: nu$2, windows: constant(windows), ios: constant(ios), android: constant(android), linux: constant(linux), osx: constant(osx), solaris: constant(solaris), freebsd: constant(freebsd) }; var DeviceType = function (os, browser, userAgent) { var isiPad = os.isiOS() && /ipad/i.test(userAgent) === true; var isiPhone = os.isiOS() && !isiPad; var isAndroid3 = os.isAndroid() && os.version.major === 3; var isAndroid4 = os.isAndroid() && os.version.major === 4; var isTablet = isiPad || isAndroid3 || isAndroid4 && /mobile/i.test(userAgent) === true; var isTouch = os.isiOS() || os.isAndroid(); var isPhone = isTouch && !isTablet; var iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false; return { isiPad: constant(isiPad), isiPhone: constant(isiPhone), isTablet: constant(isTablet), isPhone: constant(isPhone), isTouch: constant(isTouch), isAndroid: os.isAndroid, isiOS: os.isiOS, isWebView: constant(iOSwebview) }; }; var detect$1 = function (candidates, userAgent) { var agent = String(userAgent).toLowerCase(); return find(candidates, function (candidate) { return candidate.search(agent); }); }; var detectBrowser = function (browsers, userAgent) { return detect$1(browsers, userAgent).map(function (browser) { var version = Version.detect(browser.versionRegexes, userAgent); return { current: browser.name, version: version }; }); }; var detectOs = function (oses, userAgent) { return detect$1(oses, userAgent).map(function (os) { var version = Version.detect(os.versionRegexes, userAgent); return { current: os.name, version: version }; }); }; var UaString = { detectBrowser: detectBrowser, detectOs: detectOs }; var contains = function (str, substr) { return str.indexOf(substr) !== -1; }; var normalVersionRegex = /.*?version\/\ ?([0-9]+)\.([0-9]+).*/; var checkContains = function (target) { return function (uastring) { return contains(uastring, target); }; }; var browsers = [ { name: 'Edge', versionRegexes: [/.*?edge\/ ?([0-9]+)\.([0-9]+)$/], search: function (uastring) { return contains(uastring, 'edge/') && contains(uastring, 'chrome') && contains(uastring, 'safari') && contains(uastring, 'applewebkit'); } }, { name: 'Chrome', versionRegexes: [ /.*?chrome\/([0-9]+)\.([0-9]+).*/, normalVersionRegex ], search: function (uastring) { return contains(uastring, 'chrome') && !contains(uastring, 'chromeframe'); } }, { name: 'IE', versionRegexes: [ /.*?msie\ ?([0-9]+)\.([0-9]+).*/, /.*?rv:([0-9]+)\.([0-9]+).*/ ], search: function (uastring) { return contains(uastring, 'msie') || contains(uastring, 'trident'); } }, { name: 'Opera', versionRegexes: [ normalVersionRegex, /.*?opera\/([0-9]+)\.([0-9]+).*/ ], search: checkContains('opera') }, { name: 'Firefox', versionRegexes: [/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/], search: checkContains('firefox') }, { name: 'Safari', versionRegexes: [ normalVersionRegex, /.*?cpu os ([0-9]+)_([0-9]+).*/ ], search: function (uastring) { return (contains(uastring, 'safari') || contains(uastring, 'mobile/')) && contains(uastring, 'applewebkit'); } } ]; var oses = [ { name: 'Windows', search: checkContains('win'), versionRegexes: [/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/] }, { name: 'iOS', search: function (uastring) { return contains(uastring, 'iphone') || contains(uastring, 'ipad'); }, versionRegexes: [ /.*?version\/\ ?([0-9]+)\.([0-9]+).*/, /.*cpu os ([0-9]+)_([0-9]+).*/, /.*cpu iphone os ([0-9]+)_([0-9]+).*/ ] }, { name: 'Android', search: checkContains('android'), versionRegexes: [/.*?android\ ?([0-9]+)\.([0-9]+).*/] }, { name: 'OSX', search: checkContains('os x'), versionRegexes: [/.*?os\ x\ ?([0-9]+)_([0-9]+).*/] }, { name: 'Linux', search: checkContains('linux'), versionRegexes: [] }, { name: 'Solaris', search: checkContains('sunos'), versionRegexes: [] }, { name: 'FreeBSD', search: checkContains('freebsd'), versionRegexes: [] } ]; var PlatformInfo = { browsers: constant(browsers), oses: constant(oses) }; var detect$2 = function (userAgent) { var browsers = PlatformInfo.browsers(); var oses = PlatformInfo.oses(); var browser = UaString.detectBrowser(browsers, userAgent).fold(Browser.unknown, Browser.nu); var os = UaString.detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu); var deviceType = DeviceType(os, browser, userAgent); return { browser: browser, os: os, deviceType: deviceType }; }; var PlatformDetection = { detect: detect$2 }; var detect$3 = cached(function () { var userAgent = domGlobals.navigator.userAgent; return PlatformDetection.detect(userAgent); }); var PlatformDetection$1 = { detect: detect$3 }; var ATTRIBUTE = domGlobals.Node.ATTRIBUTE_NODE; var CDATA_SECTION = domGlobals.Node.CDATA_SECTION_NODE; var COMMENT = domGlobals.Node.COMMENT_NODE; var DOCUMENT = domGlobals.Node.DOCUMENT_NODE; var DOCUMENT_TYPE = domGlobals.Node.DOCUMENT_TYPE_NODE; var DOCUMENT_FRAGMENT = domGlobals.Node.DOCUMENT_FRAGMENT_NODE; var ELEMENT = domGlobals.Node.ELEMENT_NODE; var TEXT = domGlobals.Node.TEXT_NODE; var PROCESSING_INSTRUCTION = domGlobals.Node.PROCESSING_INSTRUCTION_NODE; var ENTITY_REFERENCE = domGlobals.Node.ENTITY_REFERENCE_NODE; var ENTITY = domGlobals.Node.ENTITY_NODE; var NOTATION = domGlobals.Node.NOTATION_NODE; var ELEMENT$1 = ELEMENT; var is = function (element, selector) { var dom = element.dom(); if (dom.nodeType !== ELEMENT$1) { return false; } else { var elem = dom; if (elem.matches !== undefined) { return elem.matches(selector); } else if (elem.msMatchesSelector !== undefined) { return elem.msMatchesSelector(selector); } else if (elem.webkitMatchesSelector !== undefined) { return elem.webkitMatchesSelector(selector); } else if (elem.mozMatchesSelector !== undefined) { return elem.mozMatchesSelector(selector); } else { throw new Error('Browser lacks native selectors'); } } }; var eq = function (e1, e2) { return e1.dom() === e2.dom(); }; var regularContains = function (e1, e2) { var d1 = e1.dom(); var d2 = e2.dom(); return d1 === d2 ? false : d1.contains(d2); }; var ieContains = function (e1, e2) { return Node.documentPositionContainedBy(e1.dom(), e2.dom()); }; var browser = PlatformDetection$1.detect().browser; var contains$1 = browser.isIE() ? ieContains : regularContains; var is$1 = is; var parent = function (element) { return Option.from(element.dom().parentNode).map(Element.fromDom); }; var children = function (element) { return map(element.dom().childNodes, Element.fromDom); }; var child = function (element, index) { var cs = element.dom().childNodes; return Option.from(cs[index]).map(Element.fromDom); }; var firstChild = function (element) { return child(element, 0); }; var lastChild = function (element) { return child(element, element.dom().childNodes.length - 1); }; var spot = Immutable('element', 'offset'); var before = function (marker, element) { var parent$1 = parent(marker); parent$1.each(function (v) { v.dom().insertBefore(element.dom(), marker.dom()); }); }; var append = function (parent, element) { parent.dom().appendChild(element.dom()); }; var before$1 = function (marker, elements) { each(elements, function (x) { before(marker, x); }); }; var append$1 = function (parent, elements) { each(elements, function (x) { append(parent, x); }); }; var remove = function (element) { var dom = element.dom(); if (dom.parentNode !== null) { dom.parentNode.removeChild(dom); } }; var name = function (element) { var r = element.dom().nodeName; return r.toLowerCase(); }; var type = function (element) { return element.dom().nodeType; }; var isType$1 = function (t) { return function (element) { return type(element) === t; }; }; var isElement = isType$1(ELEMENT); var rawSet = function (dom, key, value) { if (isString(value) || isBoolean(value) || isNumber(value)) { dom.setAttribute(key, value + ''); } else { domGlobals.console.error('Invalid call to Attr.set. Key ', key, ':: Value ', value, ':: Element ', dom); throw new Error('Attribute value was not simple'); } }; var setAll = function (element, attrs) { var dom = element.dom(); each$1(attrs, function (v, k) { rawSet(dom, k, v); }); }; var clone = function (element) { return foldl(element.dom().attributes, function (acc, attr) { acc[attr.name] = attr.value; return acc; }, {}); }; var isSupported = function (dom) { return dom.style !== undefined && isFunction(dom.style.getPropertyValue); }; var internalSet = function (dom, property, value) { if (!isString(value)) { domGlobals.console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom); throw new Error('CSS value must be a string: ' + value); } if (isSupported(dom)) { dom.style.setProperty(property, value); } }; var set = function (element, property, value) { var dom = element.dom(); internalSet(dom, property, value); }; var clone$1 = function (original, isDeep) { return Element.fromDom(original.dom().cloneNode(isDeep)); }; var deep = function (original) { return clone$1(original, true); }; var shallowAs = function (original, tag) { var nu = Element.fromTag(tag); var attributes = clone(original); setAll(nu, attributes); return nu; }; var mutate = function (original, tag) { var nu = shallowAs(original, tag); before(original, nu); var children$1 = children(original); append$1(nu, children$1); remove(original); return nu; }; var joinSegment = function (parent, child) { append(parent.item, child.list); }; var joinSegments = function (segments) { for (var i = 1; i < segments.length; i++) { joinSegment(segments[i - 1], segments[i]); } }; var appendSegments = function (head$1, tail) { lift2(last(head$1), head(tail), joinSegment); }; var createSegment = function (scope, listType) { var segment = { list: Element.fromTag(listType, scope), item: Element.fromTag('li', scope) }; append(segment.list, segment.item); return segment; }; var createSegments = function (scope, entry, size) { var segments = []; for (var i = 0; i < size; i++) { segments.push(createSegment(scope, entry.listType)); } return segments; }; var populateSegments = function (segments, entry) { for (var i = 0; i < segments.length - 1; i++) { set(segments[i].item, 'list-style-type', 'none'); } last(segments).each(function (segment) { setAll(segment.list, entry.listAttributes); setAll(segment.item, entry.itemAttributes); append$1(segment.item, entry.content); }); }; var normalizeSegment = function (segment, entry) { if (name(segment.list) !== entry.listType) { segment.list = mutate(segment.list, entry.listType); } setAll(segment.list, entry.listAttributes); }; var createItem = function (scope, attr, content) { var item = Element.fromTag('li', scope); setAll(item, attr); append$1(item, content); return item; }; var appendItem = function (segment, item) { append(segment.list, item); segment.item = item; }; var writeShallow = function (scope, cast, entry) { var newCast = cast.slice(0, entry.depth); last(newCast).each(function (segment) { var item = createItem(scope, entry.itemAttributes, entry.content); appendItem(segment, item); normalizeSegment(segment, entry); }); return newCast; }; var writeDeep = function (scope, cast, entry) { var segments = createSegments(scope, entry, entry.depth - cast.length); joinSegments(segments); populateSegments(segments, entry); appendSegments(cast, segments); return cast.concat(segments); }; var composeList = function (scope, entries) { var cast = foldl(entries, function (cast, entry) { return entry.depth > cast.length ? writeDeep(scope, cast, entry) : writeShallow(scope, cast, entry); }, []); return head(cast).map(function (segment) { return segment.list; }); }; var isList$1 = function (el) { return is$1(el, 'OL,UL'); }; var hasFirstChildList = function (el) { return firstChild(el).map(isList$1).getOr(false); }; var hasLastChildList = function (el) { return lastChild(el).map(isList$1).getOr(false); }; var isIndented = function (entry) { return entry.depth > 0; }; var isSelected = function (entry) { return entry.isSelected; }; var cloneItemContent = function (li) { var children$1 = children(li); var content = hasLastChildList(li) ? children$1.slice(0, -1) : children$1; return map(content, deep); }; var createEntry = function (li, depth, isSelected) { return parent(li).filter(isElement).map(function (list) { return { depth: depth, isSelected: isSelected, content: cloneItemContent(li), itemAttributes: clone(li), listAttributes: clone(list), listType: name(list) }; }); }; var indentEntry = function (indentation, entry) { switch (indentation) { case 'Indent': entry.depth++; break; case 'Outdent': entry.depth--; break; case 'Flatten': entry.depth = 0; } }; var hasOwnProperty = Object.prototype.hasOwnProperty; var shallow = function (old, nu) { return nu; }; var baseMerge = function (merger) { return function () { var objects = new Array(arguments.length); for (var i = 0; i < objects.length; i++) { objects[i] = arguments[i]; } if (objects.length === 0) { throw new Error('Can\'t merge zero objects'); } var ret = {}; for (var j = 0; j < objects.length; j++) { var curObject = objects[j]; for (var key in curObject) { if (hasOwnProperty.call(curObject, key)) { ret[key] = merger(ret[key], curObject[key]); } } } return ret; }; }; var merge = baseMerge(shallow); var cloneListProperties = function (target, source) { target.listType = source.listType; target.listAttributes = merge({}, source.listAttributes); }; var previousSiblingEntry = function (entries, start) { var depth = entries[start].depth; for (var i = start - 1; i >= 0; i--) { if (entries[i].depth === depth) { return Option.some(entries[i]); } if (entries[i].depth < depth) { break; } } return Option.none(); }; var normalizeEntries = function (entries) { each(entries, function (entry, i) { previousSiblingEntry(entries, i).each(function (matchingEntry) { cloneListProperties(entry, matchingEntry); }); }); }; var Cell = function (initial) { var value = initial; var get = function () { return value; }; var set = function (v) { value = v; }; var clone = function () { return Cell(get()); }; return { get: get, set: set, clone: clone }; }; var parseItem = function (depth, itemSelection, selectionState, item) { return firstChild(item).filter(isList$1).fold(function () { itemSelection.each(function (selection) { if (eq(selection.start, item)) { selectionState.set(true); } }); var currentItemEntry = createEntry(item, depth, selectionState.get()); itemSelection.each(function (selection) { if (eq(selection.end, item)) { selectionState.set(false); } }); var childListEntries = lastChild(item).filter(isList$1).map(function (list) { return parseList(depth, itemSelection, selectionState, list); }).getOr([]); return currentItemEntry.toArray().concat(childListEntries); }, function (list) { return parseList(depth, itemSelection, selectionState, list); }); }; var parseList = function (depth, itemSelection, selectionState, list) { return bind(children(list), function (element) { var parser = isList$1(element) ? parseList : parseItem; var newDepth = depth + 1; return parser(newDepth, itemSelection, selectionState, element); }); }; var parseLists = function (lists, itemSelection) { var selectionState = Cell(false); var initialDepth = 0; return map(lists, function (list) { return { sourceList: list, entries: parseList(initialDepth, itemSelection, selectionState, list) }; }); }; var global$8 = tinymce.util.Tools.resolve('tinymce.Env'); var createTextBlock = function (editor, contentNode) { var dom = editor.dom; var blockElements = editor.schema.getBlockElements(); var fragment = dom.createFragment(); var node, textBlock, blockName, hasContentNode; if (editor.settings.forced_root_block) { blockName = editor.settings.forced_root_block; } if (blockName) { textBlock = dom.create(blockName); if (textBlock.tagName === editor.settings.forced_root_block) { dom.setAttribs(textBlock, editor.settings.forced_root_block_attrs); } if (!NodeType.isBlock(contentNode.firstChild, blockElements)) { fragment.appendChild(textBlock); } } if (contentNode) { while (node = contentNode.firstChild) { var nodeName = node.nodeName; if (!hasContentNode && (nodeName !== 'SPAN' || node.getAttribute('data-mce-type') !== 'bookmark')) { hasContentNode = true; } if (NodeType.isBlock(node, blockElements)) { fragment.appendChild(node); textBlock = null; } else { if (blockName) { if (!textBlock) { textBlock = dom.create(blockName); fragment.appendChild(textBlock); } textBlock.appendChild(node); } else { fragment.appendChild(node); } } } } if (!editor.settings.forced_root_block) { fragment.appendChild(dom.create('br')); } else { if (!hasContentNode && (!global$8.ie || global$8.ie > 10)) { textBlock.appendChild(dom.create('br', { 'data-mce-bogus': '1' })); } } return fragment; }; var outdentedComposer = function (editor, entries) { return map(entries, function (entry) { var content = fromElements(entry.content); return Element.fromDom(createTextBlock(editor, content.dom())); }); }; var indentedComposer = function (editor, entries) { normalizeEntries(entries); return composeList(editor.contentDocument, entries).toArray(); }; var composeEntries = function (editor, entries) { return bind(groupBy(entries, isIndented), function (entries) { var groupIsIndented = head(entries).map(isIndented).getOr(false); return groupIsIndented ? indentedComposer(editor, entries) : outdentedComposer(editor, entries); }); }; var indentSelectedEntries = function (entries, indentation) { each(filter(entries, isSelected), function (entry) { return indentEntry(indentation, entry); }); }; var getItemSelection = function (editor) { var selectedListItems = map(Selection.getSelectedListItems(editor), Element.fromDom); return lift2(find(selectedListItems, not(hasFirstChildList)), find(reverse(selectedListItems), not(hasFirstChildList)), function (start, end) { return { start: start, end: end }; }); }; var listsIndentation = function (editor, lists, indentation) { var entrySets = parseLists(lists, getItemSelection(editor)); each(entrySets, function (entrySet) { indentSelectedEntries(entrySet.entries, indentation); before$1(entrySet.sourceList, composeEntries(editor, entrySet.entries)); remove(entrySet.sourceList); }); }; var DOM$1 = global$6.DOM; var splitList = function (editor, ul, li) { var tmpRng, fragment, bookmarks, node, newBlock; var removeAndKeepBookmarks = function (targetNode) { global$5.each(bookmarks, function (node) { targetNode.parentNode.insertBefore(node, li.parentNode); }); DOM$1.remove(targetNode); }; bookmarks = DOM$1.select('span[data-mce-type="bookmark"]', ul); newBlock = createTextBlock(editor, li); tmpRng = DOM$1.createRng(); tmpRng.setStartAfter(li); tmpRng.setEndAfter(ul); fragment = tmpRng.extractContents(); for (node = fragment.firstChild; node; node = node.firstChild) { if (node.nodeName === 'LI' && editor.dom.isEmpty(node)) { DOM$1.remove(node); break; } } if (!editor.dom.isEmpty(fragment)) { DOM$1.insertAfter(fragment, ul); } DOM$1.insertAfter(newBlock, ul); if (NodeType.isEmpty(editor.dom, li.parentNode)) { removeAndKeepBookmarks(li.parentNode); } DOM$1.remove(li); if (NodeType.isEmpty(editor.dom, ul)) { DOM$1.remove(ul); } }; var SplitList = { splitList: splitList }; var outdentDlItem = function (editor, item) { if (is$1(item, 'dd')) { mutate(item, 'dt'); } else if (is$1(item, 'dt')) { parent(item).each(function (dl) { return SplitList.splitList(editor, dl.dom(), item.dom()); }); } }; var indentDlItem = function (item) { if (is$1(item, 'dt')) { mutate(item, 'dd'); } }; var dlIndentation = function (editor, indentation, dlItems) { if (indentation === 'Indent') { each(dlItems, indentDlItem); } else { each(dlItems, function (item) { return outdentDlItem(editor, item); }); } }; var selectionIndentation = function (editor, indentation) { var lists = map(Selection.getSelectedListRoots(editor), Element.fromDom); var dlItems = map(Selection.getSelectedDlItems(editor), Element.fromDom); var isHandled = false; if (lists.length || dlItems.length) { var bookmark = editor.selection.getBookmark(); listsIndentation(editor, lists, indentation); dlIndentation(editor, indentation, dlItems); editor.selection.moveToBookmark(bookmark); editor.selection.setRng(Range.normalizeRange(editor.selection.getRng())); editor.nodeChanged(); isHandled = true; } return isHandled; }; var indentListSelection = function (editor) { return selectionIndentation(editor, 'Indent'); }; var outdentListSelection = function (editor) { return selectionIndentation(editor, 'Outdent'); }; var flattenListSelection = function (editor) { return selectionIndentation(editor, 'Flatten'); }; var updateListStyle = function (dom, el, detail) { var type = detail['list-style-type'] ? detail['list-style-type'] : null; dom.setStyle(el, 'list-style-type', type); }; var setAttribs = function (elm, attrs) { global$5.each(attrs, function (value, key) { elm.setAttribute(key, value); }); }; var updateListAttrs = function (dom, el, detail) { setAttribs(el, detail['list-attributes']); global$5.each(dom.select('li', el), function (li) { setAttribs(li, detail['list-item-attributes']); }); }; var updateListWithDetails = function (dom, el, detail) { updateListStyle(dom, el, detail); updateListAttrs(dom, el, detail); }; var removeStyles = function (dom, element, styles) { global$5.each(styles, function (style) { var _a; return dom.setStyle(element, (_a = {}, _a[style] = '', _a)); }); }; var getEndPointNode = function (editor, rng, start, root) { var container, offset; container = rng[start ? 'startContainer' : 'endContainer']; offset = rng[start ? 'startOffset' : 'endOffset']; if (container.nodeType === 1) { container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container; } if (!start && NodeType.isBr(container.nextSibling)) { container = container.nextSibling; } while (container.parentNode !== root) { if (NodeType.isTextBlock(editor, container)) { return container; } if (/^(TD|TH)$/.test(container.parentNode.nodeName)) { return container; } container = container.parentNode; } return container; }; var getSelectedTextBlocks = function (editor, rng, root) { var textBlocks = [], dom = editor.dom; var startNode = getEndPointNode(editor, rng, true, root); var endNode = getEndPointNode(editor, rng, false, root); var block; var siblings = []; for (var node = startNode; node; node = node.nextSibling) { siblings.push(node); if (node === endNode) { break; } } global$5.each(siblings, function (node) { if (NodeType.isTextBlock(editor, node)) { textBlocks.push(node); block = null; return; } if (dom.isBlock(node) || NodeType.isBr(node)) { if (NodeType.isBr(node)) { dom.remove(node); } block = null; return; } var nextSibling = node.nextSibling; if (global$4.isBookmarkNode(node)) { if (NodeType.isTextBlock(editor, nextSibling) || !nextSibling && node.parentNode === root) { block = null; return; } } if (!block) { block = dom.create('p'); node.parentNode.insertBefore(block, node); textBlocks.push(block); } block.appendChild(node); }); return textBlocks; }; var hasCompatibleStyle = function (dom, sib, detail) { var sibStyle = dom.getStyle(sib, 'list-style-type'); var detailStyle = detail ? detail['list-style-type'] : ''; detailStyle = detailStyle === null ? '' : detailStyle; return sibStyle === detailStyle; }; var applyList = function (editor, listName, detail) { if (detail === void 0) { detail = {}; } var rng = editor.selection.getRng(true); var bookmark; var listItemName = 'LI'; var root = Selection.getClosestListRootElm(editor, editor.selection.getStart(true)); var dom = editor.dom; if (dom.getContentEditable(editor.selection.getNode()) === 'false') { return; } listName = listName.toUpperCase(); if (listName === 'DL') { listItemName = 'DT'; } bookmark = Bookmark.createBookmark(rng); global$5.each(getSelectedTextBlocks(editor, rng, root), function (block) { var listBlock, sibling; sibling = block.previousSibling; if (sibling && NodeType.isListNode(sibling) && sibling.nodeName === listName && hasCompatibleStyle(dom, sibling, detail)) { listBlock = sibling; block = dom.rename(block, listItemName); sibling.appendChild(block); } else { listBlock = dom.create(listName); block.parentNode.insertBefore(listBlock, block); listBlock.appendChild(block); block = dom.rename(block, listItemName); } removeStyles(dom, block, [ 'margin', 'margin-right', 'margin-bottom', 'margin-left', 'margin-top', 'padding', 'padding-right', 'padding-bottom', 'padding-left', 'padding-top' ]); updateListWithDetails(dom, listBlock, detail); mergeWithAdjacentLists(editor.dom, listBlock); }); editor.selection.setRng(Bookmark.resolveBookmark(bookmark)); }; var isValidLists = function (list1, list2) { return list1 && list2 && NodeType.isListNode(list1) && list1.nodeName === list2.nodeName; }; var hasSameListStyle = function (dom, list1, list2) { var targetStyle = dom.getStyle(list1, 'list-style-type', true); var style = dom.getStyle(list2, 'list-style-type', true); return targetStyle === style; }; var hasSameClasses = function (elm1, elm2) { return elm1.className === elm2.className; }; var shouldMerge = function (dom, list1, list2) { return isValidLists(list1, list2) && hasSameListStyle(dom, list1, list2) && hasSameClasses(list1, list2); }; var mergeWithAdjacentLists = function (dom, listBlock) { var sibling, node; sibling = listBlock.nextSibling; if (shouldMerge(dom, listBlock, sibling)) { while (node = sibling.firstChild) { listBlock.appendChild(node); } dom.remove(sibling); } sibling = listBlock.previousSibling; if (shouldMerge(dom, listBlock, sibling)) { while (node = sibling.lastChild) { listBlock.insertBefore(node, listBlock.firstChild); } dom.remove(sibling); } }; var updateList = function (dom, list, listName, detail) { if (list.nodeName !== listName) { var newList = dom.rename(list, listName); updateListWithDetails(dom, newList, detail); } else { updateListWithDetails(dom, list, detail); } }; var toggleMultipleLists = function (editor, parentList, lists, listName, detail) { if (parentList.nodeName === listName && !hasListStyleDetail(detail)) { flattenListSelection(editor); } else { var bookmark = Bookmark.createBookmark(editor.selection.getRng(true)); global$5.each([parentList].concat(lists), function (elm) { updateList(editor.dom, elm, listName, detail); }); editor.selection.setRng(Bookmark.resolveBookmark(bookmark)); } }; var hasListStyleDetail = function (detail) { return 'list-style-type' in detail; }; var toggleSingleList = function (editor, parentList, listName, detail) { if (parentList === editor.getBody()) { return; } if (parentList) { if (parentList.nodeName === listName && !hasListStyleDetail(detail)) { flattenListSelection(editor); } else { var bookmark = Bookmark.createBookmark(editor.selection.getRng(true)); updateListWithDetails(editor.dom, parentList, detail); mergeWithAdjacentLists(editor.dom, editor.dom.rename(parentList, listName)); editor.selection.setRng(Bookmark.resolveBookmark(bookmark)); } } else { applyList(editor, listName, detail); } }; var toggleList = function (editor, listName, detail) { var parentList = Selection.getParentList(editor); var selectedSubLists = Selection.getSelectedSubLists(editor); detail = detail ? detail : {}; if (parentList && selectedSubLists.length > 0) { toggleMultipleLists(editor, parentList, selectedSubLists, listName, detail); } else { toggleSingleList(editor, parentList, listName, detail); } }; var ToggleList = { toggleList: toggleList, mergeWithAdjacentLists: mergeWithAdjacentLists }; var DOM$2 = global$6.DOM; var normalizeList = function (dom, ul) { var sibling; var parentNode = ul.parentNode; if (parentNode.nodeName === 'LI' && parentNode.firstChild === ul) { sibling = parentNode.previousSibling; if (sibling && sibling.nodeName === 'LI') { sibling.appendChild(ul); if (NodeType.isEmpty(dom, parentNode)) { DOM$2.remove(parentNode); } } else { DOM$2.setStyle(parentNode, 'listStyleType', 'none'); } } if (NodeType.isListNode(parentNode)) { sibling = parentNode.previousSibling; if (sibling && sibling.nodeName === 'LI') { sibling.appendChild(ul); } } }; var normalizeLists = function (dom, element) { global$5.each(global$5.grep(dom.select('ol,ul', element)), function (ul) { normalizeList(dom, ul); }); }; var NormalizeLists = { normalizeList: normalizeList, normalizeLists: normalizeLists }; var findNextCaretContainer = function (editor, rng, isForward, root) { var node = rng.startContainer; var offset = rng.startOffset; var nonEmptyBlocks, walker; if (node.nodeType === 3 && (isForward ? offset < node.data.length : offset > 0)) { return node; } nonEmptyBlocks = editor.schema.getNonEmptyElements(); if (node.nodeType === 1) { node = global$1.getNode(node, offset); } walker = new global$2(node, root); if (isForward) { if (NodeType.isBogusBr(editor.dom, node)) { walker.next(); } } while (node = walker[isForward ? 'next' : 'prev2']()) { if (node.nodeName === 'LI' && !node.hasChildNodes()) { return node; } if (nonEmptyBlocks[node.nodeName]) { return node; } if (node.nodeType === 3 && node.data.length > 0) { return node; } } }; var hasOnlyOneBlockChild = function (dom, elm) { var childNodes = elm.childNodes; return childNodes.length === 1 && !NodeType.isListNode(childNodes[0]) && dom.isBlock(childNodes[0]); }; var unwrapSingleBlockChild = function (dom, elm) { if (hasOnlyOneBlockChild(dom, elm)) { dom.remove(elm.firstChild, true); } }; var moveChildren = function (dom, fromElm, toElm) { var node, targetElm; targetElm = hasOnlyOneBlockChild(dom, toElm) ? toElm.firstChild : toElm; unwrapSingleBlockChild(dom, fromElm); if (!NodeType.isEmpty(dom, fromElm, true)) { while (node = fromElm.firstChild) { targetElm.appendChild(node); } } }; var mergeLiElements = function (dom, fromElm, toElm) { var node, listNode; var ul = fromElm.parentNode; if (!NodeType.isChildOfBody(dom, fromElm) || !NodeType.isChildOfBody(dom, toElm)) { return; } if (NodeType.isListNode(toElm.lastChild)) { listNode = toElm.lastChild; } if (ul === toElm.lastChild) { if (NodeType.isBr(ul.previousSibling)) { dom.remove(ul.previousSibling); } } node = toElm.lastChild; if (node && NodeType.isBr(node) && fromElm.hasChildNodes()) { dom.remove(node); } if (NodeType.isEmpty(dom, toElm, true)) { dom.$(toElm).empty(); } moveChildren(dom, fromElm, toElm); if (listNode) { toElm.appendChild(listNode); } var contains = contains$1(Element.fromDom(toElm), Element.fromDom(fromElm)); var nestedLists = contains ? dom.getParents(fromElm, NodeType.isListNode, toElm) : []; dom.remove(fromElm); each(nestedLists, function (list) { if (NodeType.isEmpty(dom, list) && list !== dom.getRoot()) { dom.remove(list); } }); }; var mergeIntoEmptyLi = function (editor, fromLi, toLi) { editor.dom.$(toLi).empty(); mergeLiElements(editor.dom, fromLi, toLi); editor.selection.setCursorLocation(toLi); }; var mergeForward = function (editor, rng, fromLi, toLi) { var dom = editor.dom; if (dom.isEmpty(toLi)) { mergeIntoEmptyLi(editor, fromLi, toLi); } else { var bookmark = Bookmark.createBookmark(rng); mergeLiElements(dom, fromLi, toLi); editor.selection.setRng(Bookmark.resolveBookmark(bookmark)); } }; var mergeBackward = function (editor, rng, fromLi, toLi) { var bookmark = Bookmark.createBookmark(rng); mergeLiElements(editor.dom, fromLi, toLi); var resolvedBookmark = Bookmark.resolveBookmark(bookmark); editor.selection.setRng(resolvedBookmark); }; var backspaceDeleteFromListToListCaret = function (editor, isForward) { var dom = editor.dom, selection = editor.selection; var selectionStartElm = selection.getStart(); var root = Selection.getClosestListRootElm(editor, selectionStartElm); var li = dom.getParent(selection.getStart(), 'LI', root); var ul, rng, otherLi; if (li) { ul = li.parentNode; if (ul === editor.getBody() && NodeType.isEmpty(dom, ul)) { return true; } rng = Range.normalizeRange(selection.getRng(true)); otherLi = dom.getParent(findNextCaretContainer(editor, rng, isForward, root), 'LI', root); if (otherLi && otherLi !== li) { if (isForward) { mergeForward(editor, rng, otherLi, li); } else { mergeBackward(editor, rng, li, otherLi); } return true; } else if (!otherLi) { if (!isForward) { flattenListSelection(editor); return true; } } } return false; }; var removeBlock = function (dom, block, root) { var parentBlock = dom.getParent(block.parentNode, dom.isBlock, root); dom.remove(block); if (parentBlock && dom.isEmpty(parentBlock)) { dom.remove(parentBlock); } }; var backspaceDeleteIntoListCaret = function (editor, isForward) { var dom = editor.dom; var selectionStartElm = editor.selection.getStart(); var root = Selection.getClosestListRootElm(editor, selectionStartElm); var block = dom.getParent(selectionStartElm, dom.isBlock, root); if (block && dom.isEmpty(block)) { var rng = Range.normalizeRange(editor.selection.getRng(true)); var otherLi_1 = dom.getParent(findNextCaretContainer(editor, rng, isForward, root), 'LI', root); if (otherLi_1) { editor.undoManager.transact(function () { removeBlock(dom, block, root); ToggleList.mergeWithAdjacentLists(dom, otherLi_1.parentNode); editor.selection.select(otherLi_1, true); editor.selection.collapse(isForward); }); return true; } } return false; }; var backspaceDeleteCaret = function (editor, isForward) { return backspaceDeleteFromListToListCaret(editor, isForward) || backspaceDeleteIntoListCaret(editor, isForward); }; var backspaceDeleteRange = function (editor) { var selectionStartElm = editor.selection.getStart(); var root = Selection.getClosestListRootElm(editor, selectionStartElm); var startListParent = editor.dom.getParent(selectionStartElm, 'LI,DT,DD', root); if (startListParent || Selection.getSelectedListItems(editor).length > 0) { editor.undoManager.transact(function () { editor.execCommand('Delete'); NormalizeLists.normalizeLists(editor.dom, editor.getBody()); }); return true; } return false; }; var backspaceDelete = function (editor, isForward) { return editor.selection.isCollapsed() ? backspaceDeleteCaret(editor, isForward) : backspaceDeleteRange(editor); }; var setup = function (editor) { editor.on('keydown', function (e) { if (e.keyCode === global$3.BACKSPACE) { if (backspaceDelete(editor, false)) { e.preventDefault(); } } else if (e.keyCode === global$3.DELETE) { if (backspaceDelete(editor, true)) { e.preventDefault(); } } }); }; var Delete = { setup: setup, backspaceDelete: backspaceDelete }; var get = function (editor) { return { backspaceDelete: function (isForward) { Delete.backspaceDelete(editor, isForward); } }; }; var Api = { get: get }; var queryListCommandState = function (editor, listName) { return function () { var parentList = editor.dom.getParent(editor.selection.getStart(), 'UL,OL,DL'); return parentList && parentList.nodeName === listName; }; }; var register = function (editor) { editor.on('BeforeExecCommand', function (e) { var cmd = e.command.toLowerCase(); if (cmd === 'indent') { indentListSelection(editor); } else if (cmd === 'outdent') { outdentListSelection(editor); } }); editor.addCommand('InsertUnorderedList', function (ui, detail) { ToggleList.toggleList(editor, 'UL', detail); }); editor.addCommand('InsertOrderedList', function (ui, detail) { ToggleList.toggleList(editor, 'OL', detail); }); editor.addCommand('InsertDefinitionList', function (ui, detail) { ToggleList.toggleList(editor, 'DL', detail); }); editor.addCommand('RemoveList', function () { flattenListSelection(editor); }); editor.addQueryStateHandler('InsertUnorderedList', queryListCommandState(editor, 'UL')); editor.addQueryStateHandler('InsertOrderedList', queryListCommandState(editor, 'OL')); editor.addQueryStateHandler('InsertDefinitionList', queryListCommandState(editor, 'DL')); }; var Commands = { register: register }; var shouldIndentOnTab = function (editor) { return editor.getParam('lists_indent_on_tab', true); }; var Settings = { shouldIndentOnTab: shouldIndentOnTab }; var setupTabKey = function (editor) { editor.on('keydown', function (e) { if (e.keyCode !== global$3.TAB || global$3.metaKeyPressed(e)) { return; } editor.undoManager.transact(function () { if (e.shiftKey ? outdentListSelection(editor) : indentListSelection(editor)) { e.preventDefault(); } }); }); }; var setup$1 = function (editor) { if (Settings.shouldIndentOnTab(editor)) { setupTabKey(editor); } Delete.setup(editor); }; var Keyboard = { setup: setup$1 }; var findIndex = function (list, predicate) { for (var index = 0; index < list.length; index++) { var element = list[index]; if (predicate(element)) { return index; } } return -1; }; var listState = function (editor, listName) { return function (e) { var ctrl = e.control; editor.on('NodeChange', function (e) { var tableCellIndex = findIndex(e.parents, NodeType.isTableCellNode); var parents = tableCellIndex !== -1 ? e.parents.slice(0, tableCellIndex) : e.parents; var lists = global$5.grep(parents, NodeType.isListNode); ctrl.active(lists.length > 0 && lists[0].nodeName === listName); }); }; }; var register$1 = function (editor) { var hasPlugin = function (editor, plugin) { var plugins = editor.settings.plugins ? editor.settings.plugins : ''; return global$5.inArray(plugins.split(/[ ,]/), plugin) !== -1; }; if (!hasPlugin(editor, 'advlist')) { editor.addButton('numlist', { active: false, title: 'Numbered list', cmd: 'InsertOrderedList', onPostRender: listState(editor, 'OL') }); editor.addButton('bullist', { active: false, title: 'Bullet list', cmd: 'InsertUnorderedList', onPostRender: listState(editor, 'UL') }); } editor.addButton('indent', { icon: 'indent', title: 'Increase indent', cmd: 'Indent' }); }; var Buttons = { register: register$1 }; global.add('lists', function (editor) { Keyboard.setup(editor); Buttons.register(editor); Commands.register(editor); return Api.get(editor); }); function Plugin () { } return Plugin; }(window)); })(); PK!KXiXi#tinymce/plugins/lists/plugin.min.jsnu[!function(u){"use strict";var e,n,t,r,o,i,s,a,c,f=tinymce.util.Tools.resolve("tinymce.PluginManager"),d=tinymce.util.Tools.resolve("tinymce.dom.RangeUtils"),l=tinymce.util.Tools.resolve("tinymce.dom.TreeWalker"),m=tinymce.util.Tools.resolve("tinymce.util.VK"),p=tinymce.util.Tools.resolve("tinymce.dom.BookmarkManager"),v=tinymce.util.Tools.resolve("tinymce.util.Tools"),g=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),h=function(e){return e&&"BR"===e.nodeName},y=function(e){return e&&3===e.nodeType},N=function(e){return e&&/^(OL|UL|DL)$/.test(e.nodeName)},S=function(e){return e&&/^(OL|UL)$/.test(e.nodeName)},C=function(e){return e&&/^(DT|DD)$/.test(e.nodeName)},O=function(e){return e&&/^(LI|DT|DD)$/.test(e.nodeName)},b=function(e){return e&&/^(TH|TD)$/.test(e.nodeName)},T=h,E=function(e,n){return n&&!!e.schema.getTextBlockElements()[n.nodeName]},L=function(e,n){return e&&e.nodeName in n},D=function(e,n){return!!h(n)&&!(!e.isBlock(n.nextSibling)||h(n.previousSibling))},w=function(e,n,t){var r=e.isEmpty(n);return!(t&&0=e.childNodes.length?t.data.length:0}:t.previousSibling&&y(t.previousSibling)?{container:t.previousSibling,offset:t.previousSibling.data.length}:t.nextSibling&&y(t.nextSibling)?{container:t.nextSibling,offset:0}:{container:e,offset:n}},x=function(e){var n=e.cloneRange(),t=A(e.startContainer,e.startOffset);n.setStart(t.container,t.offset);var r=A(e.endContainer,e.endOffset);return n.setEnd(r.container,r.offset),n},R=g.DOM,I=function(o){var i={},e=function(e){var n,t,r;t=o[e?"startContainer":"endContainer"],r=o[e?"startOffset":"endOffset"],1===t.nodeType&&(n=R.create("span",{"data-mce-type":"bookmark"}),t.hasChildNodes()?(r=Math.min(r,t.childNodes.length-1),e?t.insertBefore(n,t.childNodes[r]):R.insertAfter(n,t.childNodes[r])):t.appendChild(n),t=n,r=0),i[e?"startContainer":"endContainer"]=t,i[e?"startOffset":"endOffset"]=r};return e(!0),o.collapsed||e(),i},_=function(o){function e(e){var n,t,r;n=r=o[e?"startContainer":"endContainer"],t=o[e?"startOffset":"endOffset"],n&&(1===n.nodeType&&(t=function(e){for(var n=e.parentNode.firstChild,t=0;n;){if(n===e)return t;1===n.nodeType&&"bookmark"===n.getAttribute("data-mce-type")||t++,n=n.nextSibling}return-1}(n),n=n.parentNode,R.remove(r),!n.hasChildNodes()&&R.isBlock(n)&&n.appendChild(R.create("br"))),o[e?"startContainer":"endContainer"]=n,o[e?"startOffset":"endOffset"]=t)}e(!0),e();var n=R.createRng();return n.setStart(o.startContainer,o.startOffset),o.endContainer&&n.setEnd(o.endContainer,o.endOffset),x(n)},B=function(){},P=function(e){return function(){return e}},M=function(t){return function(){for(var e=[],n=0;ne.length?Sn(t,e,n):Nn(t,e,n)},[]),oe(o).map(function(e){return e.list})).toArray();var t,r,o},Pn=function(e){var n,t,r=J(ve.getSelectedListItems(e),ye.fromDom);return Ne(te(r,M(On)),te((n=r,(t=Y.call(n,0)).reverse(),t),M(On)),function(e,n){return{start:e,end:n}})},Mn=function(s,e,a){var n,t,r,o=(n=e,t=Pn(s),r=kn(!1),J(n,function(e){return{sourceList:e,entries:xn(0,t,r,e)}}));Z(o,function(e){var n,t,r,o,i,u;n=e.entries,t=a,Z(ee(n,Tn),function(e){return function(e,n){switch(e){case"Indent":n.depth++;break;case"Outdent":n.depth--;break;case"Flatten":n.depth=0}}(t,e)}),r=e.sourceList,i=s,u=e.entries,o=re(function(e,n){if(0===e.length)return[];for(var t=n(e[0]),r=[],o=[],i=0,u=e.length;i)?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?/g, function( a, b, c ) { var id, align, classes, caption, img, width; id = b.match( /id=['"]([^'"]*)['"] ?/ ); if ( id ) { b = b.replace( id[0], '' ); } align = b.match( /align=['"]([^'"]*)['"] ?/ ); if ( align ) { b = b.replace( align[0], '' ); } classes = b.match( /class=['"]([^'"]*)['"] ?/ ); if ( classes ) { b = b.replace( classes[0], '' ); } width = b.match( /width=['"]([0-9]*)['"] ?/ ); if ( width ) { b = b.replace( width[0], '' ); } c = trim( c ); img = c.match( /((?:
    ]+>)?]+>(?:<\/a>)?)([\s\S]*)/i ); if ( img && img[2] ) { caption = trim( img[2] ); img = trim( img[1] ); } else { // Old captions shortcode style. caption = trim( b ).replace( /caption=['"]/, '' ).replace( /['"]$/, '' ); img = c; } id = ( id && id[1] ) ? id[1].replace( /[<>&]+/g, '' ) : ''; align = ( align && align[1] ) ? align[1] : 'alignnone'; classes = ( classes && classes[1] ) ? ' ' + classes[1].replace( /[<>&]+/g, '' ) : ''; if ( ! width && img ) { width = img.match( /width=['"]([0-9]*)['"]/ ); } if ( width && width[1] ) { width = width[1]; } if ( ! width || ! caption ) { return c; } width = parseInt( width, 10 ); if ( ! editor.getParam( 'wpeditimage_html5_captions' ) ) { width += 10; } return '
    ' + '
    '+ img +'
    '+ caption +'
    '; }); } function getShortcode( content ) { return content.replace( /(?:
    ]+mceTemp[^>]+>)?\s*(
    ]+wp-caption[^>]+>[\s\S]+?<\/dl>)\s*(?:<\/div>)?/g, function( all, dl ) { var out = ''; if ( dl.indexOf('') !== -1 ) { // Broken caption. The user managed to drag the image out or type in the wrapper div? // Remove the
    ,
    and
    and return the remaining text. return dl.replace( /]+)?>/g, '' ).replace( /<\/d[ldt]>/g, '' ); } out = dl.replace( /\s*
    ]+)>\s*
    ]+>([\s\S]+?)<\/dt>\s*
    ]+>([\s\S]*?)<\/dd>\s*<\/dl>\s*/gi, function( a, b, c, caption ) { var id, classes, align, width; width = c.match( /width="([0-9]*)"/ ); width = ( width && width[1] ) ? width[1] : ''; classes = b.match( /class="([^"]*)"/ ); classes = ( classes && classes[1] ) ? classes[1] : ''; align = classes.match( /align[a-z]+/i ) || 'alignnone'; if ( ! width || ! caption ) { if ( 'alignnone' !== align[0] ) { c = c.replace( />]+)?>/g, function( a ) { // No line breaks inside HTML tags. return a.replace( /[\r\n\t]+/, ' ' ); }); // Convert remaining line breaks to
    . caption = caption.replace( /\s*\n\s*/g, '
    ' ); return '[caption id="' + id + '" align="' + align + '" width="' + width + '"' + classes + ']' + c + ' ' + caption + '[/caption]'; }); if ( out.indexOf('[caption') === -1 ) { // The caption html seems broken, try to find the image that may be wrapped in a link // and may be followed by

    with the caption text. out = dl.replace( /[\s\S]*?((?:]+>)?]+>(?:<\/a>)?)(

    [\s\S]*<\/p>)?[\s\S]*/gi, '

    $1

    $2' ); } return out; }); } function extractImageData( imageNode ) { var classes, extraClasses, metadata, captionBlock, caption, link, width, height, captionClassName = [], dom = editor.dom, isIntRegExp = /^\d+$/; // Default attributes. metadata = { attachment_id: false, size: 'custom', caption: '', align: 'none', extraClasses: '', link: false, linkUrl: '', linkClassName: '', linkTargetBlank: false, linkRel: '', title: '' }; metadata.url = dom.getAttrib( imageNode, 'src' ); metadata.alt = dom.getAttrib( imageNode, 'alt' ); metadata.title = dom.getAttrib( imageNode, 'title' ); width = dom.getAttrib( imageNode, 'width' ); height = dom.getAttrib( imageNode, 'height' ); if ( ! isIntRegExp.test( width ) || parseInt( width, 10 ) < 1 ) { width = imageNode.naturalWidth || imageNode.width; } if ( ! isIntRegExp.test( height ) || parseInt( height, 10 ) < 1 ) { height = imageNode.naturalHeight || imageNode.height; } metadata.customWidth = metadata.width = width; metadata.customHeight = metadata.height = height; classes = tinymce.explode( imageNode.className, ' ' ); extraClasses = []; tinymce.each( classes, function( name ) { if ( /^wp-image/.test( name ) ) { metadata.attachment_id = parseInt( name.replace( 'wp-image-', '' ), 10 ); } else if ( /^align/.test( name ) ) { metadata.align = name.replace( 'align', '' ); } else if ( /^size/.test( name ) ) { metadata.size = name.replace( 'size-', '' ); } else { extraClasses.push( name ); } } ); metadata.extraClasses = extraClasses.join( ' ' ); // Extract caption. captionBlock = dom.getParents( imageNode, '.wp-caption' ); if ( captionBlock.length ) { captionBlock = captionBlock[0]; classes = captionBlock.className.split( ' ' ); tinymce.each( classes, function( name ) { if ( /^align/.test( name ) ) { metadata.align = name.replace( 'align', '' ); } else if ( name && name !== 'wp-caption' ) { captionClassName.push( name ); } } ); metadata.captionClassName = captionClassName.join( ' ' ); caption = dom.select( 'dd.wp-caption-dd', captionBlock ); if ( caption.length ) { caption = caption[0]; metadata.caption = editor.serializer.serialize( caption ) .replace( /]*>/g, '$&\n' ).replace( /^

    /, '' ).replace( /<\/p>$/, '' ); } } // Extract linkTo. if ( imageNode.parentNode && imageNode.parentNode.nodeName === 'A' ) { link = imageNode.parentNode; metadata.linkUrl = dom.getAttrib( link, 'href' ); metadata.linkTargetBlank = dom.getAttrib( link, 'target' ) === '_blank' ? true : false; metadata.linkRel = dom.getAttrib( link, 'rel' ); metadata.linkClassName = link.className; } return metadata; } function hasTextContent( node ) { return node && !! ( node.textContent || node.innerText ).replace( /\ufeff/g, '' ); } // Verify HTML in captions. function verifyHTML( caption ) { if ( ! caption || ( caption.indexOf( '<' ) === -1 && caption.indexOf( '>' ) === -1 ) ) { return caption; } if ( ! serializer ) { serializer = new tinymce.html.Serializer( {}, editor.schema ); } return serializer.serialize( editor.parser.parse( caption, { forced_root_block: false } ) ); } function updateImage( $imageNode, imageData ) { var classes, className, node, html, parent, wrap, linkNode, imageNode, captionNode, dd, dl, id, attrs, linkAttrs, width, height, align, $imageNode, srcset, src, dom = editor.dom; if ( ! $imageNode || ! $imageNode.length ) { return; } imageNode = $imageNode[0]; classes = tinymce.explode( imageData.extraClasses, ' ' ); if ( ! classes ) { classes = []; } if ( ! imageData.caption ) { classes.push( 'align' + imageData.align ); } if ( imageData.attachment_id ) { classes.push( 'wp-image-' + imageData.attachment_id ); if ( imageData.size && imageData.size !== 'custom' ) { classes.push( 'size-' + imageData.size ); } } width = imageData.width; height = imageData.height; if ( imageData.size === 'custom' ) { width = imageData.customWidth; height = imageData.customHeight; } attrs = { src: imageData.url, width: width || null, height: height || null, title: imageData.title || null, 'class': classes.join( ' ' ) || null }; dom.setAttribs( imageNode, attrs ); // Preserve empty alt attributes. $imageNode.attr( 'alt', imageData.alt || '' ); linkAttrs = { href: imageData.linkUrl, rel: imageData.linkRel || null, target: imageData.linkTargetBlank ? '_blank': null, 'class': imageData.linkClassName || null }; if ( imageNode.parentNode && imageNode.parentNode.nodeName === 'A' && ! hasTextContent( imageNode.parentNode ) ) { // Update or remove an existing link wrapped around the image. if ( imageData.linkUrl ) { dom.setAttribs( imageNode.parentNode, linkAttrs ); } else { dom.remove( imageNode.parentNode, true ); } } else if ( imageData.linkUrl ) { if ( linkNode = dom.getParent( imageNode, 'a' ) ) { // The image is inside a link together with other nodes, // or is nested in another node, move it out. dom.insertAfter( imageNode, linkNode ); } // Add link wrapped around the image. linkNode = dom.create( 'a', linkAttrs ); imageNode.parentNode.insertBefore( linkNode, imageNode ); linkNode.appendChild( imageNode ); } captionNode = editor.dom.getParent( imageNode, '.mceTemp' ); if ( imageNode.parentNode && imageNode.parentNode.nodeName === 'A' && ! hasTextContent( imageNode.parentNode ) ) { node = imageNode.parentNode; } else { node = imageNode; } if ( imageData.caption ) { imageData.caption = verifyHTML( imageData.caption ); id = imageData.attachment_id ? 'attachment_' + imageData.attachment_id : null; align = 'align' + ( imageData.align || 'none' ); className = 'wp-caption ' + align; if ( imageData.captionClassName ) { className += ' ' + imageData.captionClassName.replace( /[<>&]+/g, '' ); } if ( ! editor.getParam( 'wpeditimage_html5_captions' ) ) { width = parseInt( width, 10 ); width += 10; } if ( captionNode ) { dl = dom.select( 'dl.wp-caption', captionNode ); if ( dl.length ) { dom.setAttribs( dl, { id: id, 'class': className, style: 'width: ' + width + 'px' } ); } dd = dom.select( '.wp-caption-dd', captionNode ); if ( dd.length ) { dom.setHTML( dd[0], imageData.caption ); } } else { id = id ? 'id="'+ id +'" ' : ''; // Should create a new function for generating the caption markup. html = '

    ' + '
    '+ imageData.caption +'
    '; wrap = dom.create( 'div', { 'class': 'mceTemp' }, html ); if ( parent = dom.getParent( node, 'p' ) ) { parent.parentNode.insertBefore( wrap, parent ); } else { node.parentNode.insertBefore( wrap, node ); } editor.$( wrap ).find( 'dt.wp-caption-dt' ).append( node ); if ( parent && dom.isEmpty( parent ) ) { dom.remove( parent ); } } } else if ( captionNode ) { // Remove the caption wrapper and place the image in new paragraph. parent = dom.create( 'p' ); captionNode.parentNode.insertBefore( parent, captionNode ); parent.appendChild( node ); dom.remove( captionNode ); } $imageNode = editor.$( imageNode ); srcset = $imageNode.attr( 'srcset' ); src = $imageNode.attr( 'src' ); // Remove srcset and sizes if the image file was edited or the image was replaced. if ( srcset && src ) { src = src.replace( /[?#].*/, '' ); if ( srcset.indexOf( src ) === -1 ) { $imageNode.attr( 'srcset', null ).attr( 'sizes', null ); } } if ( wp.media.events ) { wp.media.events.trigger( 'editor:image-update', { editor: editor, metadata: imageData, image: imageNode } ); } editor.nodeChanged(); } function editImage( img ) { var frame, callback, metadata, imageNode; if ( typeof wp === 'undefined' || ! wp.media ) { editor.execCommand( 'mceImage' ); return; } metadata = extractImageData( img ); // Mark the image node so we can select it later. editor.$( img ).attr( 'data-wp-editing', 1 ); // Manipulate the metadata by reference that is fed into the PostImage model used in the media modal. wp.media.events.trigger( 'editor:image-edit', { editor: editor, metadata: metadata, image: img } ); frame = wp.media({ frame: 'image', state: 'image-details', metadata: metadata } ); wp.media.events.trigger( 'editor:frame-create', { frame: frame } ); callback = function( imageData ) { editor.undoManager.transact( function() { updateImage( imageNode, imageData ); } ); frame.detach(); }; frame.state('image-details').on( 'update', callback ); frame.state('replace-image').on( 'replace', callback ); frame.on( 'close', function() { editor.focus(); frame.detach(); /* * `close` fires first... * To be able to update the image node, we need to find it here, * and use it in the callback. */ imageNode = editor.$( 'img[data-wp-editing]' ) imageNode.removeAttr( 'data-wp-editing' ); }); frame.open(); } function removeImage( node ) { var wrap = editor.dom.getParent( node, 'div.mceTemp' ); if ( ! wrap && node.nodeName === 'IMG' ) { wrap = editor.dom.getParent( node, 'a' ); } if ( wrap ) { if ( wrap.nextSibling ) { editor.selection.select( wrap.nextSibling ); } else if ( wrap.previousSibling ) { editor.selection.select( wrap.previousSibling ); } else { editor.selection.select( wrap.parentNode ); } editor.selection.collapse( true ); editor.dom.remove( wrap ); } else { editor.dom.remove( node ); } editor.nodeChanged(); editor.undoManager.add(); } editor.on( 'init', function() { var dom = editor.dom, captionClass = editor.getParam( 'wpeditimage_html5_captions' ) ? 'html5-captions' : 'html4-captions'; dom.addClass( editor.getBody(), captionClass ); // Prevent IE11 from making dl.wp-caption resizable. if ( tinymce.Env.ie && tinymce.Env.ie > 10 ) { // The 'mscontrolselect' event is supported only in IE11+. dom.bind( editor.getBody(), 'mscontrolselect', function( event ) { if ( event.target.nodeName === 'IMG' && dom.getParent( event.target, '.wp-caption' ) ) { // Hide the thick border with resize handles around dl.wp-caption. editor.getBody().focus(); // :( } else if ( event.target.nodeName === 'DL' && dom.hasClass( event.target, 'wp-caption' ) ) { // Trigger the thick border with resize handles... // This will make the caption text editable. event.target.focus(); } }); } }); editor.on( 'ObjectResized', function( event ) { var node = event.target; if ( node.nodeName === 'IMG' ) { editor.undoManager.transact( function() { var parent, width, dom = editor.dom; node.className = node.className.replace( /\bsize-[^ ]+/, '' ); if ( parent = dom.getParent( node, '.wp-caption' ) ) { width = event.width || dom.getAttrib( node, 'width' ); if ( width ) { width = parseInt( width, 10 ); if ( ! editor.getParam( 'wpeditimage_html5_captions' ) ) { width += 10; } dom.setStyle( parent, 'width', width + 'px' ); } } }); } }); editor.on( 'pastePostProcess', function( event ) { // Pasting in a caption node. if ( editor.dom.getParent( editor.selection.getNode(), 'dd.wp-caption-dd' ) ) { // Remove "non-block" elements that should not be in captions. editor.$( 'img, audio, video, object, embed, iframe, script, style', event.node ).remove(); editor.$( '*', event.node ).each( function( i, node ) { if ( editor.dom.isBlock( node ) ) { // Insert
    where the blocks used to be. Makes it look better after pasting in the caption. if ( tinymce.trim( node.textContent || node.innerText ) ) { editor.dom.insertAfter( editor.dom.create( 'br' ), node ); editor.dom.remove( node, true ); } else { editor.dom.remove( node ); } } }); // Trim
    tags. editor.$( 'br', event.node ).each( function( i, node ) { if ( ! node.nextSibling || node.nextSibling.nodeName === 'BR' || ! node.previousSibling || node.previousSibling.nodeName === 'BR' ) { editor.dom.remove( node ); } } ); // Pasted HTML is cleaned up for inserting in the caption. pasteInCaption = true; } }); editor.on( 'BeforeExecCommand', function( event ) { var node, p, DL, align, replacement, captionParent, cmd = event.command, dom = editor.dom; if ( cmd === 'mceInsertContent' || cmd === 'Indent' || cmd === 'Outdent' ) { node = editor.selection.getNode(); captionParent = dom.getParent( node, 'div.mceTemp' ); if ( captionParent ) { if ( cmd === 'mceInsertContent' ) { if ( pasteInCaption ) { pasteInCaption = false; /* * We are in the caption element, and in 'paste' context, * and the pasted HTML was cleaned up on 'pastePostProcess' above. * Let it be pasted in the caption. */ return; } /* * The paste is somewhere else in the caption DL element. * Prevent pasting in there as it will break the caption. * Make new paragraph under the caption DL and move the caret there. */ p = dom.create( 'p' ); dom.insertAfter( p, captionParent ); editor.selection.setCursorLocation( p, 0 ); /* * If the image is selected and the user pastes "over" it, * replace both the image and the caption elements with the pasted content. * This matches the behavior when pasting over non-caption images. */ if ( node.nodeName === 'IMG' ) { editor.$( captionParent ).remove(); } editor.nodeChanged(); } else { // Clicking Indent or Outdent while an image with a caption is selected breaks the caption. // See #38313. event.preventDefault(); event.stopImmediatePropagation(); return false; } } } else if ( cmd === 'JustifyLeft' || cmd === 'JustifyRight' || cmd === 'JustifyCenter' || cmd === 'wpAlignNone' ) { node = editor.selection.getNode(); align = 'align' + cmd.slice( 7 ).toLowerCase(); DL = editor.dom.getParent( node, '.wp-caption' ); if ( node.nodeName !== 'IMG' && ! DL ) { return; } node = DL || node; if ( editor.dom.hasClass( node, align ) ) { replacement = ' alignnone'; } else { replacement = ' ' + align; } node.className = trim( node.className.replace( / ?align(left|center|right|none)/g, '' ) + replacement ); editor.nodeChanged(); event.preventDefault(); if ( toolbar ) { toolbar.reposition(); } editor.fire( 'ExecCommand', { command: cmd, ui: event.ui, value: event.value } ); } }); editor.on( 'keydown', function( event ) { var node, wrap, P, spacer, selection = editor.selection, keyCode = event.keyCode, dom = editor.dom, VK = tinymce.util.VK; if ( keyCode === VK.ENTER ) { // When pressing Enter inside a caption move the caret to a new parapraph under it. node = selection.getNode(); wrap = dom.getParent( node, 'div.mceTemp' ); if ( wrap ) { dom.events.cancel( event ); // Doesn't cancel all :( // Remove any extra dt and dd cleated on pressing Enter... tinymce.each( dom.select( 'dt, dd', wrap ), function( element ) { if ( dom.isEmpty( element ) ) { dom.remove( element ); } }); spacer = tinymce.Env.ie && tinymce.Env.ie < 11 ? '' : '
    '; P = dom.create( 'p', null, spacer ); if ( node.nodeName === 'DD' ) { dom.insertAfter( P, wrap ); } else { wrap.parentNode.insertBefore( P, wrap ); } editor.nodeChanged(); selection.setCursorLocation( P, 0 ); } } else if ( keyCode === VK.DELETE || keyCode === VK.BACKSPACE ) { node = selection.getNode(); if ( node.nodeName === 'DIV' && dom.hasClass( node, 'mceTemp' ) ) { wrap = node; } else if ( node.nodeName === 'IMG' || node.nodeName === 'DT' || node.nodeName === 'A' ) { wrap = dom.getParent( node, 'div.mceTemp' ); } if ( wrap ) { dom.events.cancel( event ); removeImage( node ); return false; } } }); /* * After undo/redo FF seems to set the image height very slowly when it is set to 'auto' in the CSS. * This causes image.getBoundingClientRect() to return wrong values and the resize handles are shown in wrong places. * Collapse the selection to remove the resize handles. */ if ( tinymce.Env.gecko ) { editor.on( 'undo redo', function() { if ( editor.selection.getNode().nodeName === 'IMG' ) { editor.selection.collapse(); } }); } editor.wpSetImgCaption = function( content ) { return parseShortcode( content ); }; editor.wpGetImgCaption = function( content ) { return getShortcode( content ); }; editor.on( 'beforeGetContent', function( event ) { if ( event.format !== 'raw' ) { editor.$( 'img[id="__wp-temp-img-id"]' ).removeAttr( 'id' ); } }); editor.on( 'BeforeSetContent', function( event ) { if ( event.format !== 'raw' ) { event.content = editor.wpSetImgCaption( event.content ); } }); editor.on( 'PostProcess', function( event ) { if ( event.get ) { event.content = editor.wpGetImgCaption( event.content ); } }); ( function() { var wrap; editor.on( 'dragstart', function() { var node = editor.selection.getNode(); if ( node.nodeName === 'IMG' ) { wrap = editor.dom.getParent( node, '.mceTemp' ); if ( ! wrap && node.parentNode.nodeName === 'A' && ! hasTextContent( node.parentNode ) ) { wrap = node.parentNode; } } } ); editor.on( 'drop', function( event ) { var dom = editor.dom, rng = tinymce.dom.RangeUtils.getCaretRangeFromPoint( event.clientX, event.clientY, editor.getDoc() ); // Don't allow anything to be dropped in a captioned image. if ( rng && dom.getParent( rng.startContainer, '.mceTemp' ) ) { event.preventDefault(); } else if ( wrap ) { event.preventDefault(); editor.undoManager.transact( function() { if ( rng ) { editor.selection.setRng( rng ); } editor.selection.setNode( wrap ); dom.remove( wrap ); } ); } wrap = null; } ); } )(); // Add to editor.wp. editor.wp = editor.wp || {}; editor.wp.isPlaceholder = isPlaceholder; // Back-compat. return { _do_shcode: parseShortcode, _get_shcode: getShortcode }; }); PK!M%/%/)tinymce/plugins/wpeditimage/plugin.min.jsnu[tinymce.PluginManager.add("wpeditimage",function(g){var r,u,n,c,a,e=tinymce.each,l=tinymce.trim,t=tinymce.Env.iOS;function i(e){return!(!g.dom.getAttrib(e,"data-mce-placeholder")&&!g.dom.getAttrib(e,"data-mce-object"))}function o(e){e=g.$(e).parents("[contenteditable]");return e&&"false"===e.attr("contenteditable")}function d(e){return e.replace(/(?:

    )?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?/g,function(e,t,n){var a,i,o,r,c,d=t.match(/id=['"]([^'"]*)['"] ?/);return(c=(t=(i=(t=(a=(t=d?t.replace(d[0],""):t).match(/align=['"]([^'"]*)['"] ?/))?t.replace(a[0],""):t).match(/class=['"]([^'"]*)['"] ?/))?t.replace(i[0],""):t).match(/width=['"]([0-9]*)['"] ?/))&&(t=t.replace(c[0],"")),r=(r=(n=l(n)).match(/((?:]+>)?]+>(?:<\/a>)?)([\s\S]*)/i))&&r[2]?(o=l(r[2]),l(r[1])):(o=l(t).replace(/caption=['"]/,"").replace(/['"]$/,""),n),d=d&&d[1]?d[1].replace(/[<>&]+/g,""):"",a=a&&a[1]?a[1]:"alignnone",i=i&&i[1]?" "+i[1].replace(/[<>&]+/g,""):"",(c=(c=!c&&r?r.match(/width=['"]([0-9]*)['"]/):c)&&c[1]?c[1]:c)&&o?(c=parseInt(c,10),g.getParam("wpeditimage_html5_captions")||(c+=10),'

    "):n})}function s(e){return e.replace(/(?:
    ]+mceTemp[^>]+>)?\s*(
    ]+wp-caption[^>]+>[\s\S]+?<\/dl>)\s*(?:<\/div>)?/g,function(e,t){var n="";return-1===t.indexOf("")?t.replace(/]+)?>/g,"").replace(/<\/d[ldt]>/g,""):-1===(n=t.replace(/\s*
    ]+)>\s*
    ]+>([\s\S]+?)<\/dt>\s*
    ]+>([\s\S]*?)<\/dd>\s*<\/dl>\s*/gi,function(e,t,n,a){var i,o,r=n.match(/width="([0-9]*)"/);return r=r&&r[1]?r[1]:"",o=(i=(i=t.match(/class="([^"]*)"/))&&i[1]?i[1]:"").match(/align[a-z]+/i)||"alignnone",r&&a?'[caption id="'+((t=t.match(/id="([^"]*)"/))&&t[1]?t[1]:"")+'" align="'+o+'" width="'+r+'"'+(i=(i=i.replace(/wp-caption ?|align[a-z]+ ?/gi,""))&&' class="'+i+'"')+"]"+n+" "+(a=(a=a.replace(/\r\n|\r/g,"\n").replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g,function(e){return e.replace(/[\r\n\t]+/," ")})).replace(/\s*\n\s*/g,"
    "))+"[/caption]":"alignnone"!==o[0]?n.replace(/>]+>)?]+>(?:<\/a>)?)(

    [\s\S]*<\/p>)?[\s\S]*/gi,"

    $1

    $2"):n})}function h(e){return e&&(e.textContent||e.innerText).replace(/\ufeff/g,"")}function m(e){var t=g.dom.getParent(e,"div.mceTemp");(t=t||"IMG"!==e.nodeName?t:g.dom.getParent(e,"a"))?(t.nextSibling?g.selection.select(t.nextSibling):t.previousSibling?g.selection.select(t.previousSibling):g.selection.select(t.parentNode),g.selection.collapse(!0),g.dom.remove(t)):g.dom.remove(e),g.nodeChanged(),g.undoManager.add()}return g.addButton("wp_img_remove",{tooltip:"Remove",icon:"dashicon dashicons-no",onclick:function(){m(g.selection.getNode())}}),g.addButton("wp_img_edit",{tooltip:"Edit|button",icon:"dashicon dashicons-edit",onclick:function(){var e,t,n,p;e=g.selection.getNode(),"undefined"!=typeof wp&&wp.media?(n=function(e){var t,n,a,i,o=[],r=g.dom,c=/^\d+$/;(n={attachment_id:!1,size:"custom",caption:"",align:"none",extraClasses:"",link:!1,linkUrl:"",linkClassName:"",linkTargetBlank:!1,linkRel:"",title:""}).url=r.getAttrib(e,"src"),n.alt=r.getAttrib(e,"alt"),n.title=r.getAttrib(e,"title"),a=r.getAttrib(e,"width"),i=r.getAttrib(e,"height"),(!c.test(a)||parseInt(a,10)<1)&&(a=e.naturalWidth||e.width);(!c.test(i)||parseInt(i,10)<1)&&(i=e.naturalHeight||e.height);n.customWidth=n.width=a,n.customHeight=n.height=i,c=tinymce.explode(e.className," "),t=[],tinymce.each(c,function(e){/^wp-image/.test(e)?n.attachment_id=parseInt(e.replace("wp-image-",""),10):/^align/.test(e)?n.align=e.replace("align",""):/^size/.test(e)?n.size=e.replace("size-",""):t.push(e)}),n.extraClasses=t.join(" "),(a=r.getParents(e,".wp-caption")).length&&(a=a[0],c=a.className.split(" "),tinymce.each(c,function(e){/^align/.test(e)?n.align=e.replace("align",""):e&&"wp-caption"!==e&&o.push(e)}),n.captionClassName=o.join(" "),(i=r.select("dd.wp-caption-dd",a)).length)&&(i=i[0],n.caption=g.serializer.serialize(i).replace(/]*>/g,"$&\n").replace(/^

    /,"").replace(/<\/p>$/,""));e.parentNode&&"A"===e.parentNode.nodeName&&(c=e.parentNode,n.linkUrl=r.getAttrib(c,"href"),n.linkTargetBlank="_blank"===r.getAttrib(c,"target"),n.linkRel=r.getAttrib(c,"rel"),n.linkClassName=c.className);return n}(e),g.$(e).attr("data-wp-editing",1),wp.media.events.trigger("editor:image-edit",{editor:g,metadata:n,image:e}),t=wp.media({frame:"image",state:"image-details",metadata:n}),wp.media.events.trigger("editor:frame-create",{frame:t}),e=function(m){g.undoManager.transact(function(){var e,t,n,a,i,o,r,c,d,l,s;e=p,t=m,s=g.dom,e&&e.length&&(a=e[0],r=(r=tinymce.explode(t.extraClasses," "))||[],t.caption||r.push("align"+t.align),t.attachment_id&&(r.push("wp-image-"+t.attachment_id),t.size)&&"custom"!==t.size&&r.push("size-"+t.size),l=t.width,c=t.height,"custom"===t.size&&(l=t.customWidth,c=t.customHeight),c={src:t.url,width:l||null,height:c||null,title:t.title||null,class:r.join(" ")||null},s.setAttribs(a,c),e.attr("alt",t.alt||""),r={href:t.linkUrl,rel:t.linkRel||null,target:t.linkTargetBlank?"_blank":null,class:t.linkClassName||null},a.parentNode&&"A"===a.parentNode.nodeName&&!h(a.parentNode)?t.linkUrl?s.setAttribs(a.parentNode,r):s.remove(a.parentNode,!0):t.linkUrl&&((c=s.getParent(a,"a"))&&s.insertAfter(a,c),c=s.create("a",r),a.parentNode.insertBefore(c,a),c.appendChild(a)),r=g.dom.getParent(a,".mceTemp"),c=a.parentNode&&"A"===a.parentNode.nodeName&&!h(a.parentNode)?a.parentNode:a,t.caption?(t.caption=function(e){if(!e||-1===e.indexOf("<")&&-1===e.indexOf(">"))return e;u=u||new tinymce.html.Serializer({},g.schema);return u.serialize(g.parser.parse(e,{forced_root_block:!1}))}(t.caption),o=t.attachment_id?"attachment_"+t.attachment_id:null,d="wp-caption "+(d="align"+(t.align||"none")),t.captionClassName&&(d+=" "+t.captionClassName.replace(/[<>&]+/g,"")),g.getParam("wpeditimage_html5_captions")||(l=parseInt(l,10),l+=10),r?((i=s.select("dl.wp-caption",r)).length&&s.setAttribs(i,{id:o,class:d,style:"width: "+l+"px"}),(i=s.select(".wp-caption-dd",r)).length&&s.setHTML(i[0],t.caption)):(i="

    '+t.caption+"
    ",o=s.create("div",{class:"mceTemp"},i),(n=s.getParent(c,"p"))?n.parentNode.insertBefore(o,n):c.parentNode.insertBefore(o,c),g.$(o).find("dt.wp-caption-dt").append(c),n&&s.isEmpty(n)&&s.remove(n))):r&&(n=s.create("p"),r.parentNode.insertBefore(n,r),n.appendChild(c),s.remove(r)),e=g.$(a),d=e.attr("srcset"),l=e.attr("src"),d&&l&&(l=l.replace(/[?#].*/,""),-1===d.indexOf(l))&&e.attr("srcset",null).attr("sizes",null),wp.media.events&&wp.media.events.trigger("editor:image-update",{editor:g,metadata:t,image:a}),g.nodeChanged())}),t.detach()},t.state("image-details").on("update",e),t.state("replace-image").on("replace",e),t.on("close",function(){g.focus(),t.detach(),(p=g.$("img[data-wp-editing]")).removeAttr("data-wp-editing")}),t.open()):g.execCommand("mceImage")}}),e({alignleft:"Align left",aligncenter:"Align center",alignright:"Align right",alignnone:"No alignment"},function(e,n){var t=n.slice(5);g.addButton("wp_img_"+n,{tooltip:e,icon:"dashicon dashicons-align-"+t,cmd:"alignnone"===n?"wpAlignNone":"Justify"+t.slice(0,1).toUpperCase()+t.slice(1),onPostRender:function(){var t=this;g.on("NodeChange",function(e){"IMG"===e.element.nodeName&&(e=g.dom.getParent(e.element,".wp-caption")||e.element,"alignnone"===n?t.active(!/\balign(left|center|right)\b/.test(e.className)):t.active(g.dom.hasClass(e,n)))})}})}),g.once("preinit",function(){g.wp&&g.wp._createToolbar&&(r=g.wp._createToolbar(["wp_img_alignleft","wp_img_aligncenter","wp_img_alignright","wp_img_alignnone","wp_img_edit","wp_img_remove"]))}),g.on("wptoolbar",function(e){"IMG"!==e.element.nodeName||i(e.element)||(e.toolbar=r)}),t&&g.on("init",function(){g.on("touchstart",function(e){"IMG"!==e.target.nodeName||o(e.target)||(n=!0)}),g.dom.bind(g.getDoc(),"touchmove",function(){n=!1}),g.on("touchend",function(e){var t;n&&"IMG"===e.target.nodeName&&!o(e.target)?(t=e.target,n=!1,window.setTimeout(function(){g.selection.select(t),g.nodeChanged()},100)):r&&r.hide()})}),g.on("init",function(){var t=g.dom,e=g.getParam("wpeditimage_html5_captions")?"html5-captions":"html4-captions";t.addClass(g.getBody(),e),tinymce.Env.ie&&10',a=r.create("p",null,a),"DD"===t.nodeName?r.insertAfter(a,n):n.parentNode.insertBefore(a,n),g.nodeChanged(),i.setCursorLocation(a,0));else if((o===c.DELETE||o===c.BACKSPACE)&&("DIV"===(t=i.getNode()).nodeName&&r.hasClass(t,"mceTemp")?n=t:"IMG"!==t.nodeName&&"DT"!==t.nodeName&&"A"!==t.nodeName||(n=r.getParent(t,"div.mceTemp")),n))return r.events.cancel(e),m(t),!1}),tinymce.Env.gecko&&g.on("undo redo",function(){"IMG"===g.selection.getNode().nodeName&&g.selection.collapse()}),g.wpSetImgCaption=d,g.wpGetImgCaption=s,g.on("beforeGetContent",function(e){"raw"!==e.format&&g.$('img[id="__wp-temp-img-id"]').removeAttr("id")}),g.on("BeforeSetContent",function(e){"raw"!==e.format&&(e.content=g.wpSetImgCaption(e.content))}),g.on("PostProcess",function(e){e.get&&(e.content=g.wpGetImgCaption(e.content))}),g.on("dragstart",function(){var e=g.selection.getNode();"IMG"!==e.nodeName||(a=g.dom.getParent(e,".mceTemp"))||"A"!==e.parentNode.nodeName||h(e.parentNode)||(a=e.parentNode)}),g.on("drop",function(e){var t=g.dom,n=tinymce.dom.RangeUtils.getCaretRangeFromPoint(e.clientX,e.clientY,g.getDoc());n&&t.getParent(n.startContainer,".mceTemp")?e.preventDefault():a&&(e.preventDefault(),g.undoManager.transact(function(){n&&g.selection.setRng(n),g.selection.setNode(a),t.remove(a)})),a=null}),g.wp=g.wp||{},g.wp.isPlaceholder=i,{_do_shcode:d,_get_shcode:s}});PK!a %tinymce/plugins/colorpicker/plugin.jsnu[(function () { var colorpicker = (function () { 'use strict'; var global = tinymce.util.Tools.resolve('tinymce.PluginManager'); var global$1 = tinymce.util.Tools.resolve('tinymce.util.Color'); var showPreview = function (win, hexColor) { win.find('#preview')[0].getEl().style.background = hexColor; }; var setColor = function (win, value) { var color = global$1(value), rgb = color.toRgb(); win.fromJSON({ r: rgb.r, g: rgb.g, b: rgb.b, hex: color.toHex().substr(1) }); showPreview(win, color.toHex()); }; var open = function (editor, callback, value) { var win = editor.windowManager.open({ title: 'Color', items: { type: 'container', layout: 'flex', direction: 'row', align: 'stretch', padding: 5, spacing: 10, items: [ { type: 'colorpicker', value: value, onchange: function () { var rgb = this.rgb(); if (win) { win.find('#r').value(rgb.r); win.find('#g').value(rgb.g); win.find('#b').value(rgb.b); win.find('#hex').value(this.value().substr(1)); showPreview(win, this.value()); } } }, { type: 'form', padding: 0, labelGap: 5, defaults: { type: 'textbox', size: 7, value: '0', flex: 1, spellcheck: false, onchange: function () { var colorPickerCtrl = win.find('colorpicker')[0]; var name, value; name = this.name(); value = this.value(); if (name === 'hex') { value = '#' + value; setColor(win, value); colorPickerCtrl.value(value); return; } value = { r: win.find('#r').value(), g: win.find('#g').value(), b: win.find('#b').value() }; colorPickerCtrl.value(value); setColor(win, value); } }, items: [ { name: 'r', label: 'R', autofocus: 1 }, { name: 'g', label: 'G' }, { name: 'b', label: 'B' }, { name: 'hex', label: '#', value: '000000' }, { name: 'preview', type: 'container', border: 1 } ] } ] }, onSubmit: function () { callback('#' + win.toJSON().hex); } }); setColor(win, value); }; var Dialog = { open: open }; global.add('colorpicker', function (editor) { if (!editor.settings.color_picker_callback) { editor.settings.color_picker_callback = function (callback, value) { Dialog.open(editor, callback, value); }; } }); function Plugin () { } return Plugin; }()); })(); PK!EE)tinymce/plugins/colorpicker/plugin.min.jsnu[!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),l=tinymce.util.Tools.resolve("tinymce.util.Color"),a=function(e,n){e.find("#preview")[0].getEl().style.background=n},o=function(e,n){var i=l(n),t=i.toRgb();e.fromJSON({r:t.r,g:t.g,b:t.b,hex:i.toHex().substr(1)}),a(e,i.toHex())},t=function(e,n,i){var t=e.windowManager.open({title:"Color",items:{type:"container",layout:"flex",direction:"row",align:"stretch",padding:5,spacing:10,items:[{type:"colorpicker",value:i,onchange:function(){var e=this.rgb();t&&(t.find("#r").value(e.r),t.find("#g").value(e.g),t.find("#b").value(e.b),t.find("#hex").value(this.value().substr(1)),a(t,this.value()))}},{type:"form",padding:0,labelGap:5,defaults:{type:"textbox",size:7,value:"0",flex:1,spellcheck:!1,onchange:function(){var e,n,i=t.find("colorpicker")[0];if(e=this.name(),n=this.value(),"hex"===e)return o(t,n="#"+n),void i.value(n);n={r:t.find("#r").value(),g:t.find("#g").value(),b:t.find("#b").value()},i.value(n),o(t,n)}},items:[{name:"r",label:"R",autofocus:1},{name:"g",label:"G"},{name:"b",label:"B"},{name:"hex",label:"#",value:"000000"},{name:"preview",type:"container",border:1}]}]},onSubmit:function(){n("#"+t.toJSON().hex)}});o(t,i)};e.add("colorpicker",function(i){i.settings.color_picker_callback||(i.settings.color_picker_callback=function(e,n){t(i,e,n)})})}();PK!+zztinymce/plugins/media/plugin.jsnu[(function () { var media = (function () { 'use strict'; var global = tinymce.util.Tools.resolve('tinymce.PluginManager'); var global$1 = tinymce.util.Tools.resolve('tinymce.Env'); var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools'); var getScripts = function (editor) { return editor.getParam('media_scripts'); }; var getAudioTemplateCallback = function (editor) { return editor.getParam('audio_template_callback'); }; var getVideoTemplateCallback = function (editor) { return editor.getParam('video_template_callback'); }; var hasLiveEmbeds = function (editor) { return editor.getParam('media_live_embeds', true); }; var shouldFilterHtml = function (editor) { return editor.getParam('media_filter_html', true); }; var getUrlResolver = function (editor) { return editor.getParam('media_url_resolver'); }; var hasAltSource = function (editor) { return editor.getParam('media_alt_source', true); }; var hasPoster = function (editor) { return editor.getParam('media_poster', true); }; var hasDimensions = function (editor) { return editor.getParam('media_dimensions', true); }; var Settings = { getScripts: getScripts, getAudioTemplateCallback: getAudioTemplateCallback, getVideoTemplateCallback: getVideoTemplateCallback, hasLiveEmbeds: hasLiveEmbeds, shouldFilterHtml: shouldFilterHtml, getUrlResolver: getUrlResolver, hasAltSource: hasAltSource, hasPoster: hasPoster, hasDimensions: hasDimensions }; var Cell = function (initial) { var value = initial; var get = function () { return value; }; var set = function (v) { value = v; }; var clone = function () { return Cell(get()); }; return { get: get, set: set, clone: clone }; }; var noop = function () { }; var constant = function (value) { return function () { return value; }; }; var never = constant(false); var always = constant(true); var none = function () { return NONE; }; var NONE = function () { var eq = function (o) { return o.isNone(); }; var call = function (thunk) { return thunk(); }; var id = function (n) { return n; }; var me = { fold: function (n, s) { return n(); }, is: never, isSome: never, isNone: always, getOr: id, getOrThunk: call, getOrDie: function (msg) { throw new Error(msg || 'error: getOrDie called on none.'); }, getOrNull: constant(null), getOrUndefined: constant(undefined), or: id, orThunk: call, map: none, each: noop, bind: none, exists: never, forall: always, filter: none, equals: eq, equals_: eq, toArray: function () { return []; }, toString: constant('none()') }; if (Object.freeze) { Object.freeze(me); } return me; }(); var some = function (a) { var constant_a = constant(a); var self = function () { return me; }; var bind = function (f) { return f(a); }; var me = { fold: function (n, s) { return s(a); }, is: function (v) { return a === v; }, isSome: always, isNone: never, getOr: constant_a, getOrThunk: constant_a, getOrDie: constant_a, getOrNull: constant_a, getOrUndefined: constant_a, or: self, orThunk: self, map: function (f) { return some(f(a)); }, each: function (f) { f(a); }, bind: bind, exists: bind, forall: bind, filter: function (f) { return f(a) ? me : NONE; }, toArray: function () { return [a]; }, toString: function () { return 'some(' + a + ')'; }, equals: function (o) { return o.is(a); }, equals_: function (o, elementEq) { return o.fold(never, function (b) { return elementEq(a, b); }); } }; return me; }; var from = function (value) { return value === null || value === undefined ? NONE : some(value); }; var Option = { some: some, none: none, from: from }; var hasOwnProperty = Object.hasOwnProperty; var get = function (obj, key) { return has(obj, key) ? Option.from(obj[key]) : Option.none(); }; var has = function (obj, key) { return hasOwnProperty.call(obj, key); }; var global$3 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils'); var global$4 = tinymce.util.Tools.resolve('tinymce.html.SaxParser'); var getVideoScriptMatch = function (prefixes, src) { if (prefixes) { for (var i = 0; i < prefixes.length; i++) { if (src.indexOf(prefixes[i].filter) !== -1) { return prefixes[i]; } } } }; var VideoScript = { getVideoScriptMatch: getVideoScriptMatch }; var DOM = global$3.DOM; var trimPx = function (value) { return value.replace(/px$/, ''); }; var getEphoxEmbedData = function (attrs) { var style = attrs.map.style; var styles = style ? DOM.parseStyle(style) : {}; return { type: 'ephox-embed-iri', source1: attrs.map['data-ephox-embed-iri'], source2: '', poster: '', width: get(styles, 'max-width').map(trimPx).getOr(''), height: get(styles, 'max-height').map(trimPx).getOr('') }; }; var htmlToData = function (prefixes, html) { var isEphoxEmbed = Cell(false); var data = {}; global$4({ validate: false, allow_conditional_comments: true, special: 'script,noscript', start: function (name, attrs) { if (isEphoxEmbed.get()) ; else if (has(attrs.map, 'data-ephox-embed-iri')) { isEphoxEmbed.set(true); data = getEphoxEmbedData(attrs); } else { if (!data.source1 && name === 'param') { data.source1 = attrs.map.movie; } if (name === 'iframe' || name === 'object' || name === 'embed' || name === 'video' || name === 'audio') { if (!data.type) { data.type = name; } data = global$2.extend(attrs.map, data); } if (name === 'script') { var videoScript = VideoScript.getVideoScriptMatch(prefixes, attrs.map.src); if (!videoScript) { return; } data = { type: 'script', source1: attrs.map.src, width: videoScript.width, height: videoScript.height }; } if (name === 'source') { if (!data.source1) { data.source1 = attrs.map.src; } else if (!data.source2) { data.source2 = attrs.map.src; } } if (name === 'img' && !data.poster) { data.poster = attrs.map.src; } } } }).parse(html); data.source1 = data.source1 || data.src || data.data; data.source2 = data.source2 || ''; data.poster = data.poster || ''; return data; }; var HtmlToData = { htmlToData: htmlToData }; var global$5 = tinymce.util.Tools.resolve('tinymce.util.Promise'); var guess = function (url) { var mimes = { mp3: 'audio/mpeg', wav: 'audio/wav', mp4: 'video/mp4', webm: 'video/webm', ogg: 'video/ogg', swf: 'application/x-shockwave-flash' }; var fileEnd = url.toLowerCase().split('.').pop(); var mime = mimes[fileEnd]; return mime ? mime : ''; }; var Mime = { guess: guess }; var global$6 = tinymce.util.Tools.resolve('tinymce.html.Schema'); var global$7 = tinymce.util.Tools.resolve('tinymce.html.Writer'); var DOM$1 = global$3.DOM; var addPx = function (value) { return /^[0-9.]+$/.test(value) ? value + 'px' : value; }; var setAttributes = function (attrs, updatedAttrs) { for (var name in updatedAttrs) { var value = '' + updatedAttrs[name]; if (attrs.map[name]) { var i = attrs.length; while (i--) { var attr = attrs[i]; if (attr.name === name) { if (value) { attrs.map[name] = value; attr.value = value; } else { delete attrs.map[name]; attrs.splice(i, 1); } } } } else if (value) { attrs.push({ name: name, value: value }); attrs.map[name] = value; } } }; var updateEphoxEmbed = function (data, attrs) { var style = attrs.map.style; var styleMap = style ? DOM$1.parseStyle(style) : {}; styleMap['max-width'] = addPx(data.width); styleMap['max-height'] = addPx(data.height); setAttributes(attrs, { style: DOM$1.serializeStyle(styleMap) }); }; var updateHtml = function (html, data, updateAll) { var writer = global$7(); var isEphoxEmbed = Cell(false); var sourceCount = 0; var hasImage; global$4({ validate: false, allow_conditional_comments: true, special: 'script,noscript', comment: function (text) { writer.comment(text); }, cdata: function (text) { writer.cdata(text); }, text: function (text, raw) { writer.text(text, raw); }, start: function (name, attrs, empty) { if (isEphoxEmbed.get()) ; else if (has(attrs.map, 'data-ephox-embed-iri')) { isEphoxEmbed.set(true); updateEphoxEmbed(data, attrs); } else { switch (name) { case 'video': case 'object': case 'embed': case 'img': case 'iframe': if (data.height !== undefined && data.width !== undefined) { setAttributes(attrs, { width: data.width, height: data.height }); } break; } if (updateAll) { switch (name) { case 'video': setAttributes(attrs, { poster: data.poster, src: '' }); if (data.source2) { setAttributes(attrs, { src: '' }); } break; case 'iframe': setAttributes(attrs, { src: data.source1 }); break; case 'source': sourceCount++; if (sourceCount <= 2) { setAttributes(attrs, { src: data['source' + sourceCount], type: data['source' + sourceCount + 'mime'] }); if (!data['source' + sourceCount]) { return; } } break; case 'img': if (!data.poster) { return; } hasImage = true; break; } } } writer.start(name, attrs, empty); }, end: function (name) { if (!isEphoxEmbed.get()) { if (name === 'video' && updateAll) { for (var index = 1; index <= 2; index++) { if (data['source' + index]) { var attrs = []; attrs.map = {}; if (sourceCount < index) { setAttributes(attrs, { src: data['source' + index], type: data['source' + index + 'mime'] }); writer.start('source', attrs, true); } } } } if (data.poster && name === 'object' && updateAll && !hasImage) { var imgAttrs = []; imgAttrs.map = {}; setAttributes(imgAttrs, { src: data.poster, width: data.width, height: data.height }); writer.start('img', imgAttrs, true); } } writer.end(name); } }, global$6({})).parse(html); return writer.getContent(); }; var UpdateHtml = { updateHtml: updateHtml }; var urlPatterns = [ { regex: /youtu\.be\/([\w\-_\?&=.]+)/i, type: 'iframe', w: 560, h: 314, url: '//www.youtube.com/embed/$1', allowFullscreen: true }, { regex: /youtube\.com(.+)v=([^&]+)(&([a-z0-9&=\-_]+))?/i, type: 'iframe', w: 560, h: 314, url: '//www.youtube.com/embed/$2?$4', allowFullscreen: true }, { regex: /youtube.com\/embed\/([a-z0-9\?&=\-_]+)/i, type: 'iframe', w: 560, h: 314, url: '//www.youtube.com/embed/$1', allowFullscreen: true }, { regex: /vimeo\.com\/([0-9]+)/, type: 'iframe', w: 425, h: 350, url: '//player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc', allowFullscreen: true }, { regex: /vimeo\.com\/(.*)\/([0-9]+)/, type: 'iframe', w: 425, h: 350, url: '//player.vimeo.com/video/$2?title=0&byline=0', allowFullscreen: true }, { regex: /maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/, type: 'iframe', w: 425, h: 350, url: '//maps.google.com/maps/ms?msid=$2&output=embed"', allowFullscreen: false }, { regex: /dailymotion\.com\/video\/([^_]+)/, type: 'iframe', w: 480, h: 270, url: '//www.dailymotion.com/embed/video/$1', allowFullscreen: true }, { regex: /dai\.ly\/([^_]+)/, type: 'iframe', w: 480, h: 270, url: '//www.dailymotion.com/embed/video/$1', allowFullscreen: true } ]; var getUrl = function (pattern, url) { var match = pattern.regex.exec(url); var newUrl = pattern.url; var _loop_1 = function (i) { newUrl = newUrl.replace('$' + i, function () { return match[i] ? match[i] : ''; }); }; for (var i = 0; i < match.length; i++) { _loop_1(i); } return newUrl.replace(/\?$/, ''); }; var matchPattern = function (url) { var pattern = urlPatterns.filter(function (pattern) { return pattern.regex.test(url); }); if (pattern.length > 0) { return global$2.extend({}, pattern[0], { url: getUrl(pattern[0], url) }); } else { return null; } }; var getIframeHtml = function (data) { var allowFullscreen = data.allowFullscreen ? ' allowFullscreen="1"' : ''; return ''; }; var getFlashHtml = function (data) { var html = ''; if (data.poster) { html += ''; } html += ''; return html; }; var getAudioHtml = function (data, audioTemplateCallback) { if (audioTemplateCallback) { return audioTemplateCallback(data); } else { return ''; } }; var getVideoHtml = function (data, videoTemplateCallback) { if (videoTemplateCallback) { return videoTemplateCallback(data); } else { return ''; } }; var getScriptHtml = function (data) { return ''; }; var dataToHtml = function (editor, dataIn) { var data = global$2.extend({}, dataIn); if (!data.source1) { global$2.extend(data, HtmlToData.htmlToData(Settings.getScripts(editor), data.embed)); if (!data.source1) { return ''; } } if (!data.source2) { data.source2 = ''; } if (!data.poster) { data.poster = ''; } data.source1 = editor.convertURL(data.source1, 'source'); data.source2 = editor.convertURL(data.source2, 'source'); data.source1mime = Mime.guess(data.source1); data.source2mime = Mime.guess(data.source2); data.poster = editor.convertURL(data.poster, 'poster'); var pattern = matchPattern(data.source1); if (pattern) { data.source1 = pattern.url; data.type = pattern.type; data.allowFullscreen = pattern.allowFullscreen; data.width = data.width || pattern.w; data.height = data.height || pattern.h; } if (data.embed) { return UpdateHtml.updateHtml(data.embed, data, true); } else { var videoScript = VideoScript.getVideoScriptMatch(Settings.getScripts(editor), data.source1); if (videoScript) { data.type = 'script'; data.width = videoScript.width; data.height = videoScript.height; } var audioTemplateCallback = Settings.getAudioTemplateCallback(editor); var videoTemplateCallback = Settings.getVideoTemplateCallback(editor); data.width = data.width || 300; data.height = data.height || 150; global$2.each(data, function (value, key) { data[key] = editor.dom.encode(value); }); if (data.type === 'iframe') { return getIframeHtml(data); } else if (data.source1mime === 'application/x-shockwave-flash') { return getFlashHtml(data); } else if (data.source1mime.indexOf('audio') !== -1) { return getAudioHtml(data, audioTemplateCallback); } else if (data.type === 'script') { return getScriptHtml(data); } else { return getVideoHtml(data, videoTemplateCallback); } } }; var DataToHtml = { dataToHtml: dataToHtml }; var cache = {}; var embedPromise = function (data, dataToHtml, handler) { return new global$5(function (res, rej) { var wrappedResolve = function (response) { if (response.html) { cache[data.source1] = response; } return res({ url: data.source1, html: response.html ? response.html : dataToHtml(data) }); }; if (cache[data.source1]) { wrappedResolve(cache[data.source1]); } else { handler({ url: data.source1 }, wrappedResolve, rej); } }); }; var defaultPromise = function (data, dataToHtml) { return new global$5(function (res) { res({ html: dataToHtml(data), url: data.source1 }); }); }; var loadedData = function (editor) { return function (data) { return DataToHtml.dataToHtml(editor, data); }; }; var getEmbedHtml = function (editor, data) { var embedHandler = Settings.getUrlResolver(editor); return embedHandler ? embedPromise(data, loadedData(editor), embedHandler) : defaultPromise(data, loadedData(editor)); }; var isCached = function (url) { return cache.hasOwnProperty(url); }; var Service = { getEmbedHtml: getEmbedHtml, isCached: isCached }; var trimPx$1 = function (value) { return value.replace(/px$/, ''); }; var addPx$1 = function (value) { return /^[0-9.]+$/.test(value) ? value + 'px' : value; }; var getSize = function (name) { return function (elm) { return elm ? trimPx$1(elm.style[name]) : ''; }; }; var setSize = function (name) { return function (elm, value) { if (elm) { elm.style[name] = addPx$1(value); } }; }; var Size = { getMaxWidth: getSize('maxWidth'), getMaxHeight: getSize('maxHeight'), setMaxWidth: setSize('maxWidth'), setMaxHeight: setSize('maxHeight') }; var doSyncSize = function (widthCtrl, heightCtrl) { widthCtrl.state.set('oldVal', widthCtrl.value()); heightCtrl.state.set('oldVal', heightCtrl.value()); }; var doSizeControls = function (win, f) { var widthCtrl = win.find('#width')[0]; var heightCtrl = win.find('#height')[0]; var constrained = win.find('#constrain')[0]; if (widthCtrl && heightCtrl && constrained) { f(widthCtrl, heightCtrl, constrained.checked()); } }; var doUpdateSize = function (widthCtrl, heightCtrl, isContrained) { var oldWidth = widthCtrl.state.get('oldVal'); var oldHeight = heightCtrl.state.get('oldVal'); var newWidth = widthCtrl.value(); var newHeight = heightCtrl.value(); if (isContrained && oldWidth && oldHeight && newWidth && newHeight) { if (newWidth !== oldWidth) { newHeight = Math.round(newWidth / oldWidth * newHeight); if (!isNaN(newHeight)) { heightCtrl.value(newHeight); } } else { newWidth = Math.round(newHeight / oldHeight * newWidth); if (!isNaN(newWidth)) { widthCtrl.value(newWidth); } } } doSyncSize(widthCtrl, heightCtrl); }; var syncSize = function (win) { doSizeControls(win, doSyncSize); }; var updateSize = function (win) { doSizeControls(win, doUpdateSize); }; var createUi = function (onChange) { var recalcSize = function () { onChange(function (win) { updateSize(win); }); }; return { type: 'container', label: 'Dimensions', layout: 'flex', align: 'center', spacing: 5, items: [ { name: 'width', type: 'textbox', maxLength: 5, size: 5, onchange: recalcSize, ariaLabel: 'Width' }, { type: 'label', text: 'x' }, { name: 'height', type: 'textbox', maxLength: 5, size: 5, onchange: recalcSize, ariaLabel: 'Height' }, { name: 'constrain', type: 'checkbox', checked: true, text: 'Constrain proportions' } ] }; }; var SizeManager = { createUi: createUi, syncSize: syncSize, updateSize: updateSize }; var embedChange = global$1.ie && global$1.ie <= 8 ? 'onChange' : 'onInput'; var handleError = function (editor) { return function (error) { var errorMessage = error && error.msg ? 'Media embed handler error: ' + error.msg : 'Media embed handler threw unknown error.'; editor.notificationManager.open({ type: 'error', text: errorMessage }); }; }; var getData = function (editor) { var element = editor.selection.getNode(); var dataEmbed = element.getAttribute('data-ephox-embed-iri'); if (dataEmbed) { return { 'source1': dataEmbed, 'data-ephox-embed-iri': dataEmbed, 'width': Size.getMaxWidth(element), 'height': Size.getMaxHeight(element) }; } return element.getAttribute('data-mce-object') ? HtmlToData.htmlToData(Settings.getScripts(editor), editor.serializer.serialize(element, { selection: true })) : {}; }; var getSource = function (editor) { var elm = editor.selection.getNode(); if (elm.getAttribute('data-mce-object') || elm.getAttribute('data-ephox-embed-iri')) { return editor.selection.getContent(); } }; var addEmbedHtml = function (win, editor) { return function (response) { var html = response.html; var embed = win.find('#embed')[0]; var data = global$2.extend(HtmlToData.htmlToData(Settings.getScripts(editor), html), { source1: response.url }); win.fromJSON(data); if (embed) { embed.value(html); SizeManager.updateSize(win); } }; }; var selectPlaceholder = function (editor, beforeObjects) { var i; var y; var afterObjects = editor.dom.select('img[data-mce-object]'); for (i = 0; i < beforeObjects.length; i++) { for (y = afterObjects.length - 1; y >= 0; y--) { if (beforeObjects[i] === afterObjects[y]) { afterObjects.splice(y, 1); } } } editor.selection.select(afterObjects[0]); }; var handleInsert = function (editor, html) { var beforeObjects = editor.dom.select('img[data-mce-object]'); editor.insertContent(html); selectPlaceholder(editor, beforeObjects); editor.nodeChanged(); }; var submitForm = function (win, editor) { var data = win.toJSON(); data.embed = UpdateHtml.updateHtml(data.embed, data); if (data.embed && Service.isCached(data.source1)) { handleInsert(editor, data.embed); } else { Service.getEmbedHtml(editor, data).then(function (response) { handleInsert(editor, response.html); }).catch(handleError(editor)); } }; var populateMeta = function (win, meta) { global$2.each(meta, function (value, key) { win.find('#' + key).value(value); }); }; var showDialog = function (editor) { var win; var data; var generalFormItems = [{ name: 'source1', type: 'filepicker', filetype: 'media', size: 40, autofocus: true, label: 'Source', onpaste: function () { setTimeout(function () { Service.getEmbedHtml(editor, win.toJSON()).then(addEmbedHtml(win, editor)).catch(handleError(editor)); }, 1); }, onchange: function (e) { Service.getEmbedHtml(editor, win.toJSON()).then(addEmbedHtml(win, editor)).catch(handleError(editor)); populateMeta(win, e.meta); }, onbeforecall: function (e) { e.meta = win.toJSON(); } }]; var advancedFormItems = []; var reserialise = function (update) { update(win); data = win.toJSON(); win.find('#embed').value(UpdateHtml.updateHtml(data.embed, data)); }; if (Settings.hasAltSource(editor)) { advancedFormItems.push({ name: 'source2', type: 'filepicker', filetype: 'media', size: 40, label: 'Alternative source' }); } if (Settings.hasPoster(editor)) { advancedFormItems.push({ name: 'poster', type: 'filepicker', filetype: 'image', size: 40, label: 'Poster' }); } if (Settings.hasDimensions(editor)) { var control = SizeManager.createUi(reserialise); generalFormItems.push(control); } data = getData(editor); var embedTextBox = { id: 'mcemediasource', type: 'textbox', flex: 1, name: 'embed', value: getSource(editor), multiline: true, rows: 5, label: 'Source' }; var updateValueOnChange = function () { data = global$2.extend({}, HtmlToData.htmlToData(Settings.getScripts(editor), this.value())); this.parent().parent().fromJSON(data); }; embedTextBox[embedChange] = updateValueOnChange; var body = [ { title: 'General', type: 'form', items: generalFormItems }, { title: 'Embed', type: 'container', layout: 'flex', direction: 'column', align: 'stretch', padding: 10, spacing: 10, items: [ { type: 'label', text: 'Paste your embed code below:', forId: 'mcemediasource' }, embedTextBox ] } ]; if (advancedFormItems.length > 0) { body.push({ title: 'Advanced', type: 'form', items: advancedFormItems }); } win = editor.windowManager.open({ title: 'Insert/edit media', data: data, bodyType: 'tabpanel', body: body, onSubmit: function () { SizeManager.updateSize(win); submitForm(win, editor); } }); SizeManager.syncSize(win); }; var Dialog = { showDialog: showDialog }; var get$1 = function (editor) { var showDialog = function () { Dialog.showDialog(editor); }; return { showDialog: showDialog }; }; var Api = { get: get$1 }; var register = function (editor) { var showDialog = function () { Dialog.showDialog(editor); }; editor.addCommand('mceMedia', showDialog); }; var Commands = { register: register }; var global$8 = tinymce.util.Tools.resolve('tinymce.html.Node'); var sanitize = function (editor, html) { if (Settings.shouldFilterHtml(editor) === false) { return html; } var writer = global$7(); var blocked; global$4({ validate: false, allow_conditional_comments: false, special: 'script,noscript', comment: function (text) { writer.comment(text); }, cdata: function (text) { writer.cdata(text); }, text: function (text, raw) { writer.text(text, raw); }, start: function (name, attrs, empty) { blocked = true; if (name === 'script' || name === 'noscript' || name === 'svg') { return; } for (var i = attrs.length - 1; i >= 0; i--) { var attrName = attrs[i].name; if (attrName.indexOf('on') === 0) { delete attrs.map[attrName]; attrs.splice(i, 1); } if (attrName === 'style') { attrs[i].value = editor.dom.serializeStyle(editor.dom.parseStyle(attrs[i].value), name); } } writer.start(name, attrs, empty); blocked = false; }, end: function (name) { if (blocked) { return; } writer.end(name); } }, global$6({})).parse(html); return writer.getContent(); }; var Sanitize = { sanitize: sanitize }; var createPlaceholderNode = function (editor, node) { var placeHolder; var name = node.name; placeHolder = new global$8('img', 1); placeHolder.shortEnded = true; retainAttributesAndInnerHtml(editor, node, placeHolder); placeHolder.attr({ 'width': node.attr('width') || '300', 'height': node.attr('height') || (name === 'audio' ? '30' : '150'), 'style': node.attr('style'), 'src': global$1.transparentSrc, 'data-mce-object': name, 'class': 'mce-object mce-object-' + name }); return placeHolder; }; var createPreviewIframeNode = function (editor, node) { var previewWrapper; var previewNode; var shimNode; var name = node.name; previewWrapper = new global$8('span', 1); previewWrapper.attr({ 'contentEditable': 'false', 'style': node.attr('style'), 'data-mce-object': name, 'class': 'mce-preview-object mce-object-' + name }); retainAttributesAndInnerHtml(editor, node, previewWrapper); previewNode = new global$8(name, 1); previewNode.attr({ src: node.attr('src'), allowfullscreen: node.attr('allowfullscreen'), style: node.attr('style'), class: node.attr('class'), width: node.attr('width'), height: node.attr('height'), frameborder: '0' }); shimNode = new global$8('span', 1); shimNode.attr('class', 'mce-shim'); previewWrapper.append(previewNode); previewWrapper.append(shimNode); return previewWrapper; }; var retainAttributesAndInnerHtml = function (editor, sourceNode, targetNode) { var attrName; var attrValue; var attribs; var ai; var innerHtml; attribs = sourceNode.attributes; ai = attribs.length; while (ai--) { attrName = attribs[ai].name; attrValue = attribs[ai].value; if (attrName !== 'width' && attrName !== 'height' && attrName !== 'style') { if (attrName === 'data' || attrName === 'src') { attrValue = editor.convertURL(attrValue, attrName); } targetNode.attr('data-mce-p-' + attrName, attrValue); } } innerHtml = sourceNode.firstChild && sourceNode.firstChild.value; if (innerHtml) { targetNode.attr('data-mce-html', escape(Sanitize.sanitize(editor, innerHtml))); targetNode.firstChild = null; } }; var isWithinEphoxEmbed = function (node) { while (node = node.parent) { if (node.attr('data-ephox-embed-iri')) { return true; } } return false; }; var placeHolderConverter = function (editor) { return function (nodes) { var i = nodes.length; var node; var videoScript; while (i--) { node = nodes[i]; if (!node.parent) { continue; } if (node.parent.attr('data-mce-object')) { continue; } if (node.name === 'script') { videoScript = VideoScript.getVideoScriptMatch(Settings.getScripts(editor), node.attr('src')); if (!videoScript) { continue; } } if (videoScript) { if (videoScript.width) { node.attr('width', videoScript.width.toString()); } if (videoScript.height) { node.attr('height', videoScript.height.toString()); } } if (node.name === 'iframe' && Settings.hasLiveEmbeds(editor) && global$1.ceFalse) { if (!isWithinEphoxEmbed(node)) { node.replace(createPreviewIframeNode(editor, node)); } } else { if (!isWithinEphoxEmbed(node)) { node.replace(createPlaceholderNode(editor, node)); } } } }; }; var Nodes = { createPreviewIframeNode: createPreviewIframeNode, createPlaceholderNode: createPlaceholderNode, placeHolderConverter: placeHolderConverter }; var setup = function (editor) { editor.on('preInit', function () { var specialElements = editor.schema.getSpecialElements(); global$2.each('video audio iframe object'.split(' '), function (name) { specialElements[name] = new RegExp(']*>', 'gi'); }); var boolAttrs = editor.schema.getBoolAttrs(); global$2.each('webkitallowfullscreen mozallowfullscreen allowfullscreen'.split(' '), function (name) { boolAttrs[name] = {}; }); editor.parser.addNodeFilter('iframe,video,audio,object,embed,script', Nodes.placeHolderConverter(editor)); editor.serializer.addAttributeFilter('data-mce-object', function (nodes, name) { var i = nodes.length; var node; var realElm; var ai; var attribs; var innerHtml; var innerNode; var realElmName; var className; while (i--) { node = nodes[i]; if (!node.parent) { continue; } realElmName = node.attr(name); realElm = new global$8(realElmName, 1); if (realElmName !== 'audio' && realElmName !== 'script') { className = node.attr('class'); if (className && className.indexOf('mce-preview-object') !== -1) { realElm.attr({ width: node.firstChild.attr('width'), height: node.firstChild.attr('height') }); } else { realElm.attr({ width: node.attr('width'), height: node.attr('height') }); } } realElm.attr({ style: node.attr('style') }); attribs = node.attributes; ai = attribs.length; while (ai--) { var attrName = attribs[ai].name; if (attrName.indexOf('data-mce-p-') === 0) { realElm.attr(attrName.substr(11), attribs[ai].value); } } if (realElmName === 'script') { realElm.attr('type', 'text/javascript'); } innerHtml = node.attr('data-mce-html'); if (innerHtml) { innerNode = new global$8('#text', 3); innerNode.raw = true; innerNode.value = Sanitize.sanitize(editor, unescape(innerHtml)); realElm.append(innerNode); } node.replace(realElm); } }); }); editor.on('setContent', function () { editor.$('span.mce-preview-object').each(function (index, elm) { var $elm = editor.$(elm); if ($elm.find('span.mce-shim', elm).length === 0) { $elm.append(''); } }); }); }; var FilterContent = { setup: setup }; var setup$1 = function (editor) { editor.on('ResolveName', function (e) { var name; if (e.target.nodeType === 1 && (name = e.target.getAttribute('data-mce-object'))) { e.name = name; } }); }; var ResolveName = { setup: setup$1 }; var setup$2 = function (editor) { editor.on('click keyup', function () { var selectedNode = editor.selection.getNode(); if (selectedNode && editor.dom.hasClass(selectedNode, 'mce-preview-object')) { if (editor.dom.getAttrib(selectedNode, 'data-mce-selected')) { selectedNode.setAttribute('data-mce-selected', '2'); } } }); editor.on('ObjectSelected', function (e) { var objectType = e.target.getAttribute('data-mce-object'); if (objectType === 'audio' || objectType === 'script') { e.preventDefault(); } }); editor.on('objectResized', function (e) { var target = e.target; var html; if (target.getAttribute('data-mce-object')) { html = target.getAttribute('data-mce-html'); if (html) { html = unescape(html); target.setAttribute('data-mce-html', escape(UpdateHtml.updateHtml(html, { width: e.width, height: e.height }))); } } }); }; var Selection = { setup: setup$2 }; var register$1 = function (editor) { editor.addButton('media', { tooltip: 'Insert/edit media', cmd: 'mceMedia', stateSelector: [ 'img[data-mce-object]', 'span[data-mce-object]', 'div[data-ephox-embed-iri]' ] }); editor.addMenuItem('media', { icon: 'media', text: 'Media', cmd: 'mceMedia', context: 'insert', prependToContext: true }); }; var Buttons = { register: register$1 }; global.add('media', function (editor) { Commands.register(editor); Buttons.register(editor); ResolveName.setup(editor); FilterContent.setup(editor); Selection.setup(editor); return Api.get(editor); }); function Plugin () { } return Plugin; }()); })(); PK! @@#tinymce/plugins/media/plugin.min.jsnu[!function(){"use strict";var e,t,r,n,i=tinymce.util.Tools.resolve("tinymce.PluginManager"),o=tinymce.util.Tools.resolve("tinymce.Env"),v=tinymce.util.Tools.resolve("tinymce.util.Tools"),w=function(e){return e.getParam("media_scripts")},b=function(e){return e.getParam("audio_template_callback")},y=function(e){return e.getParam("video_template_callback")},a=function(e){return e.getParam("media_live_embeds",!0)},u=function(e){return e.getParam("media_filter_html",!0)},s=function(e){return e.getParam("media_url_resolver")},m=function(e){return e.getParam("media_alt_source",!0)},d=function(e){return e.getParam("media_poster",!0)},h=function(e){return e.getParam("media_dimensions",!0)},f=function(e){var t=e,r=function(){return t};return{get:r,set:function(e){t=e},clone:function(){return f(r())}}},c=function(){},l=function(e){return function(){return e}},p=l(!1),g=l(!0),x=function(){return O},O=(e=function(e){return e.isNone()},n={fold:function(e,t){return e()},is:p,isSome:p,isNone:g,getOr:r=function(e){return e},getOrThunk:t=function(e){return e()},getOrDie:function(e){throw new Error(e||"error: getOrDie called on none.")},getOrNull:l(null),getOrUndefined:l(undefined),or:r,orThunk:t,map:x,each:c,bind:x,exists:p,forall:g,filter:x,equals:e,equals_:e,toArray:function(){return[]},toString:l("none()")},Object.freeze&&Object.freeze(n),n),j=function(r){var e=l(r),t=function(){return i},n=function(e){return e(r)},i={fold:function(e,t){return t(r)},is:function(e){return r===e},isSome:g,isNone:p,getOr:e,getOrThunk:e,getOrDie:e,getOrNull:e,getOrUndefined:e,or:t,orThunk:t,map:function(e){return j(e(r))},each:function(e){e(r)},bind:n,exists:n,forall:n,filter:function(e){return e(r)?i:O},toArray:function(){return[r]},toString:function(){return"some("+r+")"},equals:function(e){return e.is(r)},equals_:function(e,t){return e.fold(p,function(e){return t(r,e)})}};return i},_=x,S=function(e){return null===e||e===undefined?O:j(e)},k=Object.hasOwnProperty,N=function(e,t){return M(e,t)?S(e[t]):_()},M=function(e,t){return k.call(e,t)},T=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),z=tinymce.util.Tools.resolve("tinymce.html.SaxParser"),A=function(e,t){if(e)for(var r=0;r"):"application/x-shockwave-flash"===n.source1mime?(d='',m.poster&&(d+=''),d+=""):-1!==n.source1mime.indexOf("audio")?(s=n,(l=p)?l(s):'"):"script"===n.type?' // Write the 'pickColor' function that will be called when the user clicks // a color and do something with the value. This is only required if you // want to do something other than simply populate a form field, which is // what the 'select' function will give you. function pickColor(color) { field.value = color; } NOTES: 1) Requires the functions in AnchorPosition.js and PopupWindow.js 2) Your anchor tag MUST contain both NAME and ID attributes which are the same. For example:
    3) There must be at least a space between for IE5.5 to see the anchor tag correctly. Do not do with no space. 4) When a ColorPicker object is created, a handler for 'onmouseup' is attached to any event handler you may have already defined. Do NOT define an event handler for 'onmouseup' after you define a ColorPicker object or the color picker will not hide itself correctly. */ ColorPicker_targetInput = null; function ColorPicker_writeDiv() { document.writeln(""); } function ColorPicker_show(anchorname) { this.showPopup(anchorname); } function ColorPicker_pickColor(color,obj) { obj.hidePopup(); pickColor(color); } // A Default "pickColor" function to accept the color passed back from popup. // User can over-ride this with their own function. function pickColor(color) { if (ColorPicker_targetInput==null) { alert("Target Input is null, which means you either didn't use the 'select' function or you have no defined your own 'pickColor' function to handle the picked color!"); return; } ColorPicker_targetInput.value = color; } // This function is the easiest way to popup the window, select a color, and // have the value populate a form field, which is what most people want to do. function ColorPicker_select(inputobj,linkname) { if (inputobj.type!="text" && inputobj.type!="hidden" && inputobj.type!="textarea") { alert("colorpicker.select: Input object passed is not a valid form input object"); window.ColorPicker_targetInput=null; return; } window.ColorPicker_targetInput = inputobj; this.show(linkname); } // This function runs when you move your mouse over a color block, if you have a newer browser function ColorPicker_highlightColor(c) { var thedoc = (arguments.length>1)?arguments[1]:window.document; var d = thedoc.getElementById("colorPickerSelectedColor"); d.style.backgroundColor = c; d = thedoc.getElementById("colorPickerSelectedColorValue"); d.innerHTML = c; } function ColorPicker() { var windowMode = false; // Create a new PopupWindow object if (arguments.length==0) { var divname = "colorPickerDiv"; } else if (arguments[0] == "window") { var divname = ''; windowMode = true; } else { var divname = arguments[0]; } if (divname != "") { var cp = new PopupWindow(divname); } else { var cp = new PopupWindow(); cp.setSize(225,250); } // Object variables cp.currentValue = "#FFFFFF"; // Method Mappings cp.writeDiv = ColorPicker_writeDiv; cp.highlightColor = ColorPicker_highlightColor; cp.show = ColorPicker_show; cp.select = ColorPicker_select; // Code to populate color picker window var colors = new Array( "#4180B6","#69AEE7","#000000","#000033","#000066","#000099","#0000CC","#0000FF","#330000","#330033","#330066","#330099", "#3300CC","#3300FF","#660000","#660033","#660066","#660099","#6600CC","#6600FF","#990000","#990033","#990066","#990099", "#9900CC","#9900FF","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#FF0000","#FF0033","#FF0066","#FF0099", "#FF00CC","#FF00FF","#7FFFFF","#7FFFFF","#7FF7F7","#7FEFEF","#7FE7E7","#7FDFDF","#7FD7D7","#7FCFCF","#7FC7C7","#7FBFBF", "#7FB7B7","#7FAFAF","#7FA7A7","#7F9F9F","#7F9797","#7F8F8F","#7F8787","#7F7F7F","#7F7777","#7F6F6F","#7F6767","#7F5F5F", "#7F5757","#7F4F4F","#7F4747","#7F3F3F","#7F3737","#7F2F2F","#7F2727","#7F1F1F","#7F1717","#7F0F0F","#7F0707","#7F0000", "#4180B6","#69AEE7","#003300","#003333","#003366","#003399","#0033CC","#0033FF","#333300","#333333","#333366","#333399", "#3333CC","#3333FF","#663300","#663333","#663366","#663399","#6633CC","#6633FF","#993300","#993333","#993366","#993399", "#9933CC","#9933FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#FF3300","#FF3333","#FF3366","#FF3399", "#FF33CC","#FF33FF","#FF7FFF","#FF7FFF","#F77FF7","#EF7FEF","#E77FE7","#DF7FDF","#D77FD7","#CF7FCF","#C77FC7","#BF7FBF", "#B77FB7","#AF7FAF","#A77FA7","#9F7F9F","#977F97","#8F7F8F","#877F87","#7F7F7F","#777F77","#6F7F6F","#677F67","#5F7F5F", "#577F57","#4F7F4F","#477F47","#3F7F3F","#377F37","#2F7F2F","#277F27","#1F7F1F","#177F17","#0F7F0F","#077F07","#007F00", "#4180B6","#69AEE7","#006600","#006633","#006666","#006699","#0066CC","#0066FF","#336600","#336633","#336666","#336699", "#3366CC","#3366FF","#666600","#666633","#666666","#666699","#6666CC","#6666FF","#996600","#996633","#996666","#996699", "#9966CC","#9966FF","#CC6600","#CC6633","#CC6666","#CC6699","#CC66CC","#CC66FF","#FF6600","#FF6633","#FF6666","#FF6699", "#FF66CC","#FF66FF","#FFFF7F","#FFFF7F","#F7F77F","#EFEF7F","#E7E77F","#DFDF7F","#D7D77F","#CFCF7F","#C7C77F","#BFBF7F", "#B7B77F","#AFAF7F","#A7A77F","#9F9F7F","#97977F","#8F8F7F","#87877F","#7F7F7F","#77777F","#6F6F7F","#67677F","#5F5F7F", "#57577F","#4F4F7F","#47477F","#3F3F7F","#37377F","#2F2F7F","#27277F","#1F1F7F","#17177F","#0F0F7F","#07077F","#00007F", "#4180B6","#69AEE7","#009900","#009933","#009966","#009999","#0099CC","#0099FF","#339900","#339933","#339966","#339999", "#3399CC","#3399FF","#669900","#669933","#669966","#669999","#6699CC","#6699FF","#999900","#999933","#999966","#999999", "#9999CC","#9999FF","#CC9900","#CC9933","#CC9966","#CC9999","#CC99CC","#CC99FF","#FF9900","#FF9933","#FF9966","#FF9999", "#FF99CC","#FF99FF","#3FFFFF","#3FFFFF","#3FF7F7","#3FEFEF","#3FE7E7","#3FDFDF","#3FD7D7","#3FCFCF","#3FC7C7","#3FBFBF", "#3FB7B7","#3FAFAF","#3FA7A7","#3F9F9F","#3F9797","#3F8F8F","#3F8787","#3F7F7F","#3F7777","#3F6F6F","#3F6767","#3F5F5F", "#3F5757","#3F4F4F","#3F4747","#3F3F3F","#3F3737","#3F2F2F","#3F2727","#3F1F1F","#3F1717","#3F0F0F","#3F0707","#3F0000", "#4180B6","#69AEE7","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#33CC00","#33CC33","#33CC66","#33CC99", "#33CCCC","#33CCFF","#66CC00","#66CC33","#66CC66","#66CC99","#66CCCC","#66CCFF","#99CC00","#99CC33","#99CC66","#99CC99", "#99CCCC","#99CCFF","#CCCC00","#CCCC33","#CCCC66","#CCCC99","#CCCCCC","#CCCCFF","#FFCC00","#FFCC33","#FFCC66","#FFCC99", "#FFCCCC","#FFCCFF","#FF3FFF","#FF3FFF","#F73FF7","#EF3FEF","#E73FE7","#DF3FDF","#D73FD7","#CF3FCF","#C73FC7","#BF3FBF", "#B73FB7","#AF3FAF","#A73FA7","#9F3F9F","#973F97","#8F3F8F","#873F87","#7F3F7F","#773F77","#6F3F6F","#673F67","#5F3F5F", "#573F57","#4F3F4F","#473F47","#3F3F3F","#373F37","#2F3F2F","#273F27","#1F3F1F","#173F17","#0F3F0F","#073F07","#003F00", "#4180B6","#69AEE7","#00FF00","#00FF33","#00FF66","#00FF99","#00FFCC","#00FFFF","#33FF00","#33FF33","#33FF66","#33FF99", "#33FFCC","#33FFFF","#66FF00","#66FF33","#66FF66","#66FF99","#66FFCC","#66FFFF","#99FF00","#99FF33","#99FF66","#99FF99", "#99FFCC","#99FFFF","#CCFF00","#CCFF33","#CCFF66","#CCFF99","#CCFFCC","#CCFFFF","#FFFF00","#FFFF33","#FFFF66","#FFFF99", "#FFFFCC","#FFFFFF","#FFFF3F","#FFFF3F","#F7F73F","#EFEF3F","#E7E73F","#DFDF3F","#D7D73F","#CFCF3F","#C7C73F","#BFBF3F", "#B7B73F","#AFAF3F","#A7A73F","#9F9F3F","#97973F","#8F8F3F","#87873F","#7F7F3F","#77773F","#6F6F3F","#67673F","#5F5F3F", "#57573F","#4F4F3F","#47473F","#3F3F3F","#37373F","#2F2F3F","#27273F","#1F1F3F","#17173F","#0F0F3F","#07073F","#00003F", "#4180B6","#69AEE7","#FFFFFF","#FFEEEE","#FFDDDD","#FFCCCC","#FFBBBB","#FFAAAA","#FF9999","#FF8888","#FF7777","#FF6666", "#FF5555","#FF4444","#FF3333","#FF2222","#FF1111","#FF0000","#FF0000","#FF0000","#FF0000","#EE0000","#DD0000","#CC0000", "#BB0000","#AA0000","#990000","#880000","#770000","#660000","#550000","#440000","#330000","#220000","#110000","#000000", "#000000","#000000","#000000","#001111","#002222","#003333","#004444","#005555","#006666","#007777","#008888","#009999", "#00AAAA","#00BBBB","#00CCCC","#00DDDD","#00EEEE","#00FFFF","#00FFFF","#00FFFF","#00FFFF","#11FFFF","#22FFFF","#33FFFF", "#44FFFF","#55FFFF","#66FFFF","#77FFFF","#88FFFF","#99FFFF","#AAFFFF","#BBFFFF","#CCFFFF","#DDFFFF","#EEFFFF","#FFFFFF", "#4180B6","#69AEE7","#FFFFFF","#EEFFEE","#DDFFDD","#CCFFCC","#BBFFBB","#AAFFAA","#99FF99","#88FF88","#77FF77","#66FF66", "#55FF55","#44FF44","#33FF33","#22FF22","#11FF11","#00FF00","#00FF00","#00FF00","#00FF00","#00EE00","#00DD00","#00CC00", "#00BB00","#00AA00","#009900","#008800","#007700","#006600","#005500","#004400","#003300","#002200","#001100","#000000", "#000000","#000000","#000000","#110011","#220022","#330033","#440044","#550055","#660066","#770077","#880088","#990099", "#AA00AA","#BB00BB","#CC00CC","#DD00DD","#EE00EE","#FF00FF","#FF00FF","#FF00FF","#FF00FF","#FF11FF","#FF22FF","#FF33FF", "#FF44FF","#FF55FF","#FF66FF","#FF77FF","#FF88FF","#FF99FF","#FFAAFF","#FFBBFF","#FFCCFF","#FFDDFF","#FFEEFF","#FFFFFF", "#4180B6","#69AEE7","#FFFFFF","#EEEEFF","#DDDDFF","#CCCCFF","#BBBBFF","#AAAAFF","#9999FF","#8888FF","#7777FF","#6666FF", "#5555FF","#4444FF","#3333FF","#2222FF","#1111FF","#0000FF","#0000FF","#0000FF","#0000FF","#0000EE","#0000DD","#0000CC", "#0000BB","#0000AA","#000099","#000088","#000077","#000066","#000055","#000044","#000033","#000022","#000011","#000000", "#000000","#000000","#000000","#111100","#222200","#333300","#444400","#555500","#666600","#777700","#888800","#999900", "#AAAA00","#BBBB00","#CCCC00","#DDDD00","#EEEE00","#FFFF00","#FFFF00","#FFFF00","#FFFF00","#FFFF11","#FFFF22","#FFFF33", "#FFFF44","#FFFF55","#FFFF66","#FFFF77","#FFFF88","#FFFF99","#FFFFAA","#FFFFBB","#FFFFCC","#FFFFDD","#FFFFEE","#FFFFFF", "#4180B6","#69AEE7","#FFFFFF","#FFFFFF","#FBFBFB","#F7F7F7","#F3F3F3","#EFEFEF","#EBEBEB","#E7E7E7","#E3E3E3","#DFDFDF", "#DBDBDB","#D7D7D7","#D3D3D3","#CFCFCF","#CBCBCB","#C7C7C7","#C3C3C3","#BFBFBF","#BBBBBB","#B7B7B7","#B3B3B3","#AFAFAF", "#ABABAB","#A7A7A7","#A3A3A3","#9F9F9F","#9B9B9B","#979797","#939393","#8F8F8F","#8B8B8B","#878787","#838383","#7F7F7F", "#7B7B7B","#777777","#737373","#6F6F6F","#6B6B6B","#676767","#636363","#5F5F5F","#5B5B5B","#575757","#535353","#4F4F4F", "#4B4B4B","#474747","#434343","#3F3F3F","#3B3B3B","#373737","#333333","#2F2F2F","#2B2B2B","#272727","#232323","#1F1F1F", "#1B1B1B","#171717","#131313","#0F0F0F","#0B0B0B","#070707","#030303","#000000","#000000","#000000","#000000","#000000"); var total = colors.length; var width = 72; var cp_contents = ""; var windowRef = (windowMode)?"window.opener.":""; if (windowMode) { cp_contents += "Select Color"; cp_contents += ""; } cp_contents += ""; var use_highlight = (document.getElementById || document.all)?true:false; for (var i=0; i '; if ( ((i+1)>=total) || (((i+1) % width) == 0)) { cp_contents += ""; } } // If the browser supports dynamically changing TD cells, add the fancy stuff if (document.getElementById) { var width1 = Math.floor(width/2); var width2 = width = width1; cp_contents += ""; } cp_contents += "
     #FFFFFF
    "; if (windowMode) { cp_contents += "
    "; } // end populate code // Write the contents to the popup object cp.populate(cp_contents+"\n"); // Move the table down a bit so you can see it cp.offsetY = 25; cp.autoHide(); return cp; } PK!C%hh clipboard.jsnu[/*! * clipboard.js v2.0.11 * https://clipboardjs.com/ * * Licensed MIT © Zeno Rocha */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); else if(typeof define === 'function' && define.amd) define([], factory); else if(typeof exports === 'object') exports["ClipboardJS"] = factory(); else root["ClipboardJS"] = factory(); })(this, function() { return /******/ (function() { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ 686: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "default": function() { return /* binding */ clipboard; } }); // EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js var tiny_emitter = __webpack_require__(279); var tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter); // EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js var listen = __webpack_require__(370); var listen_default = /*#__PURE__*/__webpack_require__.n(listen); // EXTERNAL MODULE: ./node_modules/select/src/select.js var src_select = __webpack_require__(817); var select_default = /*#__PURE__*/__webpack_require__.n(src_select); ;// CONCATENATED MODULE: ./src/common/command.js /** * Executes a given operation type. * @param {String} type * @return {Boolean} */ function command(type) { try { return document.execCommand(type); } catch (err) { return false; } } ;// CONCATENATED MODULE: ./src/actions/cut.js /** * Cut action wrapper. * @param {String|HTMLElement} target * @return {String} */ var ClipboardActionCut = function ClipboardActionCut(target) { var selectedText = select_default()(target); command('cut'); return selectedText; }; /* harmony default export */ var actions_cut = (ClipboardActionCut); ;// CONCATENATED MODULE: ./src/common/create-fake-element.js /** * Creates a fake textarea element with a value. * @param {String} value * @return {HTMLElement} */ function createFakeElement(value) { var isRTL = document.documentElement.getAttribute('dir') === 'rtl'; var fakeElement = document.createElement('textarea'); // Prevent zooming on iOS fakeElement.style.fontSize = '12pt'; // Reset box model fakeElement.style.border = '0'; fakeElement.style.padding = '0'; fakeElement.style.margin = '0'; // Move element out of screen horizontally fakeElement.style.position = 'absolute'; fakeElement.style[isRTL ? 'right' : 'left'] = '-9999px'; // Move element to the same position vertically var yPosition = window.pageYOffset || document.documentElement.scrollTop; fakeElement.style.top = "".concat(yPosition, "px"); fakeElement.setAttribute('readonly', ''); fakeElement.value = value; return fakeElement; } ;// CONCATENATED MODULE: ./src/actions/copy.js /** * Create fake copy action wrapper using a fake element. * @param {String} target * @param {Object} options * @return {String} */ var fakeCopyAction = function fakeCopyAction(value, options) { var fakeElement = createFakeElement(value); options.container.appendChild(fakeElement); var selectedText = select_default()(fakeElement); command('copy'); fakeElement.remove(); return selectedText; }; /** * Copy action wrapper. * @param {String|HTMLElement} target * @param {Object} options * @return {String} */ var ClipboardActionCopy = function ClipboardActionCopy(target) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { container: document.body }; var selectedText = ''; if (typeof target === 'string') { selectedText = fakeCopyAction(target, options); } else if (target instanceof HTMLInputElement && !['text', 'search', 'url', 'tel', 'password'].includes(target === null || target === void 0 ? void 0 : target.type)) { // If input type doesn't support `setSelectionRange`. Simulate it. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange selectedText = fakeCopyAction(target.value, options); } else { selectedText = select_default()(target); command('copy'); } return selectedText; }; /* harmony default export */ var actions_copy = (ClipboardActionCopy); ;// CONCATENATED MODULE: ./src/actions/default.js function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } /** * Inner function which performs selection from either `text` or `target` * properties and then executes copy or cut operations. * @param {Object} options */ var ClipboardActionDefault = function ClipboardActionDefault() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; // Defines base properties passed from constructor. var _options$action = options.action, action = _options$action === void 0 ? 'copy' : _options$action, container = options.container, target = options.target, text = options.text; // Sets the `action` to be performed which can be either 'copy' or 'cut'. if (action !== 'copy' && action !== 'cut') { throw new Error('Invalid "action" value, use either "copy" or "cut"'); } // Sets the `target` property using an element that will be have its content copied. if (target !== undefined) { if (target && _typeof(target) === 'object' && target.nodeType === 1) { if (action === 'copy' && target.hasAttribute('disabled')) { throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute'); } if (action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) { throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes'); } } else { throw new Error('Invalid "target" value, use a valid Element'); } } // Define selection strategy based on `text` property. if (text) { return actions_copy(text, { container: container }); } // Defines which selection strategy based on `target` property. if (target) { return action === 'cut' ? actions_cut(target) : actions_copy(target, { container: container }); } }; /* harmony default export */ var actions_default = (ClipboardActionDefault); ;// CONCATENATED MODULE: ./src/clipboard.js function clipboard_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { clipboard_typeof = function _typeof(obj) { return typeof obj; }; } else { clipboard_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return clipboard_typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (clipboard_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } /** * Helper function to retrieve attribute value. * @param {String} suffix * @param {Element} element */ function getAttributeValue(suffix, element) { var attribute = "data-clipboard-".concat(suffix); if (!element.hasAttribute(attribute)) { return; } return element.getAttribute(attribute); } /** * Base class which takes one or more elements, adds event listeners to them, * and instantiates a new `ClipboardAction` on each click. */ var Clipboard = /*#__PURE__*/function (_Emitter) { _inherits(Clipboard, _Emitter); var _super = _createSuper(Clipboard); /** * @param {String|HTMLElement|HTMLCollection|NodeList} trigger * @param {Object} options */ function Clipboard(trigger, options) { var _this; _classCallCheck(this, Clipboard); _this = _super.call(this); _this.resolveOptions(options); _this.listenClick(trigger); return _this; } /** * Defines if attributes would be resolved using internal setter functions * or custom functions that were passed in the constructor. * @param {Object} options */ _createClass(Clipboard, [{ key: "resolveOptions", value: function resolveOptions() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; this.action = typeof options.action === 'function' ? options.action : this.defaultAction; this.target = typeof options.target === 'function' ? options.target : this.defaultTarget; this.text = typeof options.text === 'function' ? options.text : this.defaultText; this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body; } /** * Adds a click event listener to the passed trigger. * @param {String|HTMLElement|HTMLCollection|NodeList} trigger */ }, { key: "listenClick", value: function listenClick(trigger) { var _this2 = this; this.listener = listen_default()(trigger, 'click', function (e) { return _this2.onClick(e); }); } /** * Defines a new `ClipboardAction` on each click event. * @param {Event} e */ }, { key: "onClick", value: function onClick(e) { var trigger = e.delegateTarget || e.currentTarget; var action = this.action(trigger) || 'copy'; var text = actions_default({ action: action, container: this.container, target: this.target(trigger), text: this.text(trigger) }); // Fires an event based on the copy operation result. this.emit(text ? 'success' : 'error', { action: action, text: text, trigger: trigger, clearSelection: function clearSelection() { if (trigger) { trigger.focus(); } window.getSelection().removeAllRanges(); } }); } /** * Default `action` lookup function. * @param {Element} trigger */ }, { key: "defaultAction", value: function defaultAction(trigger) { return getAttributeValue('action', trigger); } /** * Default `target` lookup function. * @param {Element} trigger */ }, { key: "defaultTarget", value: function defaultTarget(trigger) { var selector = getAttributeValue('target', trigger); if (selector) { return document.querySelector(selector); } } /** * Allow fire programmatically a copy action * @param {String|HTMLElement} target * @param {Object} options * @returns Text copied. */ }, { key: "defaultText", /** * Default `text` lookup function. * @param {Element} trigger */ value: function defaultText(trigger) { return getAttributeValue('text', trigger); } /** * Destroy lifecycle. */ }, { key: "destroy", value: function destroy() { this.listener.destroy(); } }], [{ key: "copy", value: function copy(target) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { container: document.body }; return actions_copy(target, options); } /** * Allow fire programmatically a cut action * @param {String|HTMLElement} target * @returns Text cutted. */ }, { key: "cut", value: function cut(target) { return actions_cut(target); } /** * Returns the support of the given action, or all actions if no action is * given. * @param {String} [action] */ }, { key: "isSupported", value: function isSupported() { var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut']; var actions = typeof action === 'string' ? [action] : action; var support = !!document.queryCommandSupported; actions.forEach(function (action) { support = support && !!document.queryCommandSupported(action); }); return support; } }]); return Clipboard; }((tiny_emitter_default())); /* harmony default export */ var clipboard = (Clipboard); /***/ }), /***/ 828: /***/ (function(module) { var DOCUMENT_NODE_TYPE = 9; /** * A polyfill for Element.matches() */ if (typeof Element !== 'undefined' && !Element.prototype.matches) { var proto = Element.prototype; proto.matches = proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector || proto.oMatchesSelector || proto.webkitMatchesSelector; } /** * Finds the closest parent that matches a selector. * * @param {Element} element * @param {String} selector * @return {Function} */ function closest (element, selector) { while (element && element.nodeType !== DOCUMENT_NODE_TYPE) { if (typeof element.matches === 'function' && element.matches(selector)) { return element; } element = element.parentNode; } } module.exports = closest; /***/ }), /***/ 438: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { var closest = __webpack_require__(828); /** * Delegates event to a selector. * * @param {Element} element * @param {String} selector * @param {String} type * @param {Function} callback * @param {Boolean} useCapture * @return {Object} */ function _delegate(element, selector, type, callback, useCapture) { var listenerFn = listener.apply(this, arguments); element.addEventListener(type, listenerFn, useCapture); return { destroy: function() { element.removeEventListener(type, listenerFn, useCapture); } } } /** * Delegates event to a selector. * * @param {Element|String|Array} [elements] * @param {String} selector * @param {String} type * @param {Function} callback * @param {Boolean} useCapture * @return {Object} */ function delegate(elements, selector, type, callback, useCapture) { // Handle the regular Element usage if (typeof elements.addEventListener === 'function') { return _delegate.apply(null, arguments); } // Handle Element-less usage, it defaults to global delegation if (typeof type === 'function') { // Use `document` as the first parameter, then apply arguments // This is a short way to .unshift `arguments` without running into deoptimizations return _delegate.bind(null, document).apply(null, arguments); } // Handle Selector-based usage if (typeof elements === 'string') { elements = document.querySelectorAll(elements); } // Handle Array-like based usage return Array.prototype.map.call(elements, function (element) { return _delegate(element, selector, type, callback, useCapture); }); } /** * Finds closest match and invokes callback. * * @param {Element} element * @param {String} selector * @param {String} type * @param {Function} callback * @return {Function} */ function listener(element, selector, type, callback) { return function(e) { e.delegateTarget = closest(e.target, selector); if (e.delegateTarget) { callback.call(element, e); } } } module.exports = delegate; /***/ }), /***/ 879: /***/ (function(__unused_webpack_module, exports) { /** * Check if argument is a HTML element. * * @param {Object} value * @return {Boolean} */ exports.node = function(value) { return value !== undefined && value instanceof HTMLElement && value.nodeType === 1; }; /** * Check if argument is a list of HTML elements. * * @param {Object} value * @return {Boolean} */ exports.nodeList = function(value) { var type = Object.prototype.toString.call(value); return value !== undefined && (type === '[object NodeList]' || type === '[object HTMLCollection]') && ('length' in value) && (value.length === 0 || exports.node(value[0])); }; /** * Check if argument is a string. * * @param {Object} value * @return {Boolean} */ exports.string = function(value) { return typeof value === 'string' || value instanceof String; }; /** * Check if argument is a function. * * @param {Object} value * @return {Boolean} */ exports.fn = function(value) { var type = Object.prototype.toString.call(value); return type === '[object Function]'; }; /***/ }), /***/ 370: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { var is = __webpack_require__(879); var delegate = __webpack_require__(438); /** * Validates all params and calls the right * listener function based on its target type. * * @param {String|HTMLElement|HTMLCollection|NodeList} target * @param {String} type * @param {Function} callback * @return {Object} */ function listen(target, type, callback) { if (!target && !type && !callback) { throw new Error('Missing required arguments'); } if (!is.string(type)) { throw new TypeError('Second argument must be a String'); } if (!is.fn(callback)) { throw new TypeError('Third argument must be a Function'); } if (is.node(target)) { return listenNode(target, type, callback); } else if (is.nodeList(target)) { return listenNodeList(target, type, callback); } else if (is.string(target)) { return listenSelector(target, type, callback); } else { throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList'); } } /** * Adds an event listener to a HTML element * and returns a remove listener function. * * @param {HTMLElement} node * @param {String} type * @param {Function} callback * @return {Object} */ function listenNode(node, type, callback) { node.addEventListener(type, callback); return { destroy: function() { node.removeEventListener(type, callback); } } } /** * Add an event listener to a list of HTML elements * and returns a remove listener function. * * @param {NodeList|HTMLCollection} nodeList * @param {String} type * @param {Function} callback * @return {Object} */ function listenNodeList(nodeList, type, callback) { Array.prototype.forEach.call(nodeList, function(node) { node.addEventListener(type, callback); }); return { destroy: function() { Array.prototype.forEach.call(nodeList, function(node) { node.removeEventListener(type, callback); }); } } } /** * Add an event listener to a selector * and returns a remove listener function. * * @param {String} selector * @param {String} type * @param {Function} callback * @return {Object} */ function listenSelector(selector, type, callback) { return delegate(document.body, selector, type, callback); } module.exports = listen; /***/ }), /***/ 817: /***/ (function(module) { function select(element) { var selectedText; if (element.nodeName === 'SELECT') { element.focus(); selectedText = element.value; } else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') { var isReadOnly = element.hasAttribute('readonly'); if (!isReadOnly) { element.setAttribute('readonly', ''); } element.select(); element.setSelectionRange(0, element.value.length); if (!isReadOnly) { element.removeAttribute('readonly'); } selectedText = element.value; } else { if (element.hasAttribute('contenteditable')) { element.focus(); } var selection = window.getSelection(); var range = document.createRange(); range.selectNodeContents(element); selection.removeAllRanges(); selection.addRange(range); selectedText = selection.toString(); } return selectedText; } module.exports = select; /***/ }), /***/ 279: /***/ (function(module) { function E () { // Keep this empty so it's easier to inherit from // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3) } E.prototype = { on: function (name, callback, ctx) { var e = this.e || (this.e = {}); (e[name] || (e[name] = [])).push({ fn: callback, ctx: ctx }); return this; }, once: function (name, callback, ctx) { var self = this; function listener () { self.off(name, listener); callback.apply(ctx, arguments); }; listener._ = callback return this.on(name, listener, ctx); }, emit: function (name) { var data = [].slice.call(arguments, 1); var evtArr = ((this.e || (this.e = {}))[name] || []).slice(); var i = 0; var len = evtArr.length; for (i; i < len; i++) { evtArr[i].fn.apply(evtArr[i].ctx, data); } return this; }, off: function (name, callback) { var e = this.e || (this.e = {}); var evts = e[name]; var liveEvents = []; if (evts && callback) { for (var i = 0, len = evts.length; i < len; i++) { if (evts[i].fn !== callback && evts[i].fn._ !== callback) liveEvents.push(evts[i]); } } // Remove event from queue to prevent memory leak // Suggested by https://github.com/lazd // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910 (liveEvents.length) ? e[name] = liveEvents : delete e[name]; return this; } }; module.exports = E; module.exports.TinyEmitter = E; /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ if(__webpack_module_cache__[moduleId]) { /******/ return __webpack_module_cache__[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /* webpack/runtime/compat get default export */ /******/ !function() { /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function() { return module['default']; } : /******/ function() { return module; }; /******/ __webpack_require__.d(getter, { a: getter }); /******/ return getter; /******/ }; /******/ }(); /******/ /******/ /* webpack/runtime/define property getters */ /******/ !function() { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = function(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 */ /******/ !function() { /******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } /******/ }(); /******/ /************************************************************************/ /******/ // module exports must be returned from runtime so entry inlining is disabled /******/ // startup /******/ // Load entry module and return exports /******/ return __webpack_require__(686); /******/ })() .default; });PK!M݋ ݋ zxcvbn.min.jsnu[/*! This file is auto-generated */ /*! zxcvbn - v4.4.1 * realistic password strength estimation * https://github.com/dropbox/zxcvbn * Copyright (c) 2012 Dropbox, Inc.; Licensed MIT */ (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.zxcvbn = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o",null,null],"-":["0)",null,null,"=+","[{","pP"],".":[",<","lL",";:","/?",null,null],"/":[".>",";:","'\"",null,null,null],0:["9(",null,null,"-_","pP","oO"],1:["`~",null,null,"2@","qQ",null],2:["1!",null,null,"3#","wW","qQ"],3:["2@",null,null,"4$","eE","wW"],4:["3#",null,null,"5%","rR","eE"],5:["4$",null,null,"6^","tT","rR"],6:["5%",null,null,"7&","yY","tT"],7:["6^",null,null,"8*","uU","yY"],8:["7&",null,null,"9(","iI","uU"],9:["8*",null,null,"0)","oO","iI"],":":["lL","pP","[{","'\"","/?",".>"],";":["lL","pP","[{","'\"","/?",".>"],"<":["mM","kK","lL",".>",null,null],"=":["-_",null,null,null,"]}","[{"],">":[",<","lL",";:","/?",null,null],"?":[".>",";:","'\"",null,null,null],"@":["1!",null,null,"3#","wW","qQ"],A:[null,"qQ","wW","sS","zZ",null],B:["vV","gG","hH","nN",null,null],C:["xX","dD","fF","vV",null,null],D:["sS","eE","rR","fF","cC","xX"],E:["wW","3#","4$","rR","dD","sS"],F:["dD","rR","tT","gG","vV","cC"],G:["fF","tT","yY","hH","bB","vV"],H:["gG","yY","uU","jJ","nN","bB"],I:["uU","8*","9(","oO","kK","jJ"],J:["hH","uU","iI","kK","mM","nN"],K:["jJ","iI","oO","lL",",<","mM"],L:["kK","oO","pP",";:",".>",",<"],M:["nN","jJ","kK",",<",null,null],N:["bB","hH","jJ","mM",null,null],O:["iI","9(","0)","pP","lL","kK"],P:["oO","0)","-_","[{",";:","lL"],Q:[null,"1!","2@","wW","aA",null],R:["eE","4$","5%","tT","fF","dD"],S:["aA","wW","eE","dD","xX","zZ"],T:["rR","5%","6^","yY","gG","fF"],U:["yY","7&","8*","iI","jJ","hH"],V:["cC","fF","gG","bB",null,null],W:["qQ","2@","3#","eE","sS","aA"],X:["zZ","sS","dD","cC",null,null],Y:["tT","6^","7&","uU","hH","gG"],Z:[null,"aA","sS","xX",null,null],"[":["pP","-_","=+","]}","'\"",";:"],"\\":["]}",null,null,null,null,null],"]":["[{","=+",null,"\\|",null,"'\""],"^":["5%",null,null,"7&","yY","tT"],_:["0)",null,null,"=+","[{","pP"],"`":[null,null,null,"1!",null,null],a:[null,"qQ","wW","sS","zZ",null],b:["vV","gG","hH","nN",null,null],c:["xX","dD","fF","vV",null,null],d:["sS","eE","rR","fF","cC","xX"],e:["wW","3#","4$","rR","dD","sS"],f:["dD","rR","tT","gG","vV","cC"],g:["fF","tT","yY","hH","bB","vV"],h:["gG","yY","uU","jJ","nN","bB"],i:["uU","8*","9(","oO","kK","jJ"],j:["hH","uU","iI","kK","mM","nN"],k:["jJ","iI","oO","lL",",<","mM"],l:["kK","oO","pP",";:",".>",",<"],m:["nN","jJ","kK",",<",null,null],n:["bB","hH","jJ","mM",null,null],o:["iI","9(","0)","pP","lL","kK"],p:["oO","0)","-_","[{",";:","lL"],q:[null,"1!","2@","wW","aA",null],r:["eE","4$","5%","tT","fF","dD"],s:["aA","wW","eE","dD","xX","zZ"],t:["rR","5%","6^","yY","gG","fF"],u:["yY","7&","8*","iI","jJ","hH"],v:["cC","fF","gG","bB",null,null],w:["qQ","2@","3#","eE","sS","aA"],x:["zZ","sS","dD","cC",null,null],y:["tT","6^","7&","uU","hH","gG"],z:[null,"aA","sS","xX",null,null],"{":["pP","-_","=+","]}","'\"",";:"],"|":["]}",null,null,null,null,null],"}":["[{","=+",null,"\\|",null,"'\""],"~":[null,null,null,"1!",null,null]},dvorak:{"!":["`~",null,null,"2@","'\"",null],'"':[null,"1!","2@",",<","aA",null],"#":["2@",null,null,"4$",".>",",<"],$:["3#",null,null,"5%","pP",".>"],"%":["4$",null,null,"6^","yY","pP"],"&":["6^",null,null,"8*","gG","fF"],"'":[null,"1!","2@",",<","aA",null],"(":["8*",null,null,"0)","rR","cC"],")":["9(",null,null,"[{","lL","rR"],"*":["7&",null,null,"9(","cC","gG"],"+":["/?","]}",null,"\\|",null,"-_"],",":["'\"","2@","3#",".>","oO","aA"],"-":["sS","/?","=+",null,null,"zZ"],".":[",<","3#","4$","pP","eE","oO"],"/":["lL","[{","]}","=+","-_","sS"],0:["9(",null,null,"[{","lL","rR"],1:["`~",null,null,"2@","'\"",null],2:["1!",null,null,"3#",",<","'\""],3:["2@",null,null,"4$",".>",",<"],4:["3#",null,null,"5%","pP",".>"],5:["4$",null,null,"6^","yY","pP"],6:["5%",null,null,"7&","fF","yY"],7:["6^",null,null,"8*","gG","fF"],8:["7&",null,null,"9(","cC","gG"],9:["8*",null,null,"0)","rR","cC"],":":[null,"aA","oO","qQ",null,null],";":[null,"aA","oO","qQ",null,null],"<":["'\"","2@","3#",".>","oO","aA"],"=":["/?","]}",null,"\\|",null,"-_"],">":[",<","3#","4$","pP","eE","oO"],"?":["lL","[{","]}","=+","-_","sS"],"@":["1!",null,null,"3#",",<","'\""],A:[null,"'\"",",<","oO",";:",null],B:["xX","dD","hH","mM",null,null],C:["gG","8*","9(","rR","tT","hH"],D:["iI","fF","gG","hH","bB","xX"],E:["oO",".>","pP","uU","jJ","qQ"],F:["yY","6^","7&","gG","dD","iI"],G:["fF","7&","8*","cC","hH","dD"],H:["dD","gG","cC","tT","mM","bB"],I:["uU","yY","fF","dD","xX","kK"],J:["qQ","eE","uU","kK",null,null],K:["jJ","uU","iI","xX",null,null],L:["rR","0)","[{","/?","sS","nN"],M:["bB","hH","tT","wW",null,null],N:["tT","rR","lL","sS","vV","wW"],O:["aA",",<",".>","eE","qQ",";:"],P:[".>","4$","5%","yY","uU","eE"],Q:[";:","oO","eE","jJ",null,null],R:["cC","9(","0)","lL","nN","tT"],S:["nN","lL","/?","-_","zZ","vV"],T:["hH","cC","rR","nN","wW","mM"],U:["eE","pP","yY","iI","kK","jJ"],V:["wW","nN","sS","zZ",null,null],W:["mM","tT","nN","vV",null,null],X:["kK","iI","dD","bB",null,null],Y:["pP","5%","6^","fF","iI","uU"],Z:["vV","sS","-_",null,null,null],"[":["0)",null,null,"]}","/?","lL"],"\\":["=+",null,null,null,null,null],"]":["[{",null,null,null,"=+","/?"],"^":["5%",null,null,"7&","fF","yY"],_:["sS","/?","=+",null,null,"zZ"],"`":[null,null,null,"1!",null,null],a:[null,"'\"",",<","oO",";:",null],b:["xX","dD","hH","mM",null,null],c:["gG","8*","9(","rR","tT","hH"],d:["iI","fF","gG","hH","bB","xX"],e:["oO",".>","pP","uU","jJ","qQ"],f:["yY","6^","7&","gG","dD","iI"],g:["fF","7&","8*","cC","hH","dD"],h:["dD","gG","cC","tT","mM","bB"],i:["uU","yY","fF","dD","xX","kK"],j:["qQ","eE","uU","kK",null,null],k:["jJ","uU","iI","xX",null,null],l:["rR","0)","[{","/?","sS","nN"],m:["bB","hH","tT","wW",null,null],n:["tT","rR","lL","sS","vV","wW"],o:["aA",",<",".>","eE","qQ",";:"],p:[".>","4$","5%","yY","uU","eE"],q:[";:","oO","eE","jJ",null,null],r:["cC","9(","0)","lL","nN","tT"],s:["nN","lL","/?","-_","zZ","vV"],t:["hH","cC","rR","nN","wW","mM"],u:["eE","pP","yY","iI","kK","jJ"],v:["wW","nN","sS","zZ",null,null],w:["mM","tT","nN","vV",null,null],x:["kK","iI","dD","bB",null,null],y:["pP","5%","6^","fF","iI","uU"],z:["vV","sS","-_",null,null,null],"{":["0)",null,null,"]}","/?","lL"],"|":["=+",null,null,null,null,null],"}":["[{",null,null,null,"=+","/?"],"~":[null,null,null,"1!",null,null]},keypad:{"*":["/",null,null,null,"-","+","9","8"],"+":["9","*","-",null,null,null,null,"6"],"-":["*",null,null,null,null,null,"+","9"],".":["0","2","3",null,null,null,null,null],"/":[null,null,null,null,"*","9","8","7"],0:[null,"1","2","3",".",null,null,null],1:[null,null,"4","5","2","0",null,null],2:["1","4","5","6","3",".","0",null],3:["2","5","6",null,null,null,".","0"],4:[null,null,"7","8","5","2","1",null],5:["4","7","8","9","6","3","2","1"],6:["5","8","9","+",null,null,"3","2"],7:[null,null,null,"/","8","5","4",null],8:["7",null,"/","*","9","6","5","4"],9:["8","/","*","-","+",null,"6","5"]},mac_keypad:{"*":["/",null,null,null,null,null,"-","9"],"+":["6","9","-",null,null,null,null,"3"],"-":["9","/","*",null,null,null,"+","6"],".":["0","2","3",null,null,null,null,null],"/":["=",null,null,null,"*","-","9","8"],0:[null,"1","2","3",".",null,null,null],1:[null,null,"4","5","2","0",null,null],2:["1","4","5","6","3",".","0",null],3:["2","5","6","+",null,null,".","0"],4:[null,null,"7","8","5","2","1",null],5:["4","7","8","9","6","3","2","1"],6:["5","8","9","-","+",null,"3","2"],7:[null,null,null,"=","8","5","4",null],8:["7",null,"=","/","9","6","5","4"],9:["8","=","/","*","-","+","6","5"],"=":[null,null,null,null,"/","9","8","7"]}},module.exports=adjacency_graphs; },{}],2:[function(require,module,exports){ var feedback,scoring;scoring=require("./scoring"),feedback={default_feedback:{warning:"",suggestions:["Use a few words, avoid common phrases","No need for symbols, digits, or uppercase letters"]},get_feedback:function(e,s){var a,t,r,n,o,i;if(0===s.length)return this.default_feedback;if(e>2)return{warning:"",suggestions:[]};for(n=s[0],i=s.slice(1),t=0,r=i.length;tn.token.length&&(n=o);return feedback=this.get_match_feedback(n,1===s.length),a="Add another word or two. Uncommon words are better.",null!=feedback?(feedback.suggestions.unshift(a),null==feedback.warning&&(feedback.warning="")):feedback={warning:"",suggestions:[a]},feedback},get_match_feedback:function(e,s){var a,t;switch(e.pattern){case"dictionary":return this.get_dictionary_match_feedback(e,s);case"spatial":return a=e.graph.toUpperCase(),t=1===e.turns?"Straight rows of keys are easy to guess":"Short keyboard patterns are easy to guess",{warning:t,suggestions:["Use a longer keyboard pattern with more turns"]};case"repeat":return t=1===e.base_token.length?'Repeats like "aaa" are easy to guess':'Repeats like "abcabcabc" are only slightly harder to guess than "abc"',{warning:t,suggestions:["Avoid repeated words and characters"]};case"sequence":return{warning:"Sequences like abc or 6543 are easy to guess",suggestions:["Avoid sequences"]};case"regex":if("recent_year"===e.regex_name)return{warning:"Recent years are easy to guess",suggestions:["Avoid recent years","Avoid years that are associated with you"]};break;case"date":return{warning:"Dates are often easy to guess",suggestions:["Avoid dates and years that are associated with you"]}}},get_dictionary_match_feedback:function(e,s){var a,t,r,n,o;return n="passwords"===e.dictionary_name?!s||e.l33t||e.reversed?e.guesses_log10<=4?"This is similar to a commonly used password":void 0:e.rank<=10?"This is a top-10 common password":e.rank<=100?"This is a top-100 common password":"This is a very common password":"english"===e.dictionary_name?s?"A word by itself is easy to guess":void 0:"surnames"===(a=e.dictionary_name)||"male_names"===a||"female_names"===a?s?"Names and surnames by themselves are easy to guess":"Common names and surnames are easy to guess":"",r=[],o=e.token,o.match(scoring.START_UPPER)?r.push("Capitalization doesn't help very much"):o.match(scoring.ALL_UPPER)&&o.toLowerCase()!==o&&r.push("All-uppercase is almost as easy to guess as all-lowercase"),e.reversed&&e.token.length>=4&&r.push("Reversed words aren't much harder to guess"),e.l33t&&r.push("Predictable substitutions like '@' instead of 'a' don't help very much"),t={warning:n,suggestions:r}}},module.exports=feedback; },{"./scoring":6}],3:[function(require,module,exports){ var frequency_lists;frequency_lists={passwords:"123456,cnffjbeq,12345678,djregl,123456789,12345,1234,111111,1234567,qentba,123123,onfronyy,nop123,sbbgonyy,zbaxrl,yrgzrva,funqbj,znfgre,696969,zhfgnat,666666,djreglhvbc,123321,1234567890,chffl,fhcrezna,654321,1dnm2jfk,7777777,shpxlbh,dnmjfk,wbeqna,123djr,000000,xvyyre,gehfgab1,uhagre,uneyrl,mkpioaz,nfqstu,ohfgre,ongzna,fbppre,gvttre,puneyvr,fhafuvar,vybirlbh,shpxzr,enatre,ubpxrl,pbzchgre,fgnejnef,nffubyr,crccre,xynfgre,112233,mkpioa,serrqbz,cevaprff,znttvr,cnff,tvatre,11111111,131313,shpx,ybir,purrfr,159753,fhzzre,puryfrn,qnyynf,ovgrzr,zngevk,lnaxrrf,6969,pbeirggr,nhfgva,npprff,guhaqre,zreyva,frperg,qvnzbaq,uryyb,unzzre,shpxre,1234djre,fvyire,tsuwxz,vagrearg,fnznagun,tbysre,fpbbgre,grfg,benatr,pbbxvr,d1j2r3e4g5,znirevpx,fcnexl,cubravk,zvpxrl,ovtqbt,fabbcl,thvgne,jungrire,puvpxra,pnzneb,zreprqrf,crnahg,sreenev,snypba,pbjobl,jrypbzr,frkl,fnzfhat,fgrryref,fzbxrl,qnxbgn,nefrany,obbzre,rntyrf,gvtref,znevan,anfpne,obbobb,tngrjnl,lryybj,cbefpur,zbafgre,fcvqre,qvnoyb,unaanu,ohyyqbt,whavbe,ybaqba,checyr,pbzcnd,ynxref,vprzna,djre1234,uneqpber,pbjoblf,zbarl,onanan,app1701,obfgba,graavf,d1j2r3e4,pbssrr,fpbbol,123654,avxvgn,lnznun,zbgure,onearl,oenaql,purfgre,shpxbss,byvire,cynlre,sberire,enatref,zvqavtug,puvpntb,ovtqnqql,erqfbk,natry,onqobl,sraqre,wnfcre,fynlre,enoovg,angnfun,znevar,ovtqvpx,jvmneq,zneyobeb,envqref,cevapr,pnfcre,svfuvat,sybjre,wnfzvar,vjnagh,cnagvrf,nqvqnf,jvagre,jvaare,tnaqnys,cnffjbeq1,ragre,tuoqga,1d2j3r4e,tbyqra,pbpnpbyn,wbeqna23,jvafgba,znqvfba,natryf,cnagure,oybjzr,frkfrk,ovtgvgf,fcnaxl,ovgpu,fbcuvr,nfqsnfqs,ubeal,guk1138,gblbgn,gvtre,qvpx,pnanqn,12344321,oybjwbo,8675309,zhssva,yvirecbb,nccyrf,djregl123,cnffj0eq,nopq1234,cbxrzba,123nop,fyvcxabg,dnmkfj,123456n,fpbecvba,djnfmk,ohggre,fgnegerx,envaobj,nfqstuwxy,enmm,arjlbex,erqfxvaf,trzvav,pnzreba,dnmjfkrqp,sybevqn,yvirecbby,ghegyr,fvreen,ivxvat,obbtre,ohggurnq,qbpgbe,ebpxrg,159357,qbycuvaf,pncgnva,onaqvg,wnthne,cnpxref,cbbxvr,crnpurf,789456,nfqs,qbycuva,uryczr,oyhr,gurzna,znkjryy,djreglhv,fuvgurnq,ybiref,znqqbt,tvnagf,aveinan,zrgnyyvp,ubgqbt,ebfrohq,zbhagnva,jneevbe,fghcvq,ryrcunag,fhpxvg,fhpprff,obaq007,wnpxnff,nyrkvf,cbea,yhpxl,fpbecvb,fnzfba,d1j2r3,nmregl,ehfu2112,qevire,serqql,1d2j3r4e5g,flqarl,tngbef,qrkgre,erq123,123456d,12345n,ohoon,perngvir,ibbqbb,tbys,gebhoyr,nzrevpn,avffna,thaare,tnesvryq,ohyyfuvg,nfqstuwx,5150,shpxvat,ncbyyb,1dnmkfj2,2112,rzvarz,yrtraq,nveobear,orne,ornivf,nccyr,oebbxyla,tbqmvyyn,fxvccl,4815162342,ohqql,djreg,xvggra,zntvp,furyol,ornire,cunagbz,nfqnfq,knivre,oenirf,qnexarff,oyvax182,pbccre,cyngvahz,djrdjr,gbzpng,01012011,tveyf,ovtobl,102030,navzny,cbyvpr,bayvar,11223344,iblntre,yvsrunpx,12djnfmk,svfu,favcre,315475,gevavgl,oynmre,urnira,ybire,fabjonyy,cynlobl,ybirzr,ohooyrf,ubbgref,pevpxrg,jvyybj,qbaxrl,gbctha,avagraqb,fnghea,qrfgval,cnxvfgna,chzcxva,qvtvgny,fretrl,erqjvatf,rkcybere,gvgf,cevingr,ehaare,gurebpx,thvaarff,ynfirtnf,orngyrf,789456123,sver,pnffvr,puevfgva,djregl1,prygvp,nfqs1234,naqerl,oebapbf,007007,onoltvey,rpyvcfr,syhssl,pnegzna,zvpuvtna,pnebyvan,grfgvat,nyrknaqr,oveqvr,cnagren,pureel,inzcver,zrkvpb,qvpxurnq,ohssnyb,travhf,zbagnan,orre,zvarpensg,znkvzhf,sylref,ybiryl,fgnyxre,zrgnyyvpn,qbttvr,favpxref,fcrrql,oebapb,yby123,cnenqvfr,lnaxrr,ubefrf,zntahz,qernzf,147258369,ynpebffr,bh812,tbbore,ravtzn,djreglh,fpbggl,cvzcva,obyybpxf,fhesre,pbpx,cbbuorne,trarfvf,fgne,nfq123,djrnfqmkp,enpvat,uryyb1,unjnvv,rntyr1,ivcre,cbbcbb,rvafgrva,obbovrf,12345d,ovgpurf,qebjffnc,fvzcyr,onqtre,nynfxn,npgvba,wrfgre,qehzzre,111222,fcvgsver,sberfg,znelwnar,punzcvba,qvrfry,firgynan,sevqnl,ubgebq,147258,puril,yhpxl1,jrfgfvqr,frphevgl,tbbtyr,onqnff,grfgre,fubegl,guhzcre,uvgzna,zbmneg,mnd12jfk,obbof,erqqbt,010203,yvmneq,n123456,123456789n,ehfyna,rntyr,1232323d,fpnesnpr,djregl12,147852,n12345,ohqqun,cbeab,420420,fcvevg,zbarl1,fgnetngr,djr123,anehgb,zrephel,yvoregl,12345djreg,frzcresv,fhmhxv,cbcpbea,fcbbxl,zneyrl,fpbgynaq,xvggl,purebxrr,ivxvatf,fvzcfbaf,enfpny,djrnfq,uhzzre,ybirlbh,zvpunry1,cngpurf,ehffvn,whcvgre,crathva,cnffvba,phzfubg,isuols,ubaqn,iynqvzve,fnaqzna,cnffcbeg,envqre,onfgneq,123789,vasvavgl,nffzna,ohyyqbtf,snagnfl,fhpxre,1234554321,ubearl,qbzvab,ohqyvtug,qvfarl,vebazna,hfhpxonyym1,fbsgonyy,oehghf,erqehz,ovterq,zaoipkm,sxgepslyu,xnevan,znevarf,qvttre,xnjnfnxv,pbhtne,sverzna,bxfnan,zbaqnl,phag,whfgvpr,avttre,fhcre,jvyqpngf,gvaxre,ybtvgrpu,qnapre,fjbeqsvf,ninyba,riregba,nyrknaqe,zbgbebyn,cngevbgf,uragnv,znqbaan,chffl1,qhpngv,pbybenqb,pbaabe,whiraghf,tnyber,fzbbgu,serrhfre,jnepensg,obbtvr,gvgnavp,jbyireva,ryvmnorg,nevmban,inyragva,fnvagf,nfqst,nppbeq,grfg123,cnffjbeq123,puevfg,lsasvs,fgvaxl,fyhg,fcvqrezn,anhtugl,pubccre,uryyb123,app1701q,rkgerzr,fxlyvar,cbbc,mbzovr,crneywnz,123djrnfq,sebttl,njrfbzr,ivfvba,cvengr,slyugd,qernzre,ohyyrg,cerqngbe,rzcver,123123n,xvevyy,puneyvr1,cnaguref,cravf,fxvccre,arzrfvf,enfqmi3,crrxnobb,ebyygvqr,pneqvany,cflpub,qnatre,zbbxvr,unccl1,jnaxre,puriryyr,znahgq,tboyhr,9379992,uboorf,irtrgn,slspaspom,852456,cvpneq,159951,jvaqbjf,ybireobl,ivpgbel,isepoi,onzonz,frertn,123654789,ghexrl,gjrrgl,tnyvan,uvcubc,ebbfgre,punatrzr,oreyva,gnhehf,fhpxzr,cbyvan,ryrpgevp,ningne,134679,znxfvz,encgbe,nycun1,uraqevk,arjcbeg,ovtpbpx,oenmvy,fcevat,n1o2p3,znqznk,nycun,oevgarl,fhoyvzr,qnexfvqr,ovtzna,jbyscnpx,pynffvp,urephyrf,ebanyqb,yrgzrva1,1d2j3r,741852963,fcvqrezna,oyvmmneq,123456789d,purlraar,pwxlfvew,gvtre1,jbzong,ohoon1,cnaqben,mkp123,ubyvqnl,jvyqpng,qrivyf,ubefr,nynonzn,147852369,pnrfne,12312,ohqql1,obaqntr,chfflpng,cvpxyr,funttl,pngpu22,yrngure,puebavp,n1o2p3q4,nqzva,ddd111,dnm123,nvecynar,xbqvnx,serrcnff,ovyylobo,fhafrg,xngnan,cucoo,pubpbyng,fabjzna,natry1,fgvatenl,sveroveq,jbyirf,mrccryva,qrgebvg,cbagvnp,thaqnz,cnamre,intvan,bhgynj,erqurnq,gneurryf,terraqnl,anfgln,01011980,uneqba,ratvarre,qentba1,uryysver,freravgl,pboen,sveronyy,yvpxzr,qnexfgne,1029384756,01011,zhfgnat1,synfu,124578,fgevxr,ornhgl,cnivyvba,01012000,obonsrgg,qoeawuom,ovtznp,objyvat,puevf1,lgerjd,angnyv,clenzvq,ehyrm,jrypbzr1,qbqtref,ncnpur,fjvzzvat,julabg,grraf,gebbcre,shpxvg,qrsraqre,cerpvbhf,135790,cnpxneq,jrnfry,cbcrlr,yhpvsre,pnapre,vprpernz,142536,enira,fjbeqsvfu,cerfnevb,ivxgbe,ebpxfgne,oybaqr,wnzrf1,jhgnat,fcvxr,cvzc,ngynagn,nvesbepr,gunvynaq,pnfvab,yraaba,zbhfr,741852,unpxre,oyhroveq,unjxrlr,456123,gurbar,pngsvfu,fnvybe,tbyqsvfu,asazmls,gnggbb,creireg,oneovr,znkvzn,avccyrf,znpuvar,gehpxf,jenatyre,ebpxf,gbeanqb,yvtugf,pnqvyynp,ohooyr,crtnfhf,znqzna,ybatubea,oebjaf,gnetrg,666999,rngzr,dnmjfk123,zvpebfbsg,qvyoreg,puevfgvn,onyyre,yrfovna,fubbgre,ksvyrf,frnggyr,dnmdnm,pguhgd,nzngrhe,ceryhqr,pbeban,sernxl,znyvoh,123djrnfqmkp,nffnffva,246810,ngynagvf,vagrten,chffvrf,vybirh,ybarjbys,qentbaf,zbaxrl1,havpbea,fbsgjner,obopng,fgrnygu,crrjrr,bcrahc,753951,fevavinf,mndjfk,inyragvan,fubgtha,gevttre,irebavxn,oehvaf,pblbgr,onolqbyy,wbxre,qbyyne,yrfgng,ebpxl1,ubggvr,enaqbz,ohggresyl,jbeqcnff,fzvyrl,fjrrgl,fanxr,puvccre,jbbql,fnzhenv,qrivyqbt,tvmzb,znqqvr,fbfb123nywt,zvfgerff,serrqbz1,syvccre,rkcerff,uwisves,zbbfr,prffan,cvtyrg,cbynevf,grnpure,zbagerny,pbbxvrf,jbystnat,fphyyl,sngobl,jvpxrq,onyyf,gvpxyr,ohaal,qsitou,sbbone,genafnz,crcfv,srgvfu,bvph812,onfxrgon,gbfuvon,ubgfghss,fhaqnl,obbgl,tnzovg,31415926,vzcnyn,fgrcunav,wrffvpn1,ubbxre,ynapre,xavpxf,funzebpx,shpxlbh2,fgvatre,314159,erqarpx,qrsgbarf,fdhveg,fvrzraf,oynfgre,gehpxre,fhoneh,erartnqr,vonarm,znafba,fjvatre,erncre,oybaqvr,zlybir,tnynkl,oynuoynu,ragrecev,geniry,1234nopq,onolyba5,vaqvnan,fxrrgre,znfgre1,fhtne,svpxra,fzbxr,ovtbar,fjrrgcrn,shpxrq,gesaguols,znevab,rfpbeg,fzvggl,ovtsbbg,onorf,ynevfn,gehzcrg,fcnegna,inyren,onolyba,nfqstuw,lnaxrrf1,ovtobbof,fgbezl,zvfgre,unzyrg,nneqinex,ohggresy,znenguba,cnynqva,pninyvre,znapurfgre,fxngre,vaqvtb,ubearg,ohpxrlrf,01011990,vaqvnaf,xnengr,urfblnz,gbebagb,qvnzbaqf,puvrsf,ohpxrlr,1dnm2jfk3rqp,uvtuynaq,ubgfrk,punetre,erqzna,cnffjbe,znvqra,qecrccre,fgbez,cbeafgne,tneqra,12345678910,crapvy,fureybpx,gvzore,guhtyvsr,vafnar,cvmmn,whatyr,wrfhf1,nentbea,1n2o3p,unzfgre,qnivq1,gevhzcu,grpuab,ybyyby,cvbarre,pngqbt,321654,sxgepgd,zbecurhf,141627,cnfpny,funqbj1,uboovg,jrgchffl,rebgvp,pbafhzre,oynoyn,whfgzr,fgbarf,puevffl,fcnegnx,tbsbevg,ohetre,cvgohyy,nqtwzcgj,vgnyvn,onepryban,uhagvat,pbybef,xvffzr,ivetva,bireybeq,crooyrf,fhaqnapr,rzrenyq,qbttl,enprpne,vevan,ryrzrag,1478963,mvccre,nycvar,onfxrg,tbqqrff,cbvfba,avccyr,fnxhen,puvpuv,uhfxref,13579,chfflf,d12345,hygvzngr,app1701r,oynpxvr,avpbyn,ebzzry,znggurj1,pnfregn,bzrtn,trebavzb,fnzzl1,gebwna,123djr123,cuvyvcf,ahttrg,gnemna,puvpxf,nyrxfnaqe,onffzna,gevkvr,cbeghtny,nanxva,qbqtre,obzore,fhcresyl,znqarff,d1j2r3e4g5l6,ybfre,123nfq,sngpng,loeoas,fbyqvre,jneybpx,jevaxyr1,qrfver,frkhny,onor,frzvabyr,nyrwnaqe,951753,11235813,jrfgunz,naqerv,pbapergr,npprff14,jrrq,yrgzrva2,ynqloht,anxrq,puevfgbc,gebzobar,gvagva,oyhrfxl,euopaols,dnmkfjrqp,barybir,pqgaxsls,juber,isiwkes,gvgnaf,fgnyyvba,gehpx,unafbyb,oyhr22,fzvyrf,orntyr,cnanzn,xvatxbat,syngeba,vasreab,zbatbbfr,pbaarpg,cbvhlg,fangpu,dnjfrq,whvpr,oyrffrq,ebpxre,fanxrf,gheob,oyhrzbba,frk4zr,svatre,wnznvpn,n1234567,zhyqre,orrgyr,shpxlbh1,cnffng,vzzbegny,cynfgvp,123454321,nagubal1,juvfxrl,qvrgpbxr,fhpx,fchaxl,zntvp1,zbavgbe,pnpghf,rkvtra,cynarg,evccre,grra,fclqre,nccyr1,abyvzvg,ubyyljbb,fyhgf,fgvpxl,gehaxf,1234321,14789632,cvpxyrf,fnvyvat,obarurnq,tuoqgaoe,qrygn,puneybgg,ehoore,911911,112358,zbyyl1,lbznzn,ubatxbat,whzcre,jvyyvnz1,vybirfrk,snfgre,haerny,phzzvat,zrzcuvf,1123581321,alybaf,yrtvba,fronfgvn,funybz,cragvhz,trurvz,jrerjbys,shagvzr,sreerg,bevba,phevbhf,555666,avaref,pnagban,fcevgr,cuvyyl,cvengrf,noteglh,ybyyvcbc,rgreavgl,obrvat,fhcre123,fjrrgf,pbbyqhqr,gbggraun,terra1,wnpxbss,fgbpxvat,7895123,zbbzbb,znegvav,ovfphvg,qevmmg,pbyg45,sbffvy,znxniryv,fanccre,fngna666,znavnp,fnyzba,cngevbg,ireongvz,anfgl,funfgn,nfqmkp,funirq,oynpxpng,envfgyva,djregl12345,chaxebpx,pwxljg,01012010,4128,jngreybb,pevzfba,gjvfgre,bksbeq,zhfvpzna,frvasryq,ovttvr,pbaqbe,eniraf,zrtnqrgu,jbyszna,pbfzbf,funexf,onafurr,xrrcre,sbkgebg,ta56ta56,fxljnyxr,iryirg,oynpx1,frfnzr,qbtf,fdhveery,cevirg,fhaevfr,jbyirevar,fhpxf,yrtbynf,teraqry,tubfg,pngf,pneebg,sebfgl,yioauod,oynqrf,fgneqhfg,sebt,dnmjfkrq,121314,pbbyvb,oebjavr,tebbil,gjvyvtug,qnlgban,inaunyra,cvxnpuh,crnahgf,yvpxre,urefurl,wrevpub,vagercvq,avawn,1234567n,mnd123,ybofgre,tboyva,chavfure,fgevqre,fubtha,xnafnf,nznqrhf,frira7,wnfba1,arcghar,fubjgvzr,zhfpyr,byqzna,rxngrevan,esesves,trgfbzr,fubjzr,111222333,bovjna,fxvggyrf,qnaav,gnaxre,znrfgeb,gneurry,nahovf,unaavony,nany,arjyvsr,tbguvp,funex,svtugre,oyhr123,oyhrf,123456m,cevaprf,fyvpx,punbf,guhaqre1,fnovar,1d2j3r4e5g6l,clguba,grfg1,zventr,qrivy,pybire,grdhvyn,puryfrn1,fhesvat,qryrgr,cbgngb,puhool,cnanfbavp,fnaqvrtb,cbegynaq,onttvaf,shfvba,fbbaref,oynpxqbt,ohggbaf,pnyvsbea,zbfpbj,cynlgvzr,zngher,1n2o3p4q,qnttre,qvzn,fgvzcl,nfqs123,tnatfgre,jneevbef,virefba,punetref,olgrzr,fjnyybj,yvdhvq,yhpxl7,qvatqbat,alzrgf,penpxre,zhfuebbz,456852,pehfnqre,ovtthl,zvnzv,qxsyoiou,ohttre,avzebq,gnmzna,fgenatre,arjcnff,qbbqyr,cbjqre,tbgpun,thneqvna,qhoyva,fyncfubg,frcgrzor,147896325,crcfv1,zvynab,tevmmyl,jbbql1,xavtugf,cubgbf,2468,abbxvr,puneyl,enzzfgrva,oenfvy,123321123,fpehssl,zhapuxva,cbbcvr,123098,xvgglpng,yngvab,jnyahg,1701,gurtnzr,ivcre1,1cnffjbe,xbybobx,cvpnffb,eboreg1,onepryba,onananf,genapr,nhohea,pbygenar,rngfuvg,tbbqyhpx,fgnepensg,jurryf,cneebg,cbfgny,oynqr,jvfqbz,cvax,tbevyyn,xngrevan,cnff123,naqerj1,funarl14,qhzonff,bfvevf,shpx_vafvqr,bnxynaq,qvfpbire,enatre1,fcnaxvat,ybarfgne,ovatb,zrevqvna,cvat,urngure1,qbbxvr,fgbarpby,zrtnzna,192837465,ewaglwe,yrqmrc,ybjevqre,25802580,evpuneq1,sversyl,tevssrl,enprek,cnenqbk,tuwpaw,tnatfgn,mnd1kfj2,gnpboryy,jrrmre,fvevhf,unysyvsr,ohssrgg,fuvybu,123698745,iregvtb,fretrv,nyvraf,fbonxn,xrlobneq,xnatnebb,fvaare,fbppre1,0.0.000,obawbhe,fbpengrf,puhpxl,ubgobl,fcevag,0007,fnenu1,fpneyrg,pryvpn,funmnz,sbezhyn1,fbzzre,gerobe,djrenfqs,wrrc,znvyperngrq5240,obyybk,nffubyr1,shpxsnpr,ubaqn1,eroryf,inpngvba,yrkznex,crathvaf,12369874,entanebx,sbezhyn,258456,grzcrfg,isurpm,gnpbzn,djregm,pbybzovn,synzrf,ebpxba,qhpx,cebqvtl,jbbxvr,qbqtrenz,zhfgnatf,123dnm,fvguybeq,fzbxre,freire,onat,vaphohf,fpbbolqb,boyvivba,zbyfba,xvgxng,gvgyrvfg,erfphr,mkpi1234,pnecrg,1122,ovtonyyf,gneqvf,wvzobo,knanqh,oyhrrlrf,funzna,zrefrqrf,cbbcre,chffl69,tbysvat,urnegf,znyyneq,12312312,xrajbbq,cngevpx1,qbtt,pbjoblf1,benpyr,123mkp,ahggregbbyf,102938,gbccre,1122334455,furznyr,fyrrcl,terzyva,lbhezbz,123987,tngrjnl1,cevagre,zbaxrlf,crgrecna,zvxrl,xvatfgba,pbbyre,nanyfrk,wvzob,cn55jbeq,nfgrevk,serpxyrf,oveqzna,senax1,qrsvnag,nhffvr,fghq,oybaqrf,gnglnan,445566,nfcvevar,znevaref,wnpxny,qrnqurnq,xngeva,navzr,ebbgorre,sebttre,cbyb,fpbbgre1,unyyb,abbqyrf,gubznf1,cnebyn,funbyva,pryvar,11112222,cylzbhgu,pernzcvr,whfgqbvg,bulrnu,sngnff,nffshpx,nznmba,1234567d,xvffrf,zntahf,pnzry,abcnff,obfpb,987456,6751520,uneyrl1,chggre,punzcf,znffvir,fcvqrl,yvtugava,pnzrybg,yrgftb,tvmzbqb,nrmnxzv,obarf,pnyvragr,12121,tbbqgvzr,gunaxlbh,envqref1,oehpryrr,erqnyreg,ndhnevhf,456654,pngureva,fzbxva,cbbu,zlcnff,nfgebf,ebyyre,cbexpubc,fnccuver,djreg123,xriva1,n1f2q3s4,orpxunz,ngbzvp,ehfgl1,inavyyn,dnmjfkrqpesi,uhagre1,xnxghf,pkspazg,oynpxl,753159,ryivf1,nttvrf,oynpxwnp,onatxbx,fpernz,123321d,vsbetbg,cbjre1,xnfcre,nop12,ohfgre1,fynccl,fuvggl,irevgnf,puriebyr,nzore1,01012001,inqre,nzfgreqnz,wnzzre,cevzhf,fcrpgehz,rqhneq,tenaal,ubeal1,fnfun1,pynapl,hfn123,fngna,qvnzbaq1,uvgyre,niratre,1221,fcnaxzr,123456djregl,fvzon,fzhqtr,fpenccl,ynoenqbe,wbua316,flenphfr,sebag242,snypbaf,uhfxre,pnaqlzna,pbzznaqb,tngbe,cnpzna,qrygn1,cnapub,xevfuan,sngzna,pyvgbevf,cvarnccy,yrfovnaf,8w4lr3hm,onexyrl,ihypna,chaxva,obare,prygvpf,zbabcbyl,sylobl,ebznfuxn,unzohet,123456nn,yvpx,tnatonat,223344,nern51,fcnegnaf,nnn111,gevpxl,fahttyrf,qentb,ubzreha,irpgen,ubzre1,urezrf,gbcpng,phqqyrf,vasvavgv,1234567890d,pbfjbegu,tbbfr,cubravk1,xvyyre1,vinabi,obffzna,dnjfrqes,crhtrbg,rkvtrag,qborezna,qhenatb,oenaqba1,cyhzore,gryrsba,ubeaqbt,ynthan,eouoxx,qnjt,jroznfgre,oerrmr,ornfg,cbefpur9,orrspnxr,yrbcneq,erqohyy,bfpne1,gbcqbt,tbqfznpx,gurxvat,cvpf,bzrtn1,fcrnxre,ivxgbevn,shpxref,objyre,fgneohpx,twxols,inyunyyn,nanepul,oynpxf,ureovr,xvatcva,fgnesvfu,abxvn,ybirvg,npuvyyrf,906090,ynogrp,app1701n,svgarff,wbeqna1,oenaqb,nefrany1,ohyy,xvpxre,ancnff,qrfreg,fnvyobng,obuvpn,genpgbe,uvqqra,zhccrg,wnpxfba1,wvzzl1,grezvangbe,cuvyyvrf,cn55j0eq,greebe,snefvqr,fjvatref,yrtnpl,sebagvre,ohggubyr,qbhtuobl,wepsls,ghrfqnl,fnoongu,qnavry1,aroenfxn,ubzref,djreglhvb,nmnzng,snyyra,ntrag007,fgevxre,pnzryf,vthnan,ybbxre,cvaxsybl,zbybxb,djregl123456,qnaalobl,yhpxlqbt,789654,cvfgby,jubpnerf,punezrq,fxvvat,fryrpg,senaxl,chccl,qnavvy,iynqvx,irggr,isepoies,vungrlbh,arinqn,zbarlf,ixbagnxgr,znaqvatb,chccvrf,666777,zlfgvp,mvqnar,xbgrabx,qvyyvtns,ohqzna,ohatubyr,mirmqn,123457,gevgba,tbysonyy,grpuavpf,gebwnaf,cnaqn,yncgbc,ebbxvr,01011991,15426378,noreqrra,thfgni,wrgueb,ragrecevfr,vtbe,fgevccre,svygre,uheevpna,esaguols,yrfcnhy,tvmzb1,ohgpu,132435,qguwloes,1366613,rkpnyvoh,963852,absrne,zbzbarl,cbffhz,phggre,bvyref,zbbpbj,phcpnxr,tocygj,ongzna1,fcynfu,firgvx,fhcre1,fbyrvy,obtqna,zryvffn1,ivcref,onolobl,gqhglod,ynaprybg,ppovyy,xrlfgbar,cnffjbeg,synzvatb,sversbk,qbtzna,ibegrk,erory,abbqyr,enira1,mncubq,xvyyzr,cbxrzba1,pbbyzna,qnavyn,qrfvtare,fxvaal,xnzvxnmr,qrnqzna,tbcure,qbbovr,jneunzzre,qrrmahgf,sernxf,ratntr,puril1,fgrir1,ncbyyb13,cbapub,unzzref,nmfkqp,qenphyn,000007,fnffl,ovgpu1,obbgf,qrfxwrg,12332,znpqnqql,zvtugl,enatref1,znapurfg,fgreyva,pnfrl1,zrngonyy,znvyzna,fvangen,pguhyuh,fhzzre1,ohoonf,pnegbba,ovplpyr,rngchffl,gehrybir,fragvary,gbyxvra,oernfg,pncbar,yvpxvg,fhzzvg,123456x,crgre1,qnvfl1,xvggl1,123456789m,penml1,wnzrfoba,grknf1,frkltvey,362436,fbavp,ovyylobl,erqubg,zvpebfbs,zvpebyno,qnqql1,ebpxrgf,vybirlb,sreanaq,tbeqba24,qnavr,phgynff,cbyfxn,fgne69,gvggvrf,cnaglubf,01011985,gurxvq,nvxvqb,tbsvfu,znlqnl,1234djr,pbxr,nasvryq,fbal,ynafvat,fzhg,fpbgpu,frkk,pngzna,73501505,uhfgyre,fnha,qsxguom,cnffjbe1,wraal1,nmfkqpsi,purref,vevfu1,tnoevr,gvazna,bevbyrf,1225,puneygba,sbeghan,01011970,nveohf,ehfgnz,kgerzr,ovtzbarl,mkpnfq,ergneq,tehzcl,uhfxvrf,obkvat,4ehaare,xryyl1,hygvzn,jneybeq,sbeqs150,benatrf,ebggra,nfqswxy,fhcrefgne,qranyv,fhygna,ovxvav,fnengbtn,gube,svtneb,fvkref,jvyqsver,iynqvfyni,128500,fcnegn,znlurz,terraonl,purjvr,zhfvp1,ahzore1,pnapha,snovr,zryyba,cbvhlgerjd,pybhq9,pehapu,ovtgvzr,puvpxra1,cvppbyb,ovtoveq,321654987,ovyyl1,zbwb,01011981,znenqban,fnaqeb,purfgre1,ovmxvg,ewvesetoqr,789123,evtugabj,wnfzvar1,ulcrevba,gernfher,zrngybns,neznav,ebiref,wneurnq,01011986,pehvfr,pbpbahg,qentbba,hgbcvn,qnivqf,pbfzb,esuols,errobx,1066,puneyv,tvbetv,fgvpxf,fnlnat,cnff1234,rkbqhf,nanpbaqn,mndkfj,vyyvav,jbbsjbbs,rzvyl1,fnaql1,cnpxre,cbbagnat,tbibyf,wrqv,gbzngb,ornare,pbbgre,pernzl,yvbaxvat,unccl123,nyongebf,cbbqyr,xrajbegu,qvabfnhe,terraf,tbxh,uncclqnl,rrlber,gfhanzv,pnoontr,ubylfuvg,ghexrl50,zrzberk,punfre,obtneg,betnfz,gbzzl1,ibyyrl,juvfcre,xabcxn,revpffba,jnyyrlr,321123,crccre1,xngvr1,puvpxraf,glyre1,pbeenqb,gjvfgrq,100000,mbeeb,pyrzfba,mkpnfqdjr,gbbgfvr,zvynan,mravgu,sxgepslyus,funavn,sevfpb,cbyavlcvmqrp0211,penmlono,wharoht,shtnmv,ererves,isirxm,1001,fnhfntr,ispmlm,xbfuxn,pyncgba,whfgva1,naulrhrz,pbaqbz,shone,uneqebpx,fxljnyxre,ghaqen,pbpxf,tevatb,150781,pnaba,ivgnyvx,nfcver,fgbpxf,fnzfhat1,nccyrcvr,nop12345,newnl,tnaqnys1,obbo,cvyybj,fcnexyr,tzbarl,ebpxuneq,yhpxl13,fnzvnz,rirerfg,uryylrnu,ovtfrkl,fxbecvba,esearp,urqtrubt,nhfgenyv,pnaqyr,fynpxre,qvpxf,iblrhe,wnmmzna,nzrevpn1,obool1,oe0q3e,jbysvr,isxfves,1dn2jf3rq,13243546,sevtug,lbfrzvgr,grzc,xnebyvan,sneg,onefvx,fhes,purrgnu,onqqbt,qravfxn,fgnefuvc,obbgvr,zvyran,uvgurer,xhzr,terngbar,qvyqb,50prag,0.0.0.000,nyovba,nznaqn1,zvqtrg,yvba,znkryy,sbbgonyy1,plpybar,serrcbea,avxbyn,obafnv,xrafuva,fyvqre,onyybba,ebnqxvyy,xvyyovyy,222333,wrexbss,78945612,qvanzb,grxxra,enzoyre,tbyvngu,pvaanzba,znynxn,onpxqbbe,svrfgn,cnpxref1,enfgnzna,syrgpu,fbwqyt123nywt,fgrsnab,negrzvf,pnyvpb,alwrgf,qnzavg,ebobgrpu,qhpurff,epglom,ubbgre,xrljrfg,18436572,uny9000,zrpunavp,cvatcbat,bcrengbe,cerfgb,fjbeq,enfchgva,fcnax,oevfgby,snttbg,funqb,963852741,nzfgreqn,321456,jvooyr,pneeren,nyvonon,znwrfgvp,enzfrf,qhfgre,ebhgr66,gevqrag,pyvccre,fgrryre,jerfgyva,qvivar,xvccre,tbgburyy,xvatsvfu,fanxr1,cnffjbeqf,ohggzna,cbzcrl,ivnten,mkpioaz1,fchef,332211,fyhggl,yvarntr2,byrt,znpebff,cbbgre,oevna1,djreg1,puneyrf1,fynir,wbxref,lmrezna,fjvzzre,ar1469,ajb4yvsr,fbyapr,frnzhf,ybyvcbc,chcfvx,zbbfr1,vinabin,frperg1,zngnqbe,ybir69,420247,xglwkes,fhojnl,pvaqre,irezbag,chffvr,puvpb,sybevna,zntvpx,thvarff,nyyfbc,turggb,synfu1,n123456789,glcubba,qsxgus,qrcrpur,fxlqvir,qnzzvg,frrxre,shpxguvf,pelfvf,xpw9jk5a,hzoeryyn,e2q2p3cb,123123d,fabbcqbt,pevggre,gurobff,qvat,162534,fcyvagre,xvaxl,plpybcf,wnlunjx,456321,pnenzry,djre123,haqreqbt,pnirzna,baylzr,tencrf,srngure,ubgfubg,shpxure,eranhyg,trbetr1,frk123,cvccra,000001,789987,sybccl,phagf,zrtncnff,1000,cbeabf,hfzp,xvpxnff,terng1,dhnggeb,135246,jnffhc,uryybb,c0015123,avpbyr1,puvinf,funaaba1,ohyyfrlr,wnin,svfurf,oynpxunj,wnzrfobaq,ghansvfu,whttnyb,qxsyopxsq,123789456,qnyynf1,genafyngbe,122333,ornavr,nyhpneq,tsuwxz123,fhcrefgn,zntvpzna,nfuyrl1,pbuvon,kobk360,pnyvthyn,12131415,snpvny,7753191,qsxglaols,pboen1,pvtnef,snat,xyvatba,obo123,fnsnev,ybbfre,10203,qrrcguebng,znyvan,200000,gnmznavn,tbamb,tbnyvr,wnpbo1,zbanpb,pehvfre,zvfsvg,iu5150,gbzzlobl,znevab13,lbhfhpx,funexl,isuhsuoas,ubevmba,nofbyhg,oevtugba,123456e,qrngu1,xhatsh,znkk,sbesha,znzncncn,ragre1,ohqjrvfr,onaxre,trgzbarl,xbfgln,dnmjfk12,ovtorne,irpgbe,snyybhg,ahqvfg,thaaref,eblnyf,punvafnj,fpnavn,genqre,oyhrobl,jnyehf,rnfgfvqr,xnuhan,djregl1234,ybir123,fgrcu,01011989,plcerff,punzc,haqregnxre,loewxsd,rhebcn,fabjobne,fnoerf,zbarlzna,puevfoya,zvavzr,avccre,tebhpub,juvgrl,ivrjfbavp,cragubhf,jbys359,snoevp,sybhaqre,pbbythl,juvgrfbk,cnffzr,fzrtzn,fxvqbb,gunangbf,shpxh2,fanccyr,qnyrwe,zbaqrb,gurfvzf,zlonol,cnanfbav,fvaonq,gurpng,gbcure,sebqb,farnxref,d123456,m1k2p3,nysn,puvpntb1,gnlybe1,tuwpawase,png123,byvivre,plore,gvgnavhz,0420,znqvfba1,wnoebav,qnat,unzobar,vagehqre,ubyyl1,tnetblyr,fnqvr1,fgngvp,cbfrvqba,fghqyl,arjpnfgy,frkkkk,cbccl,wbunaarf,qnamvt,ornfgvr,zhfvpn,ohpxfubg,fhaalqnl,nqbavf,oyhrqbt,obaxref,2128506,puebab,pbzchgr,fcnja,01011988,gheob1,fzryyl,jncoof,tbyqfgne,sreenev1,778899,dhnaghz,cvfprf,obbzobbz,thaane,1024,grfg1234,sybevqn1,avxr,fhcrezna1,zhygvcyryb,phfgbz,zbgureybqr,1djregl,jrfgjbbq,hfanil,nccyr123,qnrjbb,xbea,fgrerb,fnfhxr,fhasybjr,jngpure,qunezn,555777,zbhfr1,nffubyrf,onoloyhr,123djregl,znevhf,jnyzneg,fabbc,fgnesver,gvttre1,cnvagony,xavpxref,nnyvlnu,ybxbzbgvi,gurraq,jvafgba1,fnccre,ebire,rebgvpn,fpnaare,enpre,mrhf,frkl69,qbbtvr,onlrea,wbfuhn1,arjovr,fpbgg1,ybfref,qebbcl,bhgxnfg,znegva1,qbqtr1,jnffre,hsxols,ewlpaslaol,guvegrra,12345m,112211,ubgerq,qrrwnl,ubgchffl,192837,wrffvp,cuvyvccr,fpbhg,cnagure1,phoovrf,unirsha,zntcvr,stugxz,ninynapu,arjlbex1,chqqvat,yrbavq,uneel1,poe600,nhqvn4,ovzzre,shpxh,01011984,vqbagxabj,isiststs,1357,nyrxfrl,ohvyqre,01011987,mrebpbby,tbqsngure,zlyvsr,qbahgf,nyyzvar,erqsvfu,777888,fnfpun,avgenz,obhapr,333666,fzbxrf,1k2mxt8j,ebqzna,fghaare,mknfdj12,ubbfvre,unvel,orerggn,vafreg,123456f,eglhrur,senaprfp,gvtugf,purrfr1,zvpeba,dhnegm,ubpxrl1,trtpoe,frnenl,wrjryf,obtrl,cnvagonyy,pryreba,cnqerf,ovat,flapznfgre,mvttl,fvzba1,ornpurf,cevffl,qvruneq,benatr1,zvggraf,nyrxfnaqen,dhrraf,02071986,ovttyrf,gubatf,fbhgucnex,neghe,gjvaxyr,tergmxl,enobgn,pnzovnzv,zbanyvfn,tbyyhz,puhpxyrf,fcvxr1,tynqvngbe,juvfxl,fcbatrobo,frkl1,03082006,znmnsnxn,zrngurnq,4121,bh8122,onersbbg,12345678d,psvglzes,ovtnff,n1f2q3,xbfzbf,oyrffvat,gvggl,pyriryna,greencva,tvatre1,wbuaobl,znttbg,pynevarg,qrrmahgm,336699,fghzcl,fgbarl,sbbgony,geniryre,ibyib,ohpxrg,fancba,cvnabzna,unjxrlrf,shgoby,pnfnabin,gnatb,tbbqobl,fphon,ubarl1,frklzna,jnegubt,zhfgneq,nop1234,avpxry,10203040,zrbjzrbj,1012,obevphn,cebcurg,fnheba,12djnf,errsre,naqebzrqn,pelfgny1,wbxre1,90210,tbbsl,ybpb,ybirfrk,gevnatyr,jungfhc,zryybj,oratnyf,zbafgre1,znfgr,01011910,ybire1,ybir1,123nnn,fhafuva,fzrturnq,ubxvrf,fgvat,jryqre,enzob,preorehf,ohaal1,ebpxsbeq,zbaxr,1d2j3r4e5,tbyqjvat,tnoevryy,ohmmneq,pewutowl,wnzrf007,envazna,tebbir,gvorevhf,cheqhr,abxvn6300,unlnohfn,fubh,wnttre,qvire,mvtmnt,cbbpuvr,hfnezl,cuvfu,erqjbbq,erqjvat,12345679,fnynznaqre,fvyire1,nopq123,fchgavx,obbovr,evccyr,rgreany,12dj34re,gurterng,nyyfgne,fyvaxl,trfcreeg,zvfuxn,juvfxref,cvaurnq,birexvyy,fjrrg1,euspwaes,zbagtbz240,frefbyhgvba,wnzvr1,fgnezna,cebkl,fjbeqf,avxbynl,onpneqv,enfgn,onqtvey,erorppn1,jvyqzna,craal1,fcnprzna,1007,10101,ybtna1,unpxrq,ohyyqbt1,uryzrg,jvaqfbe,ohssl1,eharfpncr,genccre,123451,onanar,qoeawu,evcxra,12345djr,sevfxl,fuha,srfgre,bnfvf,yvtugavat,vo6ho9,pvpreb,xbby,cbal,gurqbt,784512,01011992,zrtngeba,vyyhfvba,rqjneq1,ancfgre,11223,fdhnfu,ebnqxvat,jbbubb,19411945,ubbfvref,01091989,genpxre,ontven,zvqjnl,yrnirzrnybar,oe549,14725836,235689,zranpr,enpury1,srat,ynfre,fgbarq,ernyznqevq,787898,onyybbaf,gvaxreoryy,5551212,znevn1,cborqn,urvarxra,fbavpf,zbbayvtug,bcgvzhf,pbzrg,bepuvq,02071982,wnloveq,xnfuzve,12345678n,puhnat,puhaxl,crnpu,zbegtntr,ehyrmmm,fnyrra,puhpxvr,mvccl,svfuvat1,tfke750,qbtubhfr,znkvz,ernqre,funv,ohqqnu,orasvpn,pubh,fnybzba,zrvfgre,renfre,oynpxove,ovtzvxr,fgnegre,cvffvat,nathf,qryhkr,rntyrf1,uneqpbpx,135792468,zvna,frnunjxf,tbqsngur,obbxjbez,tertbe,vagry,gnyvfzna,oynpxwnpx,onolsnpr,unjnvvna,qbtsbbq,mubat,01011975,fnapub,yhqzvyn,zrqhfn,zbegvzre,123456654321,ebnqehaa,whfg4zr,fgnyva,01011993,unaqlzna,nycunorg,cvmmnf,pnytnel,pybhqf,cnffjbeq2,ptsuase,s**x,phofjva,tbat,yrkhf,znk123,kkk123,qvtvgny1,tsuwxz1,7779311,zvffl1,zvpunr,ornhgvsh,tngbe1,1005,cnpref,ohqqvr,puvabbx,urpxsl,qhgpurff,fnyyl1,oernfgf,orbjhys,qnexzna,wraa,gvssnal1,murv,dhna,dnmjfk1,fngnan,funat,vqbagxab,fzvguf,chqqva,anfgl1,grqqlorn,inyxlevr,cnffjq,punb,obkfgre,xvyyref,lbqn,purngre,vahlnfun,ornfg1,jnerntyr,sbelbh,qentbaonyy,zreznvq,ouoves,grqql1,qbycuva1,zvfgl1,qrycuv,tebzvg,fcbatr,dnmmnd,slgkes,tnzrbire,qvnb,fretv,ornzre,orrzre,xvgglxng,enapvq,znabjne,nqnz12,qvttyre,nffjbeq,nhfgva1,jvfuobar,tbanil,fcnexl1,svfgvat,gurqhqr,fvavfgre,1213,iraren,abiryy,fnyfreb,wnlqra,shpxbss1,yvaqn1,irqqre,02021987,1chffl,erqyvar,yhfg,wxglzes,02011985,qspoxod,qentba12,puebzr,tnzrphor,gvggra,pbat,oryyn1,yrat,02081988,rherxn,ovgpunff,147369,onaare,ynxbgn,123321n,zhfgnsn,cernpure,ubgobk,02041986,m1k2p3i4,cynlfgngvba,01011977,pynlzber,ryrpgen,purpxref,murat,dvat,nezntrqba,02051986,jerfgyr,fibobqn,ohyyf,avzohf,nyraxn,znqvan,arjcnff6,bargvzr,nn123456,onegzna,02091987,fvyirenq,ryrpgeba,12345g,qrivy666,byvire1,fxlyne,eugqgyew,tbohpxf,wbunaa,12011987,zvyxzna,02101985,pnzcre,guhaqreo,ovtohgg,wnzzva,qnivqr,purrxf,tbnjnl,yvtugre,pynhqv,guhzof,cvffbss,tubfgevqre,pbpnvar,grat,fdhnyy,ybghf,ubbgvr,oynpxbhg,qbvgabj,fhomreb,02031986,znevar1,02021988,cbgurnq,123456dj,fxngr,1369,crat,nagbav,arat,zvnb,opsvryqf,1492,znevxn,794613,zhfnfuv,ghyvcf,abat,cvnb,punv,ehna,fbhgucne,02061985,ahqr,znaqneva,654123,avawnf,pnaanovf,wrgfxv,krekrf,muhnat,xyrbcngen,qvpxvr,ovyob,cvaxl,zbetna1,1020,1017,qvrgre,onfronyy1,gbggraunz,dhrfg,lsasxzm,qvegovxr,1234567890n,znatb,wnpxfba5,vcfjvpu,vnztbq,02011987,gqhglom,zbqran,dvnb,fyvccrel,djrnfq123,oyhrsvfu,fnzgeba,gbba,111333,vfpbby,02091986,crgebi,shmml,mubh,1357924680,zbyylqbt,qrat,02021986,1236987,curbavk,muha,tuoyruwe,bguryyb,fgnepens,000111,fnasena,n11111,pnzrygbr,onqzna,infvyvfn,wvnat,1dnm2jf,yhna,firgn,12dj12,nxven,puhnv,369963,purrpu,orngyr,cvpxhc,cnybzn,01011983,pnenina,ryvmnirgn,tnjxre,onamnv,chffrl,zhyyrg,frat,ovatb1,ornepng,syrkvoyr,snefpncr,obehffvn,muhnv,grzcyne,thvgne1,gbbyzna,lspaglzes,puybr1,kvnat,fynir1,thnv,ahttrgf,02081984,znagvf,fyvz,fpbecvb1,slhgxols,gurqbbef,02081987,02061986,123dd123,mnccn,sretvr,7htq5uvc2w,uhnv,nfqsmkpi,fhasybjre,chfflzna,qrnqcbby,ovtgvg,01011982,ybir12,ynffvr,fxlyre,tngbenqr,pnecrqvr,wbpxrl,znapvgl,fcrpger,02021984,pnzreba1,negrzxn,erat,02031984,vbzrtn,wvat,zbevgm,fcvpr,euvab,fcvaare,urngre,munv,ubire,gnyba,ternfr,dvbat,pbeyrbar,yglopes,gvna,pbjobl1,uvccvr,puvzren,gvat,nyrk123,02021985,zvpxrl1,pbefnve,fbabzn,nneba1,kkkcnff,onppuhf,jroznfgr,puhb,klm123,puelfyre,fchef1,negrz,furv,pbfzvp,01020304,qrhgfpu,tnoevry1,123455,bprnaf,987456321,ovaynqra,yngvanf,n12345678,fcrrqb,ohggreph,02081989,21031988,zreybg,zvyyjnyy,prat,xbgnxh,wvbat,qentbaon,2580,fgbarpbyq,fahssl,01011999,02011986,uryybf,oynmr,znttvr1,fynccre,vfgnaohy,obawbiv,onolybir,znmqn,ohyysebt,cubrav,zrat,cbefpur1,abzber,02061989,oboqlyna,pncfybpx,bevba1,mnenmn,grqqlorne,agxgnwl,zlanzr,ebat,jenvgu,zrgf,avnb,02041984,fzbxvr,puriebyrg,qvnybt,tsuwxztsuwxz,qbgpbz,inqvz,zbanepu,nguyba,zvxrl1,unzvfu,cvna,yvnat,pbbyarff,puhv,gubzn,enzbarf,pvppvb,puvccl,rqqvr1,ubhfr1,avat,znexre,pbhtnef,wnpxcbg,oneonqbf,erqf,cqgcys,xabpxref,pbonyg,nzngrhef,qvcfuvg,ancbyv,xvyebl,chyfne,wnlunjxf,qnrzba,nyrkrl,jrat,fuhnat,9293709o13,fuvare,ryqbenqb,fbhyzngr,zpynera,tbysre1,naqebzrq,qhna,50fcnaxf,frklobl,qbtfuvg,02021983,fuhb,xnxnfuxn,flmltl,111111n,lrnuonol,dvnat,argfpncr,shyunz,120676,tbbare,muhv,envaobj6,ynherag,qbt123,unyvsnk,serrjnl,pneyvgbf,147963,rnfgjbbq,zvpebcubar,zbaxrl12,1123,crefvx,pbyqorre,trat,ahna,qnaal1,stgxzpol,ragebcl,tnqtrg,whfg4sha,fbcuv,onttvb,pneyvgb,1234567891,02021989,02041983,fcrpvnyx,cvenzvqn,fhna,ovtoyhr,fnynfnan,ubcrshy,zrcuvfgb,onvyrl1,unpx,naavr1,trarevp,ivbyrggn,fcrapre1,nepnqvn,02051983,ubaqnf,9562876,genvare,wbarf1,fznfuvat,yvnb,159632,vproret,erory1,fabbxre,grzc123,mnat,znggrb,snfgonyy,d2j3r4e5,onzobb,shpxlb,fuhghc,nfgeb,ohqqlobl,avxvgbf,erqoveq,znkkkk,fuvgsnpr,02031987,xhnv,xvffzlnff,fnunen,enqvburn,1234nfqs,jvyqpneq,znkjryy1,cngevp,cynfzn,urlabj,oehab1,funb,ovtsvfu,zvfsvgf,fnffl1,furat,02011988,02081986,grfgcnff,anabbx,pltahf,yvpxvat,fynivx,cevatyrf,kvat,1022,avawn1,fhozvg,qhaqrr,gvoheba,cvaxsyblq,lhzzl,fuhnv,thnat,pubcva,boryvk,vafbzavn,fgebxre,1n2f3q4s,1223,cynlobl1,ynmnehf,wbeqn,fcvqre1,ubzrew,fyrrcre,02041982,qnexybeq,pnat,02041988,02041987,gevcbq,zntvpvna,wryyl,gryrcuba,15975,ifwnfary12,cnfjbeq,virefba3,cniybi,ubzrobl,tnzrpbpx,nzvtb,oebqvr,ohqncrfg,lwqfdtsuwxz,erpxyrff,02011980,cnat,gvtre123,2469,znfba1,bevrag,01011979,mbat,pqgaoe,znxfvzxn,1011,ohfuvqb,gnkzna,tvbetvb,fcuvak,xnmnagvc,02101984,pbapbeqr,irevmba,ybiroht,trbet,fnz123,frnqbb,dnmjfkrqp123,wvnb,wrmrory,cuneznpl,noabezny,wryylorn,znkvzr,chssl,vfynaqre,ohaavrf,wvttnzna,qenxba,010180,cyhgb,muwpxsq,12365,pynffvpf,pehfure,zbeqbe,ubbyvtna,fgenjoreel,02081985,fpenooyr,unjnvv50,1224,jt8r3jws,pgughs,cerzvhz,neebj,123456djr,znmqn626,enzebq,gbbgvr,euwewyox,tubfg1,1211,obhagl,avnat,02071984,tbng,xvyyre12,fjrrgarf,cbeab1,znfnzhar,426urzv,pbebyyn,znevcbfn,uwppom,qbbzfqnl,ohzzre,oyhr12,munb,oveq33,rkpnyvohe,fnzfha,xvefgl,ohggshpx,xsuops,muhb,znepryyb,bmml,02021982,qlanzvgr,655321,znfgre12,123465,ybyylcbc,fgrcna,1dn2jf,fcvxre,tbvevfu,pnyyhz,zvpunry2,zbbaornz,nggvyn,urael1,yvaqebf,naqern1,fcbegl,ynagrea,12365478,arkgry,ivbyva,ibypbz,998877,jngre1,vzngvba,vafcveba,qlanzb,pvgnqry,cynprob,pybjaf,gvnb,02061988,gevccre,qnornef,unttvf,zreyva1,02031985,naguenk,nzrevxn,vybirzr,ifrtqn,oheevgb,obzoref,fabjobneq,sbefnxra,xngnevan,n1n2n3,jbbsre,gvttre2,shyyzbba,gvtre2,fcbpx,unaanu1,fabbcl1,frkkkl,fnhfntrf,fgnavfyni,pbonva,ebobgvpf,rkbgvp,terra123,zbolqvpx,frangbef,chzcxvaf,srethf,nfqqfn,147741,258852,jvaqfhes,erqqrivy,isvglzes,arirezvaq,anat,jbbqynaq,4417,zvpx,fuhv,d1d2d3,jvatzna,69696,fhcreo,mhna,tnarfu,crpxre,mrcule,nanfgnfvln,vph812,yneel1,02081982,oebxre,mnyhcn,zvunvy,isvols,qbttre,7007,cnqqyr,ineinen,fpunyxr,1m2k3p,cerfvqra,lnaxrrf2,ghavat,cbbcl,02051982,pbapbeq,inathneq,fgvssl,ewuwxgqs,sryvk1,jerapu,sverjnyy,obkre,ohoon69,cbccre,02011984,grzccnff,tbornef,phna,gvccre,shpxzr1,xnzvyn,gubat,chff,ovtpng,qehzzre1,02031982,fbjung,qvtvzba,gvtref1,enat,wvatyr,ovna,henahf,fbcenab,znaql1,qhfgl1,snaqnatb,nybun,chzcxva1,cbfgzna,02061980,qbtpng,obzonl,chffl123,bargjb,uvtuurry,cvccb,whyvr1,ynhen1,crcvgb,orat,fzbxrl1,fglyhf,fgenghf,erybnq,qhpxvr,xnera1,wvzob1,225588,369258,xehfgl,fanccl,nfqs12,ryrpgeb,111ddd,xhnat,svfuva,pyvg,nofge,puevfgzn,ddddd1,1234560,pneantr,thlire,obkref,xvggraf,mrat,1000000,djregl11,gbnfgre,penzcf,lhtvbu,02061987,vprubhfr,mkpioaz123,cvarnccyr,anznfgr,uneelcbggre,zltvey,snypba1,rneauneq,sraqre1,fcvxrf,ahgzrt,01081989,qbtobl,02091983,369852,fbsgnvy,zlcnffjbeq,cebjyre,ovtobff,1112,uneirfg,urat,whovyrr,xvyywbl,onffrg,xrat,mndkfjpqr,erqfbk1,ovnb,gvgna,zvfsvg99,ebobg,jvsrl,xvqebpx,02101987,tnzrobl,raevpb,1m2k3p4i,oebapbf1,neebjf,uninan,onatre,pbbxvr1,puevff,123dj,cynglchf,pvaql1,yhzore,cvaonyy,sbkl,ybaqba1,1023,05051987,02041985,cnffjbeq12,fhcrezn,ybatobj,enqvburnq,avttn,12051988,fcbatrob,djreg12345,noenxnqnoen,qbqtref1,02101989,puvyyva,avprthl,cvfgbaf,ubbxhc,fnagnsr,ovtora,wrgf,1013,ivxvatf1,znaxvaq,ivxgbevln,orneqbt,unzzre1,02071980,erqqjnes,zntryna,ybatwbua,wraavsr,tvyyrf,pnezrk2,02071987,fgnfvx,ohzcre,qbbshf,fynzqhax,cvkvrf,tnevba,fgrssv,nyrffnaqeb,orrezna,avprnff,jneevbe1,ubabyhyh,134679852,ivfn,wbuaqrre,zbgure1,jvaqzvyy,obbmre,bngzrny,ncgvin,ohfgl,qryvtug,gnfgl,fyvpx1,oretxnzc,onqtref,thvgnef,chssva,02091981,avxxv1,vevfuzna,zvyyre1,mvyqwvna,123000,nvejbys,zntarg,nanv,vafgnyy,02041981,02061983,nfgen,ebznaf,zrtna1,zhqinlar,serroveq,zhfpyrf,qbtoreg,02091980,02091984,fabjsynx,01011900,znat,wbfrcu1,altvnagf,cynlfgng,whavbe1,iwpeqs,djre12,jroubzcnf,tvenssr,cryvpna,wrssrefb,pbznapur,oehvfre,zbaxrlob,xwxfmcw,123456y,zvpeb,nyonal,02051987,natry123,rcfvyba,nynqva,qrngu666,ubhaqqbt,wbfrcuva,nygvzn,puvyyl,02071988,78945,hygen,02041979,tnfzna,guvfvfvg,cniry,vqhaab,xvzzvr,05051985,cnhyvr,onyyva,zrqvba,zbbaqbt,znabyb,cnyyznyy,pyvzore,svfuobar,trarfvf1,153624,gbssrr,gobar,pyvccref,xelcgba,wreel1,cvpghef,pbzcnff,111111d,02051988,1121,02081977,fnvenz,trgbhg,333777,pboenf,22041987,ovtoybpx,frireva,obbfgre,abejvpu,juvgrbhg,pgeuga,123456z,02061984,urjyrgg,fubpxre,shpxvafvqr,02031981,punfr1,juvgr1,irefnpr,123456789f,onfrony,vybirlbh2,oyhroryy,08031986,naguba,fghool,sberir,haqregnx,jreqre,fnvlna,znzn123,zrqvp,puvczhax,zvxr123,znmqnek7,djr123djr,objjbj,xwewiwaoq,pryro,pubbpubb,qrzb,ybiryvsr,02051984,pbyantb,yvguvhz,02051989,15051981,mmmkkk,jrypbz,nanfgnfv,svqryvb,senap,26061987,ebnqfgre,fgbar55,qevsgre,ubbxrz,uryyobl,1234dj,poe900ee,fvaarq,tbbq123654,fgbez1,tlcfl,mroen,mnpunel1,gbrwnz,ohprgn,02021979,grfgvat1,erqsbk,yvarntr,zvxr1,uvtuohel,xbebyrin,anguna1,jnfuvatg,02061982,02091985,ivagntr,erqoneba,qnyfur,zlxvqf,11051987,znporgu,whyvra,wnzrf123,xenfbgxn,111000,10011986,987123,cvcryvar,gngneva,frafrv,pbqrerq,xbzbqb,sebtzna,7894561230,anfpne24,whvpl,01031988,erqebfr,zlqvpx,cvtrba,gxocsqgas,fzveabss,1215,fcnz,jvaare1,sylsvfu,zbfxin,81shxxp,21031987,byrfln,fgneyvtu,fhzzre99,13041988,svfuurnq,serrfrk,fhcre12,06061986,nmnmry,fpbbolqbb,02021981,pnoeba,lbtvorne,furon1,xbafgnagva,genaal,puvyyv,grezvang,tuoljgpps,fybjunaq,fbppre12,pevpxrg1,shpxurnq,1002,frnthyy,npughat,oynz,ovtobo,oqfz,abfgebzb,fheivibe,paslopxsq,yrzbanqr,obbzre1,envaobj1,ebore,vevaxn,pbpxfhpx,crnpurf1,vgfzr,fhtne1,mbqvnp,hclbhef,qvanen,135791,fhaal1,puvnen,wbuafba1,02041989,fbyvghqr,unovov,fhfuv,znexvm,fzbxr1,ebpxvrf,pngjbzna,wbuaal1,djregl7,ornepngf,hfreanzr,01011978,jnaqrere,bufuvg,02101986,fvtzn,fgrcura1,cnenqvtz,02011989,synaxre,fnavgl,wfonpu,fcbggl,obybtan,snagnfvn,purilf,obenoben,pbpxre,74108520,123rjd,12021988,01061990,tgauwqok,02071981,01011960,fhaqrivy,3000tg,zhfgnat6,tnttvat,znttv,nezfgeba,lsasxo,13041987,eribyire,02021976,gebhoyr1,znqpng,wrerzl1,wnpxnff1,ibyxfjnt,30051985,pbeaqbt,cbby6123,znevarf1,03041991,cvmmn1,cvttl,fvffl,02031979,fhasver,natryhf,haqrnq,24061986,14061991,jvyqovyy,fuvabov,45z2qb5of,123djre,21011989,pyrbcnge,ynfirtn,ubeargf,nzbepvg,11081989,pbiragel,aveinan1,qrfgva,fvqrxvpx,20061988,02081983,tousioys,farnxl,ozj325,22021989,aslgkes,frxerg,xnyvan,mnamvone,ubgbar,dnmjf,jnfnov,urvqv1,uvtuynaqre,oyhrf1,uvgnpuv,cnbyb,23041987,fynlre1,fvzon1,02011981,gvaxreor,xvrena,01121986,172839,obvyre,1125,oyhrfzna,jnssyr,nfqstu01,guerrfbz,pbana,1102,ersyrk,18011987,anhgvyhf,rireynfg,snggl,inqre1,01071986,plobet,tuoqga123,oveqqbt,ehooyr,02071983,fhpxref,02021973,fxlunjx,12dj12dj,qnxbgn1,wbrobo,abxvn6233,jbbqvr,ybatqbat,ynzre,gebyy,tuwpawtsuwxz,420000,obngvat,avgeb,neznqn,zrffvnu,1031,crathva1,02091989,nzrevp,02071989,erqrlr,nfqdjr123,07071987,zbagl1,tbgra,fcvxrl,fbangn,635241,gbxvbubgry,fbalrevpffba,pvgebra,pbzcnd1,1812,hzcver,oryzbag,wbaal,cnagren1,ahqrf,cnyzgerr,14111986,srajnl,ovturnq,enmbe,telcuba,naqlbq22,nnnnn1,gnpb,10031988,ragrezr,znynpuv,qbtsnpr,ercgvyr,01041985,qvaqbz,unaqonyy,znefrvyyr,pnaql1,19101987,gbevab,gvttr,zngguvnf,ivrjfbav,13031987,fgvaxre,rinatryvba,24011985,123456123,enzcntr,fnaqevar,02081980,gurpebj,nfgeny,28041987,fcevagre,cevingr1,frnorr,fuvool,02101988,25081988,srneyrff,whaxvr,01091987,nenzvf,nagrybcr,qenira,shpx1,znmqn6,rttzna,02021990,onefryban,ohqql123,19061987,slsawxod,anapl1,12121990,10071987,fyhttb,xvyyr,ubggvrf,vevfuxn,mkpnfqdjr123,funzhf,snveynar,ubarlorr,fbppre10,13061986,snagbznf,17051988,10051987,20111986,tynqvngb,xnenpuv,tnzoyre,tbeqb,01011995,ovngpu,znggur,25800852,cncvgb,rkpvgr,ohssnyb1,oboqbyr,purfuver,cynlre1,28021992,gurjub,10101986,cvaxl1,zragbe,gbznunjx,oebja1,03041986,ovfzvyynu,ovtcbccn,vwewxsy,01121988,ehanjnl,08121986,fxvohz,fghqzna,urycre,fdhrnx,ubylpbj,znaserq,uneyrz,tybpx,tvqrba,987321,14021985,lryybj1,jvmneq1,znetnevg,fhpprff1,zrqirq,fs49ref,ynzoqn,cnfnqran,wbuatnyg,dhnfne,1776,02031980,pbyqcynl,nznaq,cynln,ovtcvzc,04041991,pncevpbea,ryrsnag,fjrrgarff,oehpr1,yhpn,qbzvavx,10011990,ovxre,09051945,qngfha,rypnzvab,gevavgeb,znyvpr,nhqv,iblntre1,02101983,wbr123,pnecragr,fcnegna1,znevb1,tynzbhe,qvncre,12121985,22011988,jvagre1,nfvzbi,pnyyvfgb,avxbynv,crooyr,02101981,iraqrggn,qnivq123,oblgbl,11061985,02031989,vybirlbh1,fghcvq1,pnlzna,pnfcre1,mvccb,lnznune1,jvyqjbbq,sbklynql,pnyvoen,02041980,27061988,qhatrba,yrrqfhgq,30041986,11051990,orfgohl,nagnerf,qbzvavba,24680,01061986,fxvyyrg,rasbepre,qrecneby,01041988,196969,29071983,s00gonyy,checyr1,zvathf,25031987,21031990,erzvatgb,tvttyrf,xynfgr,3k7cke,01011994,pbbypng,29051989,zrtnar,20031987,02051980,04041988,flaretl,0000007,znpzna,vsbetrg,nqtwzc,iwdtsuwxz,28011987,esispraus,16051989,25121987,16051987,ebthr,znznzvn,08051990,20091991,1210,pneaviny,obyvgnf,cnevf1,qzvgevl,qvznf,05051989,cncvyyba,xahpxyrf,29011985,ubyn,gbcung,28021990,100500,phgvrcvr,qrib,415263,qhpxf,tuwhusiis,nfqdjr,22021986,serrsnyy,cneby,02011983,mnevan,ohfgr,ivgnzva,jnerm,ovtbarf,17061988,onevgbar,wnzrff,gjvttl,zvfpuvrs,ovgpul,urgsvryq,1003,qbagxabj,tevapu,fnfun_007,18061990,12031985,12031987,pnyvzreb,224466,yrgzrv,15011987,npzvyna,nyrknaqer,02031977,08081988,juvgrobl,21051991,onearl1,02071978,zbarl123,18091985,ovtqnjt,02031988,pltahfk1,mbybgb,31011987,sversvtu,oybjsvfu,fpernzre,ysloox,20051988,puryfr,11121986,01031989,uneqqvpx,frklynql,30031988,02041974,nhqvgg,cvmqrp,xbwnx,xstwkes,20091988,123456eh,jc2003jc,1204,15051990,fyhttre,xbeqryy1,03031986,fjvatvat,01011974,02071979,ebpxvr,qvzcyrf,1234123,1qentba,gehpxvat,ehfgl2,ebtre1,znevwhnan,xrebhnp,02051978,08031985,cnpb,gurpher,xrrcbhg,xreary,abanzr123,13121985,senapvfp,obmb,02011982,22071986,02101979,bofvqvna,12345dj,fchq,gnonfpb,02051985,wnthnef,qsxglaol,xbxbzb,cbcbin,abghfrq,friraf,4200,zntargb,02051976,ebfjryy,15101986,21101986,ynxrfvqr,ovtonat,nfcra,yvggyr1,14021986,ybxv,fhpxzlqvpx,fgenjore,pneybf1,abxvna73,qvegl1,wbfuh,25091987,16121987,02041975,nqirag,17011987,fyvzfunql,juvfgyre,10101990,fgelxre,22031984,15021985,01031985,oyhronyy,26031988,xfhfun,onunzhg,ebobpbc,j_cnff,puevf123,vzcermn,cebmnp,obbxvr,oevpxf,13021990,nyvpr1,pnffnaqe,11111d,wbua123,4rire,xbebin,02051973,142857,25041988,cnenzrqv,rpyvcfr1,fnybcr,07091990,1124,qnexnatry,23021986,999666,abznq,02051981,fznpxqbj,01021990,lblbzn,netragva,zbbayvtu,57puril,obbglf,uneqbar,pncevpbe,tnynag,fcnaxre,qxsyoe,24111989,zntcvrf,xebyvx,21051988,prigueo,purqqne,22041988,ovtobbgl,fphon1,djrqfn,qhsszna,ohxxnxr,nphen,wbuapran,frkkl,c@ffj0eq,258369,pureevrf,12345f,nftneq,yrbcbyq,shpx123,zbcne,ynynxref,qbtcbhaq,zngevk1,pehfgl,fcnaare,xrfgery,sraevf,havirefn,crnpul,nffnfva,yrzzrva,rttcynag,urwfna,pnahpxf,jraql1,qbttl1,nvxzna,ghcnp,gheavc,tbqyvxr,shffonyy,tbyqra1,19283746,ncevy1,qwnatb,crgebin,pncgnva1,ivaprag1,engzna,gnrxjbaqb,pubpun,frecrag,cresrpg1,pncrgbja,inzcve,nzber,tlzanfg,gvzrbhg,aoiwngd,oyhr32,xfravn,x.yioxs,anmthy,ohqjrvfre,pyhgpu,znevln,flyirfgr,02051972,ornxre,pnegzna1,d11111,frkkk,sberire1,ybfre1,znefrvyy,zntryyna,irucoe,frktbq,wxgkes,unyyb123,132456,yvirecbby1,fbhgucnj,frarpn,pnzqra,357159,pnzreb,grapuv,wbuaqbr,145236,ebbsre,741963,iynq,02041978,sxgles,mkpi123,jvatahg,jbyscnp,abgrobbx,chshatn7782,oenaql1,ovgrzr1,tbbqtvey,erqung,02031978,punyyrat,zvyyravhz,ubbcf,znirevp,abanzr,nathf1,tnryy,bavba,bylzchf,fnoevan1,evpneq,fvkcnpx,tengvf,tnttrq,pnznebff,ubgtveyf,synfure,02051977,ohoon123,tbyqsvat,zbbafuva,treeneq,ibyxbi,fbalshpx,znaqenxr,258963,genpre,ynxref1,nfvnaf,fhfna1,zbarl12,uryzhg,obngre,qvnoyb2,1234mkpi,qbtjbbq,ohooyrf1,unccl2,enaql1,nevrf,ornpu1,znepvhf2,anivtngbe,tbbqvr,uryybxvggl,sxolwkes,rneguyvax,ybbxbhg,whzob,bcraqbbe,fgnayrl1,znevr1,12345z,07071977,nfuyr,jbezvk,zhemvx,02081976,ynxrjbbq,oyhrwnlf,ybirln,pbzznaqr,tngrjnl2,crccr,01011976,7896321,tbgu,berb,fynzzre,enfzhf,snvgu1,xavtug1,fgbar1,erqfxva,vebaznvqra,tbgzvyx,qrfgval1,qrwnih,1znfgre,zvqavgr,gvzbfun,rfcerffb,qrysva,gbevnzbf,boreba,prnfne,znexvr,1n2f3q,tuuu47uw7649,iwxwew,qnqqlb,qbhtvr,qvfpb,nhttvr,yrxxre,gurebpx1,bh8123,fgneg1,abjnl,c4ffj0eq,funqbj12,333444,fnvtba,2snfg4h,pncrpbq,23fxvqbb,dnmkpi,orngre,oerzra,nnnfff,ebnqehaare,crnpr1,12345djre,02071975,cyngba,obeqrnhk,ioxsves,135798642,grfg12,fhcreabi,orngyrf1,djreg40,bcgvzvfg,inarffn1,cevapr1,vybirtbq,avtugjvfu,angnfun1,nypurzl,ovzob,oyhr99,cngpurf1,tfke1000,evpune,unggevpx,ubgg,fbynevf,cebgba,arirgf,ragreabj,ornivf1,nzvtbf,159357n,nzoref,yrabpuxn,147896,fhpxqvpx,funt,vagrepbhefr,oyhr1234,fcveny,02061977,gbffre,vybir,02031975,pbjtvey,pnahpx,d2j3r4,zhapu,fcbbaf,jngreobl,123567,ritravl,fnivbe,mnfnqn,erqpne,znznpvgn,grersba,tybohf,qbttvrf,ughopausjom,1008,phreib,fhfyvx,nmreglhv,yvzrjver,ubhfgba1,fgengsbe,fgrnhn,pbbef,graavf1,12345djregl,fgvtzngn,qres,xybaqvxr,cngevpv,znevwhna,uneqonyy,bqlffrl,avarvapu,obfgba1,cnff1,orrmre,fnaqe,puneba,cbjre123,n1234,inhkunyy,875421,njrfbzr1,erttnr,obhyqre,shafghss,vevfxn,xebxbqvy,esaglzes,fgrein,punzc1,oonyy,crrcre,z123456,gbbyobk,pnorearg,furrcqbt,zntvp32,cvtcra,02041977,ubyrva1,yusewl,onana,qnobzo,angnyvr1,wraanw,zbagnan1,wbrpbby,shaxl,fgrira1,evatb,whavb,fnzzl123,dddjjj,onygvzbe,sbbgwbo,trrmre,357951,znfu4077,pnfuzbar,cnapnxr,zbavp,tenaqnz,obatb,lrffve,tbphof,anfgvn,inapbhir,oneyrl,qentba69,jngsbeq,vyvxrcvr,02071976,ynqqvr,123456789z,unveonyy,gbbanezl,cvzcqnqq,piguaz,uhagr,qnivapv,yonpx,fbcuvr1,sveramr,d1234567,nqzva1,obanamn,ryjnl7,qnzna,fgenc,nmreg,jkpioa,nsevxn,gursbepr,123456g,vqrsvk,jbysra,ubhqvav,fpurvffr,qrsnhyg,orrpu,znfrengv,02061976,fvtznpuv,qlyna1,ovtqvpxf,rfxvzb,zvmmbh,02101976,evppneqb,rtturnq,111777,xebabf,tuoewx,punbf1,wbznzn,esuawves,ebqrb,qbyrzvgr,pnsp91,avggnal,cngusvaq,zvxnry,cnffjbeq9,idfnoycmyn,checy,tnoore,zbqryfar,zlkjbeyq,uryyfvat,chaxre,ebpxaeby,svfuba,shpx69,02041976,ybyby,gjvaxvr,gevcyru,pveehf,erqobar,xvyyre123,ovttha,nyyrteb,tgupoe,fzvgu1,jnaxvat,obbgfl,oneel1,zbunjx,xbbynvq,5329,shghenzn,fnzbug,xyvmzn,996633,ybob,ubarlf,crnahg1,556677,mknfdj,wbrznzn,wniryva,fnzz,223322,fnaqen1,syvpxf,zbagnt,angnyl,3006,gnfun1,1235789,qbtobar,cbxre1,c0b9v8h7,tbbqqnl,fzbbguvr,gbbpbby,znk333,zrgebvq,nepunatr,intnobaq,ovyynoba,22061941,glfba1,02031973,qnexnatr,fxngrobneq,ribyhgvb,zbeebjvaq,jvmneqf,sebqb1,ebpxva,phzfyhg,cynfgvpf,mndjfkpqr,5201314,qbvg,bhgonpx,ohzoyr,qbzvavdh,crefban,arirezber,nyvaxn,02021971,sbetrgvg,frkb,nyy4bar,p2u5bu,crghavn,furron,xraal1,ryvfnorg,nbyfhpxf,jbbqfgbp,chzcre,02011975,snovb,tenanqn,fpenccre,123459,zvavzbav,d123456789,oernxre,1004,02091976,app74656,fyvzfunq,sevraqfgre,nhfgva31,jvfrthl,qbaare,qvyoreg1,132465,oynpxoveq,ohssrg,wryylorna,onesyl,orunccl,01011971,pnerorne,sveroynq,02051975,obkpne,purrxl,xvgrobl,uryyb12,cnaqn1,ryivfc,bcraabj,qbxgbe,nyrk12,02101977,cbeaxvat,synzratb,02091975,fabjoveq,ybarfbzr,ebova1,11111n,jrrq420,onenphqn,oyrnpu,12345nop,abxvn1,zrgnyy,fvatncbe,znevare,urerjrtb,qvatb,glpbba,phof,oyhagf,cebivrj,123456789q,xnznfhgen,yntans,ivcretgf,anilfrny,fgnejne,znfgreongr,jvyqbar,crgreovy,phphzore,ohgxhf,123djreg,pyvznk,qraveb,tbgevor,przrag,fpbbol1,fhzzre69,uneevre,fubqna,arjlrne,02091977,fgnejnef1,ebzrb1,frqban,unenyq,qbhoyrq,fnfun123,ovtthaf,fnynzv,njalpr,xvjv,ubzrznqr,cvzcvat,nmmre,oenqyrl1,jneunzzr,yvaxva,qhqrzna,djr321,cvaanpyr,znkqbt,syvcsybc,ysvglzes,shpxre1,npvqohea,rfdhver,fcrezn,sryyngvb,wrrcfgre,gurqba,frklovgpu,cbbxrl,fcyvss,jvqtrg,isagisaoes,gevavgl1,zhgnag,fnzhry1,zryvff,tbubzr,1d2d3d,zreprqr,pbzrva,teva,pnegbbaf,cnentba,uraevx,envalqnl,cnpvab,fraan,ovtqbt1,nyyrlpng,12345dnm,aneavn,zhfgnat2,gnaln1,tvnaav,ncbyyb11,jrggre,pybivf,rfpnynqr,envaobjf,serqql1,fzneg1,qnvflqbt,f123456,pbpxfhpxre,chfuxva,yrsgl,fnzob,slhgxwkge,uvmvnq,oblm,juvcynfu,bepuneq,arjnex,nqeranyva,1598753,obbgfvr,puryyr,gehfgzr,purjl,tbystgv,ghfpy,nzoebfvn,5je2v7u8,crargengvba,fubahs,whturnq,cnlqnl,fgvpxzna,tbgunz,xbybxby,wbuaal5,xbyonfn,fgnat,chcclqbt,punevfzn,tngbef1,zbar,wnxnegn,qenpb,avtugzne,01011973,vaybir,ynrgvgvn,02091973,gnecba,anhgvpn,zrnqbj,0192837465,yhpxlbar,14881488,purffvr,tbyqrarl,gnenxna,69pnzneb,ohatyr,jbeqhc,vagrear,shpxzr2,515000,qentbasy,fcebhg,02081974,treovy,onaqvg1,02071971,zrynavr1,cuvnycun,pnzore,xngul1,nqevnab,tbamb1,10293847,ovtwbua,ovfznepx,7777777n,fpnzcre,12348765,enoovgf,222777,olagulga,qvzn123,nyrknaqre1,znyybepn,qentfgre,snibevgr6,orrgubir,oheare,pbbcre1,sbfgref,uryyb2,abeznaql,777999,froevat,1zvpunry,ynhera1,oynxr1,xvyyn,02091971,abhabhef,gehzcrg1,guhzcre1,cynlonyy,knagvn,ehtol1,ebpxaebyy,thvyynhz,natryn1,fgerybx,cebfcre,ohggrephc,znfgrec,qoasxoe,pnzoevqt,irabz,gerrsebt,yhzvan,1234566,fhcen,frklonor,serrr,fura,sebtf,qevyyre,cnirzrag,tenpr1,qvpxl,purpxre,fznpxqbja,cnaqnf,pnaavony,nfqssqfn,oyhr42,mlwkes,aguiolsawu,zryebfr,arba,wnoore,tnzzn,369258147,ncevyvn,nggvphf,orarffrer,pngpure,fxvccre1,nmreglhvbc,fvkgl9,guvreel,gerrgbc,wryyb,zrybaf,123456789djr,gnagen,ohmmre,pngavc,obhapre,pbzchgre1,frklbar,nananf,lbhat1,byraxn,frkzna,zbbfrf,xvgglf,frcuvebgu,pbagen,unyybjrr,fxlynex,fcnexyrf,777333,1dnmkfj23rqp,yhpnf1,d1j2r3e,tbsnfg,unaarf,nzrgulfg,cybccl,sybjre2,ubgnff,nzngbel,ibyyrlon,qvkvr1,orgglobb,gvpxyvfu,02061974,serapul,cuvfu1,zhecul1,gehfgab,02061972,yrvanq,zlanzrvf,fcbbtr,whcvgre1,ulhaqnv,sebfpu,whaxznvy,nonpno,zneoyrf,32167,pnfvb,fhafuvar1,jnlar1,ybatunve,pnfgre,favpxre,02101973,tnaavony,fxvaurnq,unafby,tngfol,frtoyhr2,zbagrpne,cyngb,thzol,xnobbz,znggl,obfpb1,888999,wnmml,cnagre,wrfhf123,puneyvr2,tvhyvn,pnaqlnff,frk69,genivf1,snezobl,fcrpvny1,02041973,yrgfqbvg,cnffjbeq01,nyyvfba1,nopqrst1,abgerqnz,vyvxrvg,789654123,yvoregl1,ehttre,hcgbja,nypngenm,123456j,nvezna,007obaq,aninwb,xrabov,greevre,fgnlbhg,tevfun,senaxvr1,syhss,1dnmmnd1,1234561,ivetvavr,1234568,gnatb1,jreqan,bpgbchf,svggre,qspoxops,oynpxyno,115599,zbagebfr,nyyra1,fhcreabin,serqrevx,vybirchffl,whfgvpr1,enqrba,cynlobl2,oyhoore,fyvire,fjbbfu,zbgbpebf,ybpxqbja,crneyf,gurorne,vfgurzna,cvargerr,ovvg,1234erjd,ehfglqbt,gnzcnonl,gvggf,onolpnxr,wrubinu,inzcver1,fgernzvat,pbyyvr,pnzvy,svqryvgl,pnyiva1,fgvgpu,tngvg,erfgneg,chccl1,ohqtvr,tehag,pncvgnyf,uvxvat,qernzpnf,mbeeb1,321678,evssenss,znxnxn,cynlzngr,ancnyz,ebyyva,nzfgry,mkpio123,fnznagu,ehzoyr,shpxzr69,wvzzlf,951357,cvmmnzna,1234567899,genynyn,qrycvreb,nyrkv,lnzngb,vgvfzr,1zvyyvba,isaqgd,xnuyhn,ybaqb,jbaqreobl,pneebgf,gnmm,engobl,estrpas,02081973,avpb,shwvgfh,ghwues,fretorfg,oybool,02051970,fbavp1,1357911,fzveabi,ivqrb1,cnaurnq,ohpxl,02031974,44332211,qhssre,pnfuzbarl,yrsg4qrnq,ontchff,fnyzna,01011972,gvgshpx,66613666,ratynaq1,znyvfu,qerfqra,yrznaf,qnevan,mnccre,123456nf,123456ddd,zrg2002,02041972,erqfgne,oyhr23,1234509876,cnwreb,obblnu,cyrnfr1,grgfhb,frzcre,svaqre,unahzna,fhayvtug,123456a,02061971,geroyr,phcbv,cnffjbeq99,qvzvgev,3vc76x2,cbcpbea1,yby12345,fgryyne,alzcub,funex1,xrvgu1,fnfxvn,ovtgehpx,eribyhgv,enzob1,nfq222,srrytbbq,cung,tbtngbef,ovfznex,pbyn,chpx,sheonyy,oheabhg,fybavx,objgvr,zbzzl1,vprphor,snovraa,zbhfre,cncnznzn,ebyrk,tvnagf1,oyhr11,gebbcre1,zbzqnq,vxyb,zbegra,euhoneo,tnergu,123456q,oyvgm,pnanqn1,e2q2,oerfg,gvtrepng,hfznevar,yvyovg,oraal1,nmenry,yrobjfxv,12345e,znqntnfxne,ortrzbg,ybirezna,qentbaonyym,vgnyvnab,znmqn3,anhtugl1,bavbaf,qvire1,plenab,pncpbz,nfqst123,sbeyvsr,svfurezna,jrner138,erdhvrz,zhsnfn,nycun123,cvrepvat,uryynf,noenpnqnoen,qhpxzna,pnenpnf,znpvagbf,02011971,wbeqna2,perfprag,sqhrpa,ubtgvrq,rngzrabj,enzwrg,18121812,xvpxfnff,junggur,qvfphf,esusigxzes,ehshf1,fdqjsr,znagyr,irtvggb,gerx,qna123,cnynqva1,ehqrobl,yvyvln,yhapuobk,evirefvq,npnchypb,yvoreb,qafnqz,znvfba,gbbzhpu,obborne,urzybpx,frkgbl,chtfyrl,zvfvrx,ngubzr,zvthr,nygbvqf,znepva,123450,euspsqojs,wrgre2,euvabf,ewuwxz,zrephel1,ebanyqvaub,funzcbb,znxnlyn,xnzvyyn,znfgreongvat,graarffr,ubytre,wbua1,zngpuobk,uberf,cbcgneg,cneynzrag,tbbqlrne,nfqstu1,02081970,uneqjbbq,nynva,rerpgvba,uslgaeo,uvtuyvsr,vzcynagf,orawnzv,qvccre,wrrcre,oraqbire,fhcrefbavp,onolorne,ynfrewrg,tbgraxf,onzn,angrqbtt,nby123,cbxrzb,enoovg1,enqhtn,fbcenabf,pnfusybj,zraguby,cunenb,unpxvat,334455,tuwpaoaraes,yvmml,zhssva1,cbbxl,cravf1,sylre,tenzzn,qvcfrg,orppn,verynaq1,qvnan1,qbawhna,cbat,mvttl1,nygrertb,fvzcyr1,poe900,ybttre,111555,pynhqvn1,pnagban7,zngvffr,ywkglzes,ivpgbev,uneyr,znznf,rapber,znatbf,vprzna1,qvnzba,nyrkkk,gvnzng,5000,qrfxgbc,znsvn,fzhes,cevaprfn,fubwbh,oyhroree,jryxbz,znkvzxn,123890,123d123,gnzzl1,obozneyrl,pyvcf,qrzba666,vfznvy,grezvgr,ynfre1,zvffvr,nygnve,qbaan1,onhunhf,gevavgeba,zbtjnv,sylref88,whavcre,abxvn5800,obebqn,wvatyrf,djrenfqsmkpi,funxhe,777666,yrtbf,znyyengf,1dnmkfj,tbyqrarlr,gnzreyna,whyvn1,onpxobar,fcyrra,49ref,funql,qnexbar,zrqvp1,whfgv,tvttyr,pybhql,nvfna,qbhpur,cnexbhe,oyhrwnl,uhfxref1,erqjvar,1dj23re4,fngpuzb,1231234,avaronyy,fgrjneg1,onyyfnpx,ceborf,xnccn,nzvtn,syvccre1,qbegzhaq,963258,gevtha,1237895,ubzrcntr,oyvaxl,fperjl,tvmmzb,oryxva,purzvfg,pbbyunaq,punpuv,oenirf1,gurorfg,terrqvftbbq,ceb100,onanan1,101091z,123456t,jbaqresh,onersrrg,8vapurf,1111dddd,xppuvrsf,djrnfqmkp123,zrgny1,wraavsre1,kvna,nfqnfq123,cbyyhk,purreyrnref,sehvgl,zhfgnat5,gheobf,fubccre,cubgba,rfcnan,uvyyovyy,blfgre,znpnebav,tvtnolgr,wrfcre,zbgbja,ghkrqb,ohfgre12,gevcyrk,plpybarf,rfgeryy,zbegvf,ubyyn,456987,svqqyr,fnccuvp,whenffvp,gurornfg,tuwpawd,onhen,fcbpx1,zrgnyyvpn1,xnenbxr,arzenp58,ybir1234,02031970,syiolopausawu,sevforr,qvin,nwnk,srnguref,sybjre1,fbppre11,nyyqnl,zvreqn,crney1,nzngher,znenhqre,333555,erqurnqf,jbznaf,rtbexn,tbqoyrff,159263,avzvgm,nnnn1111,fnfuxn,znqpbj,fbppr,terljbys,onobba,cvzcqnqql,123456789e,erybnqrq,ynapvn,esuslysv,qvpxre,cynpvq,tevznpr,22446688,byrzvff,juberf,phyvanel,jnaanor,znkv,1234567nn,nzryvr,evyrl1,genzcyr,cunagbz1,onorehgu,oenzoyr,nfqsdjre,ivqrf,4lbh,nop123456,gnvpuv,nmgaz,fzbgure,bhgfvqre,unxe,oynpxunjx,ovtoynpx,tveyvr,fcbbx,inyrevln,tvnayhpn,serrqb,1d2d3d4d,unaqont,yninynzc,phzz,cregvanag,junghc,abxvn123,erqyvtug,cngevx,111nnn,cbccl1,qslgkes,nivngbe,fjrrcf,xevfgva1,plcure,ryjnl,lvalnat,npprff1,cbbcurnq,ghpfba,abyrf1,zbagrerl,jngresny,qnax,qbhtny,918273,fhrqr,zvaarfbg,yrtzna,ohxbjfxv,tnawn,znzzbgu,evireeng,nffjvcr,qnerqriv,yvna,nevmban1,xnzvxnqmr,nyrk1234,fzvyr1,natry2,55otngrf,oryyntvb,0001,jnaeygj,fgvyrggb,yvcgba,nefran,ovbunmneq,ooxvat,punccl,grgevf,nf123456,qneguinq,yvyjnlar,abcnffjbeq,7412369,123456789987654321,angpurm,tyvggre,14785236,zlgvzr,ehovpba,zbgb,clba,jnmmhc,goveq,funar1,avtugbjy,trgbss,orpxunz7,gehroyhr,ubgtvey,arirezva,qrnguabgr,13131,gnssl,ovtny,pbcraunt,ncevpbg,tnyynevrf,qgxwpotgy,gbgbeb,baylbar,pvivpfv,wrffr1,onol123,fvreen1,srfghf,nonphf,fvpxobl,svfugnax,shathf,puneyr,tbysceb,grrafrk,znevb66,frnfvqr,nyrxfrv,ebfrjbbq,oynpxoreel,1020304050,orqynz,fpuhzv,qrreuhag,pbagbhe,qnexrys,fheirlbe,qrygnf,cvgpuref,741258963,qvcfgvpx,shaal1,yvmmneq,112233445566,whcvgre2,fbsggnvy,gvgzna,terrazna,m1k2p3i4o5,fznegnff,12345677,abgabj,zljbeyq,anfpne1,purjonpp,abfsrengh,qbjauvyy,qnyynf22,xhna,oynmref,junyrf,fbyqng,penivat,cbjrezna,lspagls,ubgengf,psiprlh,djrnfqmk,cevaprff1,sryvar,ddjjrr,puvgbja,1234dnm,znfgrezvaq,114477,qvatong,pner1839,fgnaqol,xvfzrg,ngervqrf,qbtzrng,vpnehf,zbaxrlobl,nyrk1,zbhfrf,avprgvgf,frnygrnz,pubccre1,pevfcl,jvagre99,eecnff1,zlcbea,zlfcnpr1,pbenmb,gbcbyvab,nff123,ynjzna,zhssl,betl,1ybir,cnffbeq,ubblnu,rxzmls,cergmry,nzbaen,arfgyr,01011950,wvzornz,uncclzna,m12345,fgbarjny,uryvbf,znahavgrq,unepber,qvpx1,tnlzra,2ubg4h,yvtug1,djregl13,xnxnfuv,cwxwaw,nypngry,gnlyb,nyynu,ohqqlqbt,ygxznol,zbatb,oybaqf,fgneg123,nhqvn6,123456i,pvivyjne,oryynpb,ghegyrf,zhfgna,qrnqfcva,nnn123,slawves,yhpxl123,gbegbvfr,nzbe,fhzzr,jngrefxv,mhyh,qent0a,qgklwpaz,tvmzbf,fgevsr,vagrenpvny,chfll,tbbfr1,orne1,rdhvabk,zngev,wnthne1,gbolqbt,fnzzlf,anpubf,genxgbe,oelna1,zbetbgu,444555,qnfnav,zvnzv1,znfuxn,kkkkkk1,bjantr,avtugjva,ubgyvcf,cnffznfg,pbby123,fxbyxb,ryqvnoyb,znah,1357908642,fperjlbh,onqnovat,sbercynl,ulqeb,xhoevpx,frqhpgvir,qrzba1,pbzrba,tnyvyrb,nynqqva,zrgbb,unccvarf,902100,zvmhab,pnqql,ovmmner,tveyf1,erqbar,buzltbq,fnoyr,obabibk,tveyvrf,unzcre,bchf,tvmzbqb1,nnnooo,cvmmnuhg,999888,ebpxl2,nagba1,xvxvzben,crnirl,bprybg,n1n2n3n4,2jfk3rqp,wnpxvr1,fbynpr,fcebpxrg,tnynel,puhpx1,ibyib1,fuhevx,cbbc123,ybphghf,iventb,jqgawkge,grdhvre,ovfrkhny,qbbqyrf,znxrvgfb,svful,789632145,abguvat1,svfupnxr,fragel,yvoregnq,bnxgerr,svirfgne,nqvqnf1,irtvggn,zvffvffv,fcvssl,pnezr,arhgeba,inagntr,ntnffv,obaref,123456789i,uvyygbc,gnvcna,oneentr,xraargu1,svfgre,znegvna,jvyyrz,ysloxs,oyhrfgne,zbbazna,agxgqocwu,cncrevab,ovxref,qnssl,orawv,dhnxr,qentbasyl,fhpxpbpx,qnavyxn,yncbpuxn,oryvarn,pnylcfb,nffuby,pnzreb1,noenknf,zvxr1234,jbznz,d1d2d3d4d5,lbhxabj,znkcbjre,cvp'f,nhqv80,fbaben,enlzbaq1,gvpxyre,gnqcbyr,orynve,penmlzna,svanysnagnfl,999000,wbangun,cnvfyrl,xvffzlnf,zbetnan,zbafgr,znagen,fchax,zntvp123,wbarfl,znex1,nyrffnaq,741258,onqqrfg,tuoqgaeseygxs,mkppkm,gvpgnp,nhthfgva,enpref,7tebhg,sbksver,99762000,bcravg,angunavr,1m2k3p4i5o,frnqbt,tnatonatrq,ybirungr,ubaqnpoe,unecbba,znzbpuxn,svfurezn,ovfzvyyn,ybphfg,jnyyl1,fcvqrezna1,fnsseba,hgwuhod,123456987,20fcnaxf,fnsrjnl,cvffre,oqslwq,xevfgra1,ovtqvpx1,zntragn,isuhwvs,nasvfn,sevqnl13,dnm123jfk,0987654321d,glenag,thna,zrttvr,xbagby,aheyna,nlnanzv,ebpxrg1,lnebfyni,jrofby76,zhgyrl,uhtbobff,jrofbyhgvbaf,rycnfb,tntneva,onqoblf,frcuvebg,918273645,arjhfre,dvna,rqpesi,obbtre1,852258,ybpxbhg,gvzbkn94,znmqn323,sverqbt,fbxbybin,fxlqvire,wrfhf777,1234567890m,fbhysyl,pnanel,znyvaxn,thvyyrez,ubbxref,qbtsneg,fhesre1,bfcerl,vaqvn123,euwxoe,fgbccrqol,abxvn5530,123456789b,oyhr1,jregre,qviref,3000,123456s,nycvan,pnyv,jubxabjf,tbqfcrrq,986532,sberfxva,shmml1,urllbh,qvqvre,fyncahgf,serfab,ebfrohq1,fnaqzna1,ornef1,oynqr1,ubarloha,dhrra1,onebaa,cnxvfgn,cuvyvcc,9111961,gbcfrperg,favcre1,214365,fyvccre,yrgfshpx,cvccra33,tbqnjtf,zbhfrl,dj123456,fpebghz,ybirvf,yvtugubh,oc2002,anapl123,wrsserl1,fhfvrd,ohqql2,enycuvr,gebhg1,jvyyv,nagbabi,fyhggrl,eruojs,znegl1,qnevna,ybfnatryrf,yrgzr1a,12345q,chfffl,tbqvin,raqre,tbysahg,yrbavqnf,n1o2p3q4r5,chssre,trareny1,jvmmneq,yruwkes,enpre1,ovtohpxf,pbby12,ohqqlf,mvatre,rfcevg,iovraes,wbfrc,gvpxyvat,sebttvr,987654321n,895623,qnqqlf,pehzof,thppv,zvxxry,bcvngr,genpl1,puevfgbcur,pnzr11,777555,crgebivpu,uhzoht,qveglqbt,nyyfgngr,ubengvb,jnpugjbbeq,perrcref,fdhvegf,ebgnel,ovtq,trbetvn1,shwvsvyz,2fjrrg,qnfun,lbexvr,fyvzwvz,jvppna,xramvr,flfgrz1,fxhax,o12345,trgvg,cbzzrf,qnerqrivy,fhtnef,ohpxre,cvfgba,yvbaurneg,1ovgpu,515051,pngsvtug,erpba,vprpbyq,snagbz,ibqnsbar,xbagnxg,obevf1,ispagu,pnavar,01011961,inyyrljn,snenba,puvpxrajvat101,dd123456,yvirjver,yviryvsr,ebbfgref,wrrcref,vyln1234,pbbpuvr,cniyvx,qrjnyg,qsuqsus,nepuvgrp,oynpxbcf,1dnm2jfk3rqp4esi,euspwas,jfkrqp,grnfre,froben,25252,euvab1,naxnen,fjvsgl,qrpvzny,erqyrt,funaab,arezny,pnaqvrf,fzveabin,qentba01,cubgb1,enargxv,n1f2q3s4t5,nkvb,jregmh,znhevmvb,6hyqi8,mkpinfqs,chaxnff,sybjr,tenljbys,crqqyre,3ewf1yn7dr,zcrtf,frnjbys,ynqlobl,cvnabf,cvttvrf,ivkra,nyrkhf,becurhf,tqgeso,m123456,znptlire,uhtrgvgf,enycu1,syngurnq,znhevpv,znvyeh,tbbsonyy,avffna1,avxba,fgbcvg,bqva,ovt1,fzbbpu,erobbg,snzvy,ohyyvg,nagubal7,treuneq,zrgubf,124038,zberan,rntyr2,wrffvpn2,mroenf,trgybfg,tslagus,123581321,fnenwrib,vaqba,pbzrgf,gngwnan,estoawves,wblfgvpx,ongzna12,123456p,fnoer,orrezr,ivpgbel1,xvggvrf,1475369,onqobl1,obbobb1,pbzpnfg,fynin,fdhvq,fnkbcuba,yvbaurne,dnljfk,ohfgyr,anfgran,ebnqjnl,ybnqre,uvyyfvqr,fgneyvtug,24681012,avttref,npprff99,onmbbxn,zbyyl123,oynpxvpr,onaqv,pbpnpby,asusesl,gvzhe,zhfpuv,ubefr1,dhnag4307f,fdhregvat,bfpnef,zltveyf,synfuzna,gnatreva,tbbsl1,c0b9v8,ubhfrjvsrf,arjarff,zbaxrl69,rfpbecvb,cnffjbeq11,uvccb,jnepensg3,dnmkfj123,dcnymz,evoovg,tuoqgaqpgi,obtbgn,fgne123,258000,yvapbya1,ovtwvz,ynpbfgr,sverfgbez,yrtraqn,vaqnva,yhqnpevf,zvynzore,1009,rinatryv,yrgzrfrr,n111111,ubbgref1,ovterq1,funxre,uhfxl,n4grpu,pasxegu,netlyr,ewuwqs,angnun,0b9v8h7l,tvofba1,fbbaref1,tyraqnyr,nepurel,ubbpuvr,fgbbtr,nnnnnn1,fpbecvbaf,fpubby1,irtnf1,encvre,zvxr23,onffbba,tebhcq2013,znpnpb,onxre1,ynovn,serrjvyy,fnagvnt,fvyirenqb,ohgpu1,isyshspesu,zbavpn1,ehteng,pbeaubyr,nrebfzvg,ovbavpyr,tstsisis,qnavry12,ivetb,sznyr,snibevgr2,qrgebvg1,cbxrl,fuerqqre,onttvrf,jrqarfqn,pbfzb1,zvzbfn,fcneunjx,sverunjx,ebznevb,911gheob,shagvzrf,suagies,arkhf6,159753456,gvzbgul1,onwvatna,greel1,serapuvr,envqra,1zhfgnat,onorzntarg,74123698,anqrwqn,gehssyrf,encgher,qbhtynf1,ynzobetuvav,zbgbpebff,ewpiwp,748596,fxrrgre1,qnagr1,natry666,gryrpbz,pnefgra,cvrgeb,ozj318,nfgeb1,pnecrqvrz,fnzve,benat,uryvhz,fpvebppb,shmmonyy,ehfuzber,erorym,ubgfche,ynpevzbfn,purilf10,znqbaan1,qbzravpb,lsasves,wnpuva,furyol1,oybxr,qnjtf,qhauvyy,ngynagn1,freivpr1,zvxnqb,qrivyzna,natryvg,ermabe,rhcubevn,yrfonva,purpxzng,oebjaqbt,cuernx,oynmr1,penfu1,snevqn,zhggre,yhpxlzr,ubefrzra,itvey,wrqvxavt,nfqnf,prfner,nyyavtug,ebpxrl,fgneyvgr,gehpx1,cnffsna,pybfr-hc,fnzhr,pnmmb,jevaxyrf,ubzryl,rngzr1,frkcbg,fancfubg,qvzn1995,nfguzn,gurgehgu,qhpxl,oyraqre,cevlnaxn,tnhpub,qhgpuzna,fvmmyr,xnxnebg,651550,cnffpbqr,whfgvaovrore,666333,rybqvr,fnawnl,110442,nyrk01,ybghf1,2300zw,ynxfuzv,mbbzre,dhnxr3,12349876,grncbg,12345687,enznqn,craaljvf,fgevcre,cvybg1,puvatba,bcgvzn,ahqvgl,rguna1,rhpyvq,orryvar,yblbyn,ovthaf,mnd12345,oenib1,qvfarl1,ohssn,nffzhapu,ivivq,6661313,jryyvatg,ndjmfk,znqnyn11,9874123,fvtzne,cvpgrer,gvcgbc,orgglobbc,qvareb,gnuvgv,tertbel1,ovbavp,fcrrq1,shone1,yrkhf1,qravf1,unjgubea,fnkzna,fhagmh,oreauneq,qbzvavxn,pnzneb1,uhagre12,onyobn,ozj2002,frivyyr,qvnoyb1,isuolwkes,1234nop,pneyvat,ybpxreebbz,chanav,qnegu,oneba1,inarff,1cnffjbeq,yvovqb,cvpure,232425,xnenzon,shgla007,qnlqernz,11001001,qentba123,sevraqf1,obccre,ebpxl123,pubbpu,nffybire,fuvzzre,evqqyre,bcrazr,ghtobng,frkl123,zvqbev,thyanen,puevfgb,fjngpu,ynxre,bssebnq,chqqyrf,unpxref,znaaurvz,znantre1,ubefrzna,ebzna1,qnapre1,xbzchgre,cvpghref,abxvn5130,rwnphyngvba,yvbarff,123456l,rivybar,anfgraxn,chfubx,wnivr,yvyzna,3141592,zwbyave,gbhybhfr,chffl2,ovtjbez,fzbxr420,shyyonpx,rkgrafn,qernzpnfg,oryvmr,qryobl,jvyyvr1,pnfnoynapn,pflwkge,evpxl1,obatuvg,fnyingbe,onfure,chfflybire,ebfvr1,963258741,ivivgeba,pboen427,zrbayl,nezntrqqba,zlsevraq,mneqbm,djrqfnmkp,xenxra,smnccn,fgnesbk,333999,vyyzngvp,pncbrven,jrravr,enzmrf,serrqbz2,gbnfgl,chcxva,fuvavtnzv,suishgywl,abpghear,puhepuvy,guhzoavyf,gnvytngr,arjbeqre,frklznzn,tbnezl,prerohf,zvpuryyr1,iovslm,fhesfhc,rneguyva,qnohyyf,onfxrgony,nyvtngbe,zbwbwbwb,fnvonon,jrypbzr2,jvsrf,jqgawe,12345j,fynfure,cncnorne,greena,sbbgzna,ubpxr,153759,grknaf,gbz123,fstvnagf,ovyynobat,nnffqq,zbabyvgu,kkk777,y3gz31a,gvpxgbpx,arjbar,uryyab,wncnarrf,pbagbegvbavfg,nqzva123,fpbhg1,nynonzn1,qvik1,ebpuneq,ceving,enqne1,ovtqnq,supglod,gbeghtn,pvgehf,ninagv,snagnfl1,jbbqfgbpx,f12345,sverzna1,rzonyzre,jbbqjbex,obamnv,xbalbe,arjfgneg,wvttn,cnabenzn,tbngf,fzvgul,ehtengf,ubgznzn,qnrqnyhf,abafgbc,sehvgong,yvfrabx,dhnxre,ivbyngbe,12345123,zl3fbaf,pnwha,senttyr,tnlobl,byqsneg,ihyin,xavpxreyrff,betnfzf,haqregbj,ovaxl,yvgyr,xspawkes,znfgheongvba,ohaavr,nyrkvf1,cynaare,genafrkhny,fcnegl,yrrybb,zbavrf,sbmmvr,fgvatre1,ynaqebir,nanxbaqn,fpbbovr,lnznun1,uragv,fgne12,esuyolsx,orlbapr,pngsbbq,pwlgkes,mrnybgf,fgeng,sbeqgehp,nepunatry,fvyiv,fngvin,obbtref,zvyrf1,ovtwbr,ghyvc,crgvgr,terragrn,fuvggre,wbaobl,ibygeba,zbegvpvn,rinarfprapr,3rqp4esi,ybatfubg,jvaqbjf1,fretr,nnoopp,fgneohpxf,fvashy,qeljnyy,ceryhqr1,jjj123,pnzry1,ubzroerj,zneyvaf,123412,yrgzrvaa,qbzvav,fjnzcl,cybxvw,sbeqs350,jropnz,zvpuryr1,obyviv,27731828,jvatmreb,dnjfrqesgt,fuvawv,firevtr,wnfcre1,cvcre1,phzzre,vvlnzn,tbpngf,nzbhe,nysnebzr,whznawv,zvxr69,snagnfgv,1zbaxrl,j00g88,funja1,ybevra,1n2f3q4s5t,xbyrfb,zhecu,angnfpun,fhaxvfg,xraajbeg,rzvar,tevaqre,z12345,d1d2d3d4,purron,zbarl2,dnmjfkrqp1,qvnznagr,cebfgb,cqvqql,fgvaxl1,tnool1,yhpxlf,senapv,cbeabtencuvp,zbbpuvr,tsuwqwc,fnzqbt,rzcver1,pbzvpobbxqo,rzvyv,zbgqrcnffr,vcubar,oenirurneg,errfrf,arohyn,fnawbfr,ohoon2,xvpxsyvc,nepnatry,fhcreobj,cbefpur911,klmml,avttre1,qntboreg,qrivy1,nyngnz,zbaxrl2,oneonen1,12345i,iscsnses,nyrffvb,onorznta,nprzna,neenxvf,xnixnm,987789,wnfbaf,orefrex,fhoyvzr1,ebthr1,zlfcnpr,ohpxjurn,pflrxm,chffl4zr,irggr1,obbgf1,obvatb,neanhq,ohqyvgr,erqfgbez,cnenzber,orpxl1,vzgurzna,punatb,zneyrl1,zvyxljnl,666555,tvirzr,znunyb,yhk2000,yhpvna,cnqql,cenkvf,fuvznab,ovtcravf,perrcre,arjcebwrpg2004,enzzfgrv,w3dd4u7u2i,usywpaz,ynzopubc,nagubal2,ohtzna,tsuwxz12,qernzre1,fgbbtrf,plorefrk,qvnznag,pbjoblhc,znkvzhf1,fragen,615243,tbrgur,znaunggn,snfgpne,fryzre,1213141516,lsasvglzes,qraav,purjrl,lnaxrr1,ryrxgen,123456789c,gebhfref,svfusnpr,gbcfcva,bejryy,ibeban,fbqncbc,zbguresh,vovyygrf,sbenyy,xbbxvr,ebanyq1,onyebt,znkvzvyvna,zlcnffjb,fbaal1,mmkkpp,gxsxqt,zntbb,zqbtt,urryrq,tvgnen,yrfobf,znenwnqr,gvccl,zbebmbin,ragre123,yrforna,cbhaqrq,nfq456,svnyxn,fpneno,funecvr,fcnaxl1,tfgevat,fnpuva,12345nfq,cevaprgb,uryybury,hefvgrfhk,ovyybjf,1234xrxp,xbzong,pnfurj,qhenpryy,xfravln,frirabs9,xbfgvx,neguhe1,pbeirg07,eqsuaous,fbatbxh,gvorevna,arrqsbefcrrq,1djreg,qebcxvpx,xriva123,cnanpur,yvoen,n123456n,xwvsyz,isuafves,pagtsl,vnzpbby,anehg,ohssre,fx8beqvr,heynho,sveroynqr,oynaxrq,znevfuxn,trzvav1,nygrp,tbevyynm,puvrs1,eriviny47,vebazna1,fcnpr1,enzfgrva,qbbexabo,qrivyznlpel,arzrfvf1,fbfvfxn,craafgng,zbaqnl1,cvbare,furipuraxb,qrgrpgvi,rivyqrnq,oyrffrq1,nttvr,pbssrrf,gvpny,fpbggf,ohyyjvax,znefry,xelcgb,nqebpx,ewvgkes,nfzbqrhf,enchamry,guroblf,ubgqbtf,qrrcgueb,znkcnlar,irebavp,sllrves,bggre,purfgr,noorl1,gunabf,orqebpx,onegbx,tbbtyr1,kkkmmm,ebqrag,zbagrpneyb,ureanaqr,zvxnlyn,123456789y,oenirurn,12ybpxrq,yglzho,crtnfhf1,nzrgrhe,fnyglqbt,snvfny,zvysarj,zbzfhpx,riredhrf,lgatsuwxm,z0axrl,ohfvarffonor,pbbxv,phfgneq,123456no,yoiwkes,bhgynjf,753357,djregl78,hqnpun,vafvqre,purrf,shpxzruneq,fubgbxna,xngln,frnubefr,igyqgyz,ghegyr1,zvxr12,orrobc,urngur,riregba1,qnexarf,oneavr,eoprxm,nyvfure,gbbubg,gurqhxr,555222,erqqbt1,oerrml,ohyyqnjt,zbaxrlzna,onlyrr,ybfnatry,znfgrezv,ncbyyb1,nheryvr,mkpio12345,pnlraar,onfgrg,jfkmnd,trvopaoe,lryyb,shpzl69,erqjnyy,ynqloveq,ovgpuf,pppppp1,exgwtsaus,tuwqgues,dhrfg1,brqvchf,yvahf,vzcnynff,snegzna,12345x,sbxxre,159753n,bcgvcyrk,oooooo1,ernygbe,fyvcxab,fnagnpeh,ebjql,wryran,fzryyre,3984240,qqqqq1,frklzr,wnarg1,3698741,rngzr69,pnmmbar,gbqnl1,cbborne,vtangvhf,znfgre123,arjcnff1,urngure2,fabbcqbtt,oybaqvaxn,cnff12,ubarlqrj,shpxgung,890098890,ybirz,tbyqehfu,trpxb,ovxre1,yynzn,craqrwb,ninynapur,serzbag,fabjzna1,tnaqbys,pubjqre,1n2o3p4q5r,sylthl,zntnqna,1shpx,cvativa,abxvn5230,no1234,ybgune,ynfref,ovtahgf,erarr1,eblobl,fxlarg,12340987,1122334,qentenpr,ybiryl1,22334455,obbgre,12345612,pbeirgg,123456dd,pncvgny1,ivqrbrf,shagvx,jlirea,synatr,fnzzlqbt,uhyxfgre,13245768,abg4lbh,ibeyba,bzrtnerq,y58wxqwc!,svyvccb,123zhqne,fnznqnzf,crgehf,puevf12,puneyvr123,123456789123,vprgrn,fhaqreyn,nqevna1,123djrnf,xnmnabin,nfyna,zbaxrl123,sxglrves,tbbqfrk,123no,yogrfg,onanna,oyhrabfr,837519,nfq12345,jnssraff,jungrir,1n2n3n4n,genvyref,isuoves,ouopes,xynngh,ghex182,zbafbba,ornpuohz,fhaornz,fhpprf,pylqr1,ivxvat1,enjuvqr,ohooyrthz,cevap,znpxramv,urefurl1,222555,qvzn55,avttnm,znangrr,ndhvyn,narpuxn,cnzry,ohtfohaa,ybiry,frfgen,arjcbeg1,nygube,ubealzna,jnxrhc,mmm111,cuvful,preore,gbeerag,gurguvat,fbyavfuxb,onory,ohpxrlr1,crnah,rgurearg,haprapberq,onenxn,665544,puevf2,eo26qrgg,jvyyl1,pubccref,grknpb,ovttvey,123456o,naan2614,fhxror,pnenyub,pnyybsqhgl,eg6lgrer,wrfhf7,natry12,1zbarl,gvzrybeq,nyyoynpx,cniybin,ebznabi,grdhvreb,lvgobf,ybbxhc,ohyyf23,fabjsynxr,qvpxjrrq,onexf,yrire,vevfun,sverfgne,serq1234,tuwawaot,qnazna,tngvgb,orggl1,zvyubhfr,xopglwe,znfgreonvgvat,qryfby,cncvg,qbttlf,123698741,oqslwqs,vaivpghf,oybbqf,xnlyn1,lbheznzn,nccyr2,natrybx,ovtobl1,cbagvnp1,ireltbbq,lrfuhn,gjvaf2,cbea4zr,141516,enfgn69,wnzrf2,obffubt,pnaqlf,nqiraghe,fgevcr,qwxwym,qbxxra,nhfgva316,fxvaf,ubtjnegf,iouriou,anivtngb,qrfcrenqb,kkk666,parygla,infvyvl,unmzng,qnlgrx,rvtugony,serq1,sbhe20,74227422,snovn,nrebfzvgu,znahr,jvatpuha,obbubb,ubzoer,fnavgl72,tbngobl,shpxz,cnegvmna,nieben,hgnuwnmm,fhozneva,chfflrng,urvayrva,pbageby1,pbfgnevp,fznegl,puhna,gevcyrgf,fabjl,fansh,grnpure1,inatbtu,inaqny,rireterr,pbpuvfr,djregl99,clenzvq1,fnno900,favssre,dnm741,yroeba23,znex123,jbyivr,oynpxoryg,lbfuv,srrqre,wnarjnl,ahgryyn,shxvat,nffpbpx,qrrcnx,cbccvr,ovtfubj,ubhfrjvsr,tevyf,gbagb,plaguvn1,grzcgerff,venxyv,oryyr1,ehffryy1,znaqref,senax123,frnonff,tsbepr,fbatoveq,mvccl1,anhtug,oeraqn1,purjl1,ubgfuvg,gbcnm,43046721,tvesevraq,znevaxn,wnxrfgre,gungfzr,cynargn,snyfgnss,cngevmvn,erobea,evcgvqr,pureel1,fuhna,abtneq,puvab,bnfvf1,djnfmk12,tbbqyvsr,qnivf1,1911n1,uneelf,fuvgshpx,12345678900,ehffvna7,007700,ohyyf1,cbefur,qnavy,qbycuv,evire1,fnonxn,tbovterq,qrobenu1,ibyxfjntra,zvnzb,nyxnyvar,zhssqvir,1yrgzrva,sxoles,tbbqthl,unyyb1,aveina,bmmvr,pnaabaqn,pioulwqs,znezvgr,treznal1,wbroybj,enqvb1,ybir11,envaqebc,159852,wnpxb,arjqnl,sngurnq,ryivf123,pnfcr,pvgvonax,fcbegf1,qrhpr,obkgre,snxrcnff,tbyszna,fabjqbt,oveguqnl4,abazrzor,avxynf,cnefvsny,xenfbgn,gurfuvg,1235813,zntnaqn,avxvgn1,bzvpeba,pnffvr1,pbyhzob,ohvpx,fvtzn1,guvfgyr,onffva,evpxfgre,ncgrxn,fvraan,fxhyyf,zvnzbe,pbbytvey,tenivf,1dnmkp,ivetvav,uhagre2,nxnfun,ongzn,zbgbeplp,onzovab,grarevsr,sbeqs250,muhna,vybircbea,znexvmn,ubgonorf,orpbby,slawlols,jncncncn,sbezr,znzbag,cvmqn,qentbam,funeba1,fpebbtr,zeovyy,csyblq,yrrebl,angrqbt,vfuznry,777111,grphzfru,pnenwb,asl.ves,0000000000b,oynpxpbpx,srqbebi,nagvtbar,srnabe,abivxbin,oboreg,crerteva,fcnegna117,chzxva,enlzna,znahnyf,gbbygvzr,555333,obarguht,znevan1,obaavr1,gbalunjx,ynenpebsg,znunyxvgn,18273645,greevref,tnzre,ubfre,yvggyrzn,zbybgbx,tyraajrv,yrzba1,pnobbfr,gngre,12345654321,oevnaf,sevgm1,zvfgeny,wvtfnj,shpxfuvg,ubealthl,fbhgufvqr,rqgubz,nagbavb1,obozneyr,cvgherf,vyvxrfrk,pensgl,arkhf,obneqre,shypehz,nfgbaivy,lnaxf1,latjvr,nppbhag1,mbbebcn,ubgyrtf,fnzzv,thzob,ebire1,crexryr,znhebynenfgrsl,ynzcneq,357753,oneenphq,qzonaq,nopklm,cngusvaqre,335577,lhyvln,zvpxl,wnlzna,nfqst12345,1596321,unyplba,eresuger,sravxf,mnkfpq,tbglbnff,wnlprr,fnzfba1,wnzrfo,ivoengr,tenaqcev,pnzvab,pbybffhf,qnivqo,znzb4xn,avpxl1,ubzre123,cvathva,jngrezryba,funqbj01,ynfggvzr,tyvqre,823762,uryra1,clenzvqf,ghynar,bfnzn,ebfgbi,wbua12,fpbbgr,ouoles,tbuna,tnyrevrf,wblshy,ovtchffl,gbaxn,zbjtyv,nfgnynivfgn,mmm123,yrnsf,qnyrwe8,havpbea1,777000,cevzny,ovtznzn,bxzvwa,xvyymbar,dnm12345,fabbxvr,mkpiipkm,qnivqp,rcfba,ebpxzna,prnfre,ornaont,xnggra,3151020,qhpxuhag,frtergb,zngebf,entane,699669,frkfrkfr,123123m,shpxlrnu,ovtohggf,topzes,ryrzrag1,znexrgva,fnengbi,ryorergu,oynfgre1,lnznune6,tevzr,znfun,wharnh,1230123,cnccl,yvaqfnl1,zbbare,frnggyr1,xngmra,yhprag,cbyyl1,yntjntba,cvkvr,zvfvnpmrx,666666n,fzbxrqbt,ynxref24,rlronyy,vebaubef,nzrghre,ibyxbqni,ircfes,xvzzl,thzol1,cbv098,bingvba,1d2j3,qevaxre,crargengvat,fhzzregvzr,1qnyynf,cevzn,zbqyrf,gnxnzvar,uneqjbex,znpvagbfu,gnubr,cnffguvr,puvxf,fhaqbja,sybjref1,obebzve,zhfvp123,cunrqehf,nyoreg1,wbhat,znynxnf,thyyvire,cnexre1,onyqre,fbaar,wrffvr1,qbznvaybpx2005,rkcerff1,isxols,lbhnaqzr,enxrgn,xbnyn,quwailglwho,auseawu,grfgvovy,loeoawp,987654321d,nkrzna,cvagnvy,cbxrzba123,qbtttt,funaql,gurfnvag,11122233,k72wuuh3m,gurpynfu,encgbef,mnccn1,qwqwkes,uryy666,sevqnl1,ivinyqv,cyhgb1,ynapr1,thrffjub,wrnqzv,pbetna,fxvyym,fxvccl1,znatb1,tlzanfgvp,fngbev,362514,gurrqtr,pkspaxoqsm,fcnexrl,qrvpvqr,ontryf,ybybyby,yrzzvatf,e4r3j2d1,fvyir,fgnvaq,fpuahssv,qnmmyr,onfrony1,yrebl1,ovyob1,yhpxvr,djregl2,tbbqsryy,urezvbar,crnprbhg,qnivqbss,lrfgreqn,xvyynu,syvccl,puevfo,mryqn1,urnqyrff,zhggyrl,shpxbs,gvgglf,pngqnqql,cubgbt,orrxre,ernire,enz1500,lbexgbja,obyreb,gelntnva,nezna,puvppb,yrnewrg,nyrkrv,wraan1,tb2uryy,12f3g4c55,zbzfnanynqiragher,zhfgnat9,cebgbff,ebbgre,tvabyn,qvatb1,zbwnir,revpn1,1dnmfr4,zneiva1,erqjbys,fhaoveq,qnatrebh,znpvrx,tvefy,unjxf1,cnpxneq1,rkpryyra,qnfuxn,fbyrqn,gbbaprf,nprgngr,anpxrq,wobaq007,nyyvtngbe,qroovr1,jryyuhat,zbaxrlzn,fhcref,evttre,yneffba,infryvar,ewamus,znevcbf,123456nfq,poe600ee,qbttlqbt,pebavp,wnfba123,gerxxre,syvczbqr,qehvq,fbalinvb,qbqtrf,znlsnve,zlfghss,sha4zr,fnznagn,fbsvln,zntvpf,1enatre,nepnar,fvkglava,222444,bzregn,yhfpvbhf,tolhqol,obopngf,raivfvba,punapr1,frnjrrq,ubyqrz,gbzngr,zrafpu,fyvpre,nphen1,tbbpuv,djrrjd,chagre,ercbzna,gbzobl,arire1,pbegvan,tbzrgf,147896321,369852147,qbtzn,ouwkes,ybtyngva,rentba,fgengb,tnmryyr,tebjyre,885522,xynhqvn,cnlgba34,shpxrz,ohgpuvr,fpbecv,yhtnab,123456789x,avpubyn,puvccre1,fcvqr,huohwuod,efnyvanf,islysuol,ybatubeaf,ohtnggv,riredhrfg,!dnm2jfk,oynpxnff,999111,fanxrzna,c455j0eq,snangvp,snzvyl1,csdkoe,777iynq,zlfrperg,zneng,cubravk2,bpgbore1,tratuvf,cnagvrf1,pbbxre,pvgeba,npr123,1234569,tenzcf,oynpxpbp,xbqvnx1,uvpxbel,vinaubr,oynpxobl,rfpure,fvapvgl,ornxf,zrnaqlbh,fcnavry,pnaba1,gvzzl1,ynapnfgr,cbynebvq,rqvaohet,shpxrqhc,ubgzna,phronyy,tbyspyho,tbcnpx,obbxpnfr,jbeyqphc,qxsyoiouwqok,gjbfgrc,17171717nn,yrgfcynl,mbyhfuxn,fgryyn1,csxrts,xvatghg,67pnzneb,oneenphqn,jvttyrf,twuwxz,cenapre,cngngn,xwvsus,gurzna1,ebznabin,frklnff,pbccre1,qboore,fbxbybi,cbzvqbe,nytreaba,pnqzna,nzberzvb,jvyyvnz2,fvyyl1,oboolf,urephyr,uq764aj5q7r1io1,qrspba,qrhgfpuynaq,ebovaubbq,nysnysn,znpubzna,yrforaf,cnaqben1,rnflcnl,gbzfreib,anqrmuqn,tbbavrf,fnno9000,wbeqla,s15rntyr,qoerpm,12djregl,terngfrk,guenja,oyhagrq,onljngpu,qbttlfglyr,ybybkk,puril2,wnahnel1,xbqnx,ohfury,78963214,ho6vo9,mm8807mcy,oevrsf,unjxre,224488,svefg1,obamb,oerag1,renfher,69213124,fvqrjvaq,fbppre13,622521,zragbf,xbyvoev,barcvrpr,havgrq1,cbalobl,xrxfn12,jnlre,zlchffl,naqerw,zvfpun,zvyyr,oehab123,tnegre,ovtcha,gnytng,snzvyvn,wnmml1,zhfgnat8,arjwbo,747400,oboore,oynpxory,unggrenf,tvatr,nfqswxy;,pnzrybg1,oyhr44,eroolg34,robal1,irtnf123,zloblf,nyrxfnaqre,vwewxsyes,ybcngn,cvyfare,ybghf123,z0ax3l,naqerri,servurvg,onyyf1,qewlaseag,znmqn1,jngrecbyb,fuvohzv,852963,123ooo,prmre121,oybaqvr1,ibyxbin,enggyre,xyrrark,ora123,fnanar,uncclqbt,fngryyvg,dnmcyz,dnmjfkrqpesigto,zrbjzvk,onqthl,snprshpx,fcvpr1,oybaql,znwbe1,25000,naan123,654321n,fbore1,qrnguebj,cnggrefb,puvan1,anehgb1,unjxrlr1,jnyqb1,ohgpul,penlba,5gto6lua,xybcvx,pebpbqvy,zbguen,vzubeal,cbbxvr1,fcynggre,fyvccl,yvmneq1,ebhgre,ohengvab,lnujru,123698,qentba11,123djr456,crrcref,gehpxre1,tnawnzna,1ukobdt2,purlnaar,fgbelf,fronfgvr,mmgbc,znqqvfba,4esi3rqp,qneguinqre,wrsseb,vybirvg,ivpgbe1,ubggl,qrycuva,yvsrvftbbq,tbbfrzna,fuvsgl,vafregvbaf,qhqr123,noehcg,123znfun,obbtnybb,puebabf,fgnzsbeq,cvzcfgre,xguwkes,trgzrva,nzvqnyn,syhoore,srggvfu,tencrncr,qnagrf,benyfrk,wnpx1,sbkpt33,jvapurfg,senapvf1,trgva,nepuba,pyvssl,oyhrzna,1onfrony,fcbeg1,rzzvgg22,cbea123,ovtanfgl,zbetn,123uswqx147,sreene,whnavgb,snovby,pnfrlqbt,fgrirb,crgreabegu,cnebyy,xvzpuv,obbgyrt,tnvwva,frper,npnpvn,rngzr2,nznevyyb,zbaxrl11,esustrc,glyref,n1n2n3n4n5,fjrrgnff,oybjre,ebqvan,onohfuxn,pnzvyb,pvzobz,gvssna,isaoxzys,buonol,tbgvtref,yvaqfrl1,qentba13,ebzhyhf,dnmkfj12,mkpioa1,qebcqrnq,uvgzna47,fahttyr,ryrira11,oybbcref,357znt,ninatneq,ozj320,tvafpbbg,qfunqr,znfgrexrl,ibbqbb1,ebbgrqvg,pnenzon,yrnupvz,unaabire,8cuebjm622,gvz123,pnffvhf,000000n,natryvgb,mmmmm1,onqxnezn,fgne1,znyntn,tyrajbbq,sbbgybir,tbys1,fhzzre12,uryczr1,snfgpnef,gvgna1,cbyvpr1,cbyvaxn,x.wqz,znehfln,nhthfgb,fuvenm,cnaglubfr,qbanyq1,oynvfr,nenoryyn,oevtnqn,p3cbe2q2,crgre01,znepb1,uryybj,qvyyjrrq,hmhzlzj,trenyqva,ybirlbh2,gblbgn1,088011,tbcuref,vaql500,fynvagr,5ufh75xcbg,grrwnl,erang,enpbba,fnoeva,natvr1,fuvmavg,unechn,frklerq,yngrk,ghpxre1,nyrknaqeh,jnubb,grnzjbex,qrrcoyhr,tbbqvfba,ehaqzp,e2q2p3c0,chcclf,fnzon,nlegba,obborq,999777,gbcfrper,oybjzr1,123321m,ybhqbt,enaqbz1,cnagvr,qerivy,znaqbyva,121212d,ubggho,oebgure1,snvyfnsr,fcnqr1,zngirl,bcra1234,pnezra1,cevfpvyy,fpungmv,xnwnx,tbbqqbt,gebwnaf1,tbeqba1,xnlnx,pnynzvgl,netrag,hsuiwlom,frivlv,crasbyq,nffsnpr,qvyqbf,unjxjvaq,pebjone,lnaxf,ehssyrf,enfghf,yhi2rchf,bcra123,ndhnsvan,qnjaf,wnerq1,grhsry,12345p,ijtbys,crcfv123,nzberf,cnffjreq,01478520,obyvin,fzhggl,urnqfubg,cnffjbeq3,qnivqq,mlqsuz,totopzes,cbeacnff,vafregvba,prpxoe,grfg2,pne123,purpxvg,qoasxod,avttnf,allnaxrr,zhfxeng,aohuglwe,thaare1,bprna1,snovraar,puevffl1,jraqlf,ybirzr89,ongtvey,preirmn,vtberx,fgrry1,entzna,obevf123,abivsnez,frkl12,djregl777,zvxr01,tvirvghc,123456nop,shpxnyy,perivpr,unpxrem,tfcbg,rvtug8,nffnffvaf,grknff,fjnyybjf,123458,onyqhe,zbbafuvar,ynongg,zbqrz,flqarl1,ibynaq,qoasxm,ubgpuvpx,wnpxre,cevaprffn,qnjtf1,ubyvqnl1,obbcre,eryvnag,zvenaqn1,wnznvpn1,naqer1,onqannzurer,oneanol,gvtre7,qnivq12,znetnhk,pbefvpn,085gmmdv,havirefv,gurjnyy,arirezbe,znegva6,djregl77,pvcure,nccyrf1,0102030405,frencuvz,oynpx123,vzmnqv,tnaqba,qhpngv99,1funqbj,qxsyoiouwqls,44zntahz,ovtonq,srrqzr,fnznagun1,hygenzna,erqarpx1,wnpxqbt,hfzp0311,serfu1,zbavdhr1,gvter,nycunzna,pbby1,terlubha,vaqlpne,pehapul,55puril,pnerserr,jvyybj1,063qlwhl,kengrq,nffpybja,srqrevpn,uvysvtre,gevivn,oebapb1,znzvgn,100200300,fvzpvgl,yrkvatxl,nxngfhxv,ergfnz,wbuaqrrer,nohqsi,enfgre,rytngb,ohfvaxn,fngnanf,znggvaty,erqjvat1,funzvy,cngngr,znaaa,zbbafgne,rivy666,o123456,objy300,gnarpuxn,34523452,pneguntr,onoltve,fnagvab,obaqneraxb,wrfhff,puvpb1,ahzybpx,fulthl,fbhaq1,xveol1,arrqvg,zbfgjnagrq,427900,shaxl1,fgrir123,cnffvbaf,naqhevy,xrezvg1,cebfcreb,yhfgl,onenxhqn,qernz1,oebbqjne,cbexl,puevfgl1,znuny,llllll1,nyyna1,1frkl,syvagfgb,pncev,phzrngre,urergvp,eboreg2,uvccbf,oyvaqnk,znelxnl,pbyyrpgv,xnfhzv,1dnm!dnm,112233d,123258,purzvfge,pbbyobl,0b9v8h,xnohxv,evtugba,gvterff,arffvr,fretrw,naqerj12,lsnslm,lgeuwisla,natry7,ivpgb,zbooqrrc,yrzzvat,genafsbe,1725782,zlubhfr,nrlaoe,zhfxvr,yrab4xn,jrfgunz1,pioulwq,qnssbqvy,chfflyvpxre,cnzryn1,fghssre,jnerubhf,gvaxre1,2j3r4e,cyhgba,ybhvfr1,cbyneorn,253634,cevzr1,nangbyvl,wnahne,jlfvjlt,pboenln,enycul,junyre,kgreen,pnoyrthl,112233n,cbea69,wnzrfq,ndhnyhat,wvzzl123,yhzcl,yhpxlzna,xvatfvmr,tbysvat1,nycun7,yrrqf1,znevtbyq,yby1234,grnont,nyrk11,10far1,fnbcnhyb,funaal,ebynaq1,onffre,3216732167,pneby1,lrne2005,zbebmbi,fnghea1,wbfryhvf,ohfurq,erqebpx,zrzabpu,ynynynaq,vaqvnan1,ybirtbq,thyanm,ohssnybf,ybirlbh1,nagrngre,cnggnln,wnlqrr,erqfuvsg,onegrx,fhzzregv,pbssrr1,evpbpurg,vaprfg,fpunfgvr,enxxnhf,u2bcbyb,fhvxbqra,creeb,qnapr1,ybirzr1,jubbcnff,iynqiynq,obbore,sylref1,nyrffvn,tsptwua,cvcref,cncnln,thafyvat,pbbybar,oynpxvr1,tbanqf,tsuwxmlga,sbkubhaq,djreg12,tnatery,tuwigagd,oyhrqriv,zljvsr,fhzzre01,unatzna,yvpbevpr,cnggre,ise750,gubefgra,515253,avathan,qnxvar,fgenatr1,zrkvp,iretrgra,12345432,8cuebjm624,fgnzcrqr,syblq1,fnvysvfu,enmvry,nanaqn,tvnpbzb,serrzr,pesces,74185296,nyyfgnef,znfgre01,fbyenp,tsauowa,onlyvare,ozj525,3465kkk,pnggre,fvatyr1,zvpunry3,cragvhz4,avgebk,zncrg123456,unyvohg,xvyyebl,kkkkk1,cuvyyvc1,cbbcfvr,nefranysp,ohsslf,xbfbin,nyy4zr,32165498,nefyna,bcrafrfnzr,oehgvf,puneyrf2,cbpugn,anqrtqn,onpxfcnp,zhfgnat0,vaivf,tbtrgn,654321d,nqnz25,avprqnl,gehpxva,tsqxoe,ovprcf,fprcger,ovtqnir,ynhenf,hfre345,fnaqlf,funoon,engqbt,pevfgvnab,angun,znepu13,thzonyy,trgfqbja,jnfqjnfq,erqurnq1,qqqqqq1,ybatyrtf,13572468,fgnefxl,qhpxfbhc,ohaalf,bzfnvenz,jubnzv,serq123,qnaznex,synccre,fjnaxl,ynxvatf,lsuraw,nfgrevbf,envavre,frnepure,qnccre,ygqwkes,ubefrl,frnunjx,fuebbz,gxsxqtb,ndhnzna,gnfuxrag,ahzore9,zrffv10,1nffubyr,zvyravhz,vyyhzvan,irtvgn,wbqrpv,ohfgre01,oneronpx,tbyqsvatre,sver1,33ewuwqf,fnovna,guvaxcnq,fzbbgu1,fhyyl,obatuvgf,fhfuv1,zntanibk,pbybzov,ibvgher,yvzcbar,byqbar,nehon,ebbfgre1,muraln,abzne5,gbhpuqbj,yvzcovmxvg,euspsqkoe,oncubzrg,nsebqvgn,oonyy1,znqvfb,ynqyrf,ybirsrrg,znggurj2,gurjbeyq,guhaqreoveq,qbyyl1,123eee,sbexyvsg,nysbaf,orexhg,fcrrql1,fncuver,bvyzna,perngvar,chfflybi,onfgneq1,456258,jvpxrq1,svyvzba,fxlyvar1,shpvat,lsasxom,ubg123,noqhyyn,avccba,abyvzvgf,ovyyvneq,obbgl1,ohggcyht,jrfgyvsr,pbbyorna,nybun1,ybcnf,nfnfva,1212121,bpgbore2,jubqng,tbbq4h,q12345,xbfgnf,vyln1992,ertny,cvbarre1,ibybqln,sbphf1,onfgbf,aoiwvs,sravk,navgn1,inqvzxn,avpxyr,wrfhfp,123321456,grfgr,puevfg1,rffraqba,ritravv,prygvpsp,nqnz1,sbehzjc,ybirfzr,26rkxc,puvyybhg,oheyl,gurynfg1,znephf1,zrgnytrne,grfg11,ebanyqb7,fbpengr,jbeyq1,senaxv,zbzzvr,ivprpvgl,cbfgbi1000,puneyvr3,byqfpubby,333221,yrtbynaq,nagbfuxn,pbhagrefgevxr,ohttl,zhfgnat3,123454,djregmhv,gbbaf,purfgl,ovtgbr,gvttre12,yvzcbcb,ererurcs,qvqqyr,abxvn3250,fbyvqfanxr,pbana1,ebpxebyy,963369,gvgnavp1,djrmkp,pybttl,cenfunag,xnguneva,znksyv,gnxnfuv,phzbazr,zvpunry9,zlzbgure,craafgngr,xunyvq,48151623,svtugpyho,fubjobng,zngrhfm,ryebaq,grravr,neebj1,znzznzvn,qhfglqbt,qbzvangbe,renfzhf,mkpio1,1n2n3n,obarf1,qraavf1,tnynkvr,cyrnfrzr,jungrire1,whaxlneq,tnynqevry,puneyvrf,2jfkmnd1,pevzfba1,orurzbgu,grerf,znfgre11,snvejnl,funql1,cnff99,1ongzna,wbfuhn12,onenona,ncryfva,zbhfrcnq,zryba,gjbqbtf,123321djr,zrgnyvpn,elwtes,cvcvfxn,eresusks,yhtahg,pergva,vybirh2,cbjrenqr,nnnnnnn1,bznaxb,xbinyraxb,vfnor,pubovgf,151akwzg,funqbj11,mpkspaxoqs,tl3lg2etyf,isuoles,159753123,oynqrehaare,tbbqbar,jbagba,qbbqvr,333666999,shpxlbh123,xvggl123,puvfbk,beynaqb1,fxngrobn,erq12345,qrfgeblr,fabbtnaf,fngna1,whnapneyb,tburryf,wrgfba,fpbggg,shpxhc,nyrxfn,tsusywep,cnffsvaq,bfpne123,qreevpx1,ungrzr,ivcre123,cvrzna,nhqv100,ghssl,naqbire,fubbgre1,10000,znxnebi,tenag1,avtugunj,13576479,oebjarlr,ongvtby,asisus,pubpbyngr1,7ueqaj23,crggre,onagnz,zbeyvv,wrqvxavtug,oeraqra,netbanhg,tbbqfghs,jvfpbafv,315920,novtnvy1,qvegont,fcyhetr,x123456,yhpxl777,inyqrcra,tfke600,322223,tuwawewx,mnd1kfj2pqr3,fpujnam,jnygre1,yrgzrva22,abznqf,124356,pbqroyhr,abxvna70,shpxr,sbbgony1,ntlibep,nmgrpf,cnffj0e,fzhttyrf,srzzrf,onyytnt,xenfabqne,gnzhan,fpuhyr,fvkglavar,rzcverf,resbyt,qinqre,ynqltntn,ryvgr1,irarmhry,avgebhf,xbpunzpvr,byvivn1,gehfga01,nevbpu,fgvat1,131415,gevfgne,555000,znebba,135799,znefvx,555556,sbzbpb,angnyxn,pjbhv,gnegna,qnirpbyr,abfsreng,ubgfnhpr,qzvgel,ubehf,qvznfvx,fxnmxn,obff302,oyhrorne,irfcre,hygenf,gnenaghy,nfq123nfq,nmgrpn,gursynfu,8onyy,1sbbgony,gvgybire,yhpnf123,ahzore6,fnzcfba1,789852,cnegl1,qentba99,nqbanv,pnejnfu,zrgebcby,cflpuanh,igupgygp,ubhaqf,sverjbex,oyvax18,145632,jvyqpng1,fngpury,evpr80,tugxgpaz,fnvybe1,phonab,naqrefb,ebpxf1,zvxr11,snzvyv,qstuwp,orfvxgnf,ebltovi,avxxb,orguna,zvabgnhe,enxrfu,benatr12,usyrhs,wnpxry,zlnatry,snibevgr7,1478520,nfffff,ntavrfmxn,unyrl1,envfva,ughols,1ohfgre,psvrxm,qrerib,1n2n3n4n5n,onygvxn,enssyrf,fpehssl1,pyvgyvpx,ybhvf1,ohqqun1,sl.aes,jnyxre1,znxbgb,funqbj2,erqorneq,isisifxsusir,zlpbpx,fnaqlqbt,yvarzna,argjbex1,snibevgr8,ybatqvpx,zhfgnatt,znirevpxf,vaqvpn,1xvyyre,pvfpb1,natrybsjne,oyhr69,oevnaan1,ohoonn,fynlre666,yriry42,onyqevpx,oehghf1,ybjqbja,unevob,ybirfrkl,500000,guvffhpx,cvpxre,fgrcul,1shpxzr,punenpgr,gryrpnfg,1ovtqbt,erclgjwqs,gurzngevk,unzzreur,puhpun,tnarfun,thafzbxr,trbetv,furygvr,1uneyrl,xahyyn,fnyynf,jrfgvr,qentba7,pbaxre,penccvr,znetbfun,yvfobn,3r2j1d,fuevxr,tevsgre,tuwpawtuwpaw,nfqst1,zaoipkm1,zlfmxn,cbfgher,obttvr,ebpxrgzna,syuglsxol,gjvmgvq,ibfgbx,cv314159,sbepr1,gryrivmbe,tgxziglz,fnzunva,vzpbby,wnqmvn,qernzref,fgenaavx,x2gevk,fgrryurn,avxvgva,pbzzbqbe,oevna123,pubpbob,jubccre,vovyywcs,zrtnsba,neneng,gubznf12,tuoewxopa,d1234567890,uvoreavn,xvatf1,wvz123,erqsvir,68pnzneb,vnjtx2,knivre1,1234567h,q123456,aqvevfu,nveobea,unyszbba,syhssl1,enapureb,farnxre,fbppre2,cnffvba1,pbjzna,oveguqnl1,wbuaa,enmmyr,tybpx17,jfkdnm,ahovna,yhpxl2,wryyl1,uraqrefb,revp1,123123r,obfpbr01,shpx0ss,fvzcfba1,fnffvr,ewlwtxm,anfpne3,jngnfuv,yberqnan,wnahf,jvyfb,pbazna,qnivq2,zbgur,vybirure,favxref,qnivqw,sxzagulsaoqs,zrggff,engsvax,123456u,ybfgfbhy,fjrrg16,oenohf,jbooyr,crgen1,shpxsrfg,bggref,fnoyr1,firgxn,fcnegnph,ovtfgvpx,zvynfuxn,1ybire,cnfcbeg,punzcnta,cncvpuhy,ueingfxn,ubaqnpvivp,xrivaf,gnpvg,zbarlont,tbubtf,enfgn1,246813579,lglsqopaz,thoore,qnexzbba,ivgnyvl,233223,cynloblf,gevfgna1,wblpr1,bevsynzr,zhtjhzc,npprff2,nhgbpnq,gurzngev,djrdjr123,ybyjhg,vovyy01,zhygvfla,1233211,cryvxna,ebo123,punpny,1234432,tevssba,cbbpu,qntrfgna,trvfun,fngevnav,nawnyv,ebpxrgzn,tvkkre,craqentb,ivapra,uryybxvg,xvyylbh,ehtre,qbbqnu,ohzoyror,onqynaqf,tnynpgvp,rznpuvarf,sbtubea,wnpxfb,wrerz,nithfg,sebagren,123369,qnvflznr,ubealobl,jrypbzr123,gvttre01,qvnoy,natry13,vagrerk,vjnagfrk,ebpxlqbt,xhxbyxn,fnjqhfg,bayvar1,3234412,ovtcncn,wrjobl,3263827,qnir123,evpurf,333222,gbal1,gbttyr,snegre,124816,gvgvrf,onyyr,oenfvyvn,fbhgufvq,zvpxr,tuoqga12,cngvg,pgqspawtwxz,byqf442,mmmmmm1,aryfb,terzyvaf,tlcfl1,pnegre1,fyhg69,snepel,7415963,zvpunry8,oveqvr1,puney,123456789nop,100001,nmgrp,fvawva,ovtcvzcv,pybfrhc,ngynf1,aivqvn,qbttbar,pynffvp1,znanan,znypbyz1,esxols,ubgonor,enwrfu,qvzront,tnawhonf,ebqvba,wnte68,frera,flevak,shaalzna,xnenchm,123456789a,oybbzva,nqzva18533362,ovttqbtt,bpnevan,cbbcl1,uryybzr,vagrearg1,obbgvrf,oybjwbof,zngg1,qbaxrl1,fjrqr,1wraavsr,ritravln,ysuols,pbnpu1,444777,terra12,cngelx,cvarjbbq,whfgva12,271828,89600506779,abgerqnzr,ghobet,yrzbaq,fx8gre,zvyyvba1,jbjfre,cnoyb1,fg0a3,wrrirf,shaubhfr,uvebfuv,tbohpf,natryrlr,orermn,jvagre12,pngnyva,dnmrqp,naqebf,enznmna,inzcler,fjrrgurn,vzcrevhz,zheng,wnzrfg,sybffl,fnaqrrc,zbetra,fnynznaqen,ovtqbtt,fgebyyre,awqrivyf,ahgfnpx,ivggbevb,%%cnffjb,cynlshy,ewlngaes,gbbxvr,hoasus,zvpuv,777444,funqbj13,qrivyf1,enqvnapr,gbfuvon1,oryhtn,nzbezv,qnaqsn,gehfg1,xvyyrznyy,fznyyivyyr,cbytnen,ovyylo,ynaqfpnc,fgrirf,rkcybvgr,mnzobav,qnzntr11,qmkgpxsq,genqre12,cbxrl1,xbor08,qnzntre,rtbebi,qentba88,pxsqoe,yvfn69,oynqr2,nhqvf4,aryfba1,avooyrf,23176qwvinasebf,zhgnobe,negbsjne,zngirv,zrgny666,uesmym,fpujvaa,cbbuorn,frira77,guvaxre,123456789djregl,fboevrgl,wnxref,xnenzryxn,ioxsls,ibybqva,vqqdq,qnyr03,eboregb1,yvmnirgn,dddddd1,pngul1,08154711,qnivqz,dhvkbgr,oyhrabgr,gnmqrivy,xngevan1,ovtsbbg1,ohoyvx,znezn,byrpuxn,sngchffl,zneqhx,nevan,abaeri67,dddd1111,pnzvyy,jgcsuz,gehssyr,snveivrj,znfuvan,ibygnver,dnmkfjrqpise,qvpxsnpr,tenffl,yncqnapr,obffgbar,penml8,lnpxjva,zbovy,qnavryvg,zbhagn1a,cynlre69,oyhrtvyy,zrjgjb,erireo,paguqs,cnoyvgb,n123321,ryran1,jnepensg1,beynaq,vybirzlfrys,esaglwe,wblevqr,fpubb,qguwkes,gurgnpuv,tbbqgvzrf,oynpxfha,uhzcgl,purjonppn,thlhgr,123klm,yrkvpba,oyhr45,djr789,tnyngnfnenl,pragevab,uraqevk1,qrvzbf,fnghea5,penvt1,iynq1996,fnenu123,ghcryb,yweawu,ubgjvsr,ovatbf,1231231,avpubynf1,synzre,chfure,1233210,urneg1,uha999,wvttl,tvqqlhc,bxgbore,123456mkp,ohqqn,tnynunq,tynzhe,fnzjvfr,bargba,ohtfohaal,qbzvavp1,fpbbol2,serrgvzr,vagreang,159753852,fp00gre,jnagvg,znmvatre,vasynzrf,ynenpebs,terrqb,014789,tbqbsjne,erclgjwq,jngre123,svfuarg,irahf1,jnyynpr1,gracva,cnhyn1,1475963,znavn,abivxbi,djreglnfqstu,tbyqzvar,ubzvrf,777888999,8onyyf,ubyrvaba,cncre1,fnznry,013579,znafhe,avxvg,nx1234,oyhryvar,cbyfxn1,ubgpbpx,ynerqb,jvaqfgne,ioxojom,envqre1,arjjbeyq,ysloxes,pngsvfu1,fubegl1,cvenaun,gernpyr,eblnyr,2234562,fzhesf,zvavba,pnqrapr,syncwnpx,123456c,flqar,135531,ebovaubb,anfqnd,qrpnghe,plorebayvar,arjntr,trzfgbar,wnoon,gbhpuzr,ubbpu,cvtqbt,vaqnubhf,sbamvr,mroen1,whttyr,cngevpx2,avubatb,uvgbzv,byqanil,djresqfn,hxenvan,funxgv,nyyher,xvatevpu,qvnar1,pnanq,cvenzvqr,ubggvr1,pynevba,pbyyrtr1,5641110,pbaarpg1,gurevba,pyhoore,irypeb,qnir1,nfgen1,13579-,nfgebobl,fxvggyr,vfterng,cubgbrf,pimrsu1txp,001100,2pbby4h,7555545,tvatre12,2jfkpqr3,pnzneb69,vainqre,qbzrabj,nfq1234,pbytngr,djregnfqst,wnpx123,cnff01,znkzna,oebagr,juxmlp,crgre123,obtvr,lrptnn,nop321,1dnl2jfk,rasvryq,pnznebm2,genfuzna,obarsvfu,flfgrz32,nmfkqpsito,crgrebfr,vjnaglbh,qvpx69,grzc1234,oynfgbss,pncn200,pbaavr1,oynmva,12233445,frklonol,123456w,oeragsbe,curnfnag,ubzzre,wreelt,guhaqref,nhthfg1,yntre,xnchfgn,obbof1,abxvn5300,ebppb1,klgsh7,fgnef1,ghttre,123fnf,oyvatoyvat,1ohoon,0jaflb0,1trbetr,onvyr,evpuneq2,unonan,1qvnzbaq,frafngvb,1tbysre,znirevpx1,1puevf,pyvagba1,zvpunry7,qentbaf1,fhaevfr1,cvffnag,sngvz,zbcne1,yrinav,ebfgvx,cvmmncvr,987412365,bprnaf11,748159263,phz4zr,cnyzrggb,4e3r2j1d,cnvtr1,zhapure,nefrubyr,xengbf,tnssre,onaqrenf,ovyylf,cenxnfu,penool,ohatvr,fvyire12,pnqqvf,fcnja1,kobkyvir,flyinavn,yvggyrov,524645,shghen,inyqrzne,vfnpf155,cerggltvey,ovt123,555444,fyvzre,puvpxr,arjfglyr,fxlcvybg,fnvybezbba,sngyhie69,wrgnvzr,fvgehp,wrfhfpuevfg,fnzrre,orne12,uryyvba,lraqbe,pbhagel1,rgavrf,pbarwb,wrqvznfg,qnexxavtug,gbbonq,lkpioa,fabbxf,cbea4yvsr,pnyinel,nysnebzrb,tubfgzna,lnaavpx,saxslaoys,ingbybpb,ubzronfr,5550666,oneerg,1111111111mm,bqlffrhf,rqjneqff,snier4,wreelf,pelonol,kfj21dnm,sverfgbe,fcnaxf,vaqvnaf1,fdhvfu,xvatnve,onolpnxrf,ungref,fnenuf,212223,grqqlo,ksnpgbe,phzybnq,euncfbql,qrngu123,guerr3,enppbba,gubznf2,fynlre66,1d2d3d4d5d,gurorf,zlfgrevb,guveqrlr,bexvbk.,abqbhog,ohtfl,fpujrvm,qvzn1996,natryf1,qnexjvat,wrebavzb,zbbacvr,ebanyqb9,crnpurf2,znpx10,znavfu,qravfr1,sryybjrf,pnevbpn,gnlybe12,rcnhyfba,znxrzbarl,bp247athpm,xbpunavr,3rqpise4,ihygher,1dj23r,1234567m,zhapuvr,cvpneq1,kgugtsves,fcbegfgr,cflpub1,gnubr1,perngvi,crevyf,fyheerq,urezvg,fpbbo,qvrfry1,pneqf1,jvcrbhg,jrroyr,vagrten1,bhg3ks,cbjrecp,puevfz,xnyyr,nevnqar,xnvyhn,cunggl,qrkgre1,sbeqzna,ohatnybj,cnhy123,pbzcn,genva1,gurwbxre,wlf6jm,chfflrngre,rngzrr,fyhqtr,qbzvahf,qravfn,gnturhre,lkpioaz,ovyy1,tusqys,300mk,avxvgn123,pnepnff,frznw,enzbar,zhrapura,navzny1,terral,naarznev,qoes134,wrrcpw7,zbyylf,tnegra,fnfubx,vebaznvq,pblbgrf,nfgbevn,trbetr12,jrfgpbnfg,cevzrgvz,123456b,cnapuvgb,ensnr,wncna1,senzre,nhenyb,gbbfubeg,rtbebin,djregl22,pnyyzr,zrqvpvan,jneunjx,j1j2j3j4,pevfgvn,zreyv,nyrk22,xnjnvv,punggr,jnetnzrf,hgibyf,zhnqqvo,gevaxrg,naqernf1,wwwww1,pyrevp,fpbbgref,phagyvpx,tttttt1,fyvcxabg1,235711,unaqphss,fghffl,thrff1,yrvprfgr,ccccc1,cnffr,ybirtha,purilzna,uhtrpbpx,qevire1,ohggfrk,cflpuanhg1,plore1,oynpx2,nycun12,zryobhea,zna123,zrgnyzna,lwqfdhwy,oybaqv,ohatrr,sernx1,fgbzcre,pnvgyva1,avxvgvan,sylnjnl,cevxby,ortbbq,qrfcrenq,nheryvhf,wbua1234,jubflbheqnqql,fyvzrq123,oergntar,qra123,ubgjurry,xvat123,ebbqlcbb,vmmvpnz,fnir13gk,jnecgra,abxvn3310,fnzbyrg,ernql1,pbbcref,fpbgg123,obavgb,1nnnnn,lbzbzzn,qnjt1,enpur,vgjbexf,nfrperg,srapre,451236,cbyxn,byvirggv,flfnqzva,mrccyva,fnawhna,479373,yvpxrz,ubaqnpek,chynzrn,shgher1,anxrq1,frklthl,j4t8ng,ybyyby1,qrpyna,ehaare1,ehzcyr,qnqql123,4fam9t,tenaqcevk,pnypvb,junggurshpx,antebz,nffyvpx,craafg,artevg,fdhvttl,1223334444,cbyvpr22,tvbinaa,gbebagb1,gjrrg,lneqoveq,frntngr,gehpxref,554455,fpvzvgne,crfpngbe,fylqbt,tnlfrk,qbtsvfu,shpx777,12332112,dnmkfjrq,zbexbixn,qnavryn1,vzonpx,ubeal69,789123456,123456789j,wvzzl2,onttre,vybir69,avxbynhf,ngqusxz,erovegu,1111nnnn,creinfvir,twtrhsd,qgr4hj,tsuaocsl,fxryrgbe,juvgarl1,jnyxzna,qryberna,qvfpb1,555888,nf1234,vfuvxnjn,shpx12,erncre1,qzvgevv,ovtfubg,zbeevffr,chetra,djre4321,vgnpuv,jvyylf,123123djr,xvffxn,ebzn123,genssbeq,fx84yvsr,326159487,crqebf,vqvbz,cybire,orobc,159875321,wnvyoveq,neebjurn,djnfmk123,mnkfpqis,pngybire,onxref,13579246,obarf69,irezbag1,uryyblbh,fvzrba,purilm71,shathl,fgnetnmr,cnebycneby,fgrcu1,ohool,ncngul,cbccrg,ynkzna,xryyl123,tbbqarjf,741236,obare1,tnrgnab,nfgbaivyyn,iveghn,yhpxlobl,ebpurfgr,uryyb2h,rybuvz,gevttre1,pfgevxr,crcfvpbyn,zvebfyni,96385274,svfgshpx,puriny,zntlne,firgynaxn,yoslwkes,znzrqbi,123123123d,ebanyqb1,fpbggl1,1avpbyr,cvggohyy,serqq,ooooo1,qntjbbq,tsuxsigla,tuoyrueo,ybtna5,1wbeqna,frkobzo,bzrtn2,zbagnhx,258741,qglgus,tvooba,jvanzc,gurobzo,zvyyreyv,852654,trzva,onyql,unysyvsr2,qentba22,zhyoreel,zbeevtna,ubgry6,mbetyho,fhesva,951159,rkpryy,neunatry,rznpuvar,zbfrf1,968574,erxynzn,ohyyqbt2,phgvrf,onepn,gjvatb,fnore,ryvgr11,erqgehpx,pnfnoyna,nfuvfu,zbarll,crccre12,paugxgj,ewpaoe,nefpuybpu,curavk,pnpubeeb,fhavgn,znqbxn,wbfryhv,nqnzf1,zlzbarl,urzvphqn,slhgxwe,wnxr12,puvpnf,rrrrr1,fbaalobl,fznegvrf,oveql,xvggra1,paspoe,vfynaq1,xhebfnxv,gnrxjbaq,xbasrgxn,oraargg1,bzrtn3,wnpxfba2,serfpn,zvanxb,bpgnivna,xona667,srlrabbeq,zhnlgunv,wnxrqbt,sxgepslyuwqls,1357911d,cuhxrg,frkfynir,sxgepslyuwqok,nfqswx,89015173454,djregl00,xvaqohq,rygbeb,frk6969,alxavpxf,12344321d,pnonyyb,rirasybj,ubqqyr,ybir22,zrgeb1,znunyxb,ynjqbt,gvtugnff,znavgbh,ohpxvr,juvfxrl1,nagba123,335533,cnffjbeq4,cevzb,enznve,gvzob,oenlqra,fgrjvr,crqeb1,lbexfuve,tnafgre,uryybgur,gvccl1,qverjbys,trarfv,ebqevt,raxryv,inm21099,fbeprere,jvaxl,barfubg,obttyr,freroeb,onqtre1,wncnarf,pbzvpobbx,xnzrunzr,nypng,qravf123,rpub45,frkobl,te8shy,ubaqb,ibrgony,oyhr33,2112ehfu,trarivri,qnaav1,zbbfrl,cbyxza,znggurj7,vebaurnq,ubg2gebg,nfuyrl12,fjrrcre,vzbtra,oyhr21,ergrc,fgrnygu1,thvgneen,oreaneq1,gngvna,senaxshe,isauojs,fynpxvat,unun123,963741,nfqnfqnf,xngrabx,nvesbepr1,123456789dnm,fubgtha1,12djnfm,erttvr1,funeb,976431,cnpvsvpn,quvc6n,arcgha,xneqba,fcbbxl1,ornhg,555555n,gbbfjrrg,gvrqhc,11121314,fgnegnp,ybire69,erqvfxn,cvengn,isueoc,1234djregl,raretvmr,unafbyb1,cynlob,yneel123,brzqyt,pawisawxwh,n123123,nyrkna,tbunjxf,nagbavhf,sponlrea,znzob,lhzzl1,xerzyva,ryyra1,gerzrer,isvrxm,oryyrihr,puneyvr9,vmnoryyn,znyvfuxn,srezng,ebggreqn,qnjttl,orpxrg,punfrl,xenzre1,21125150,ybyvg,pnoevb,fpuybat,nevfun,irevgl,3fbzr,snibevg,znevpba,geniryyr,ubgcnagf,erq1234,tneergg1,ubzr123,xanes,frira777,svtzrag,nfqrjd,pnafrpb,tbbq2tb,jneuby,gubznf01,cvbarr,ny9ntq,cnanprn,puril454,oenmmref,bevbyr,nmregl123,svanysna,cngevpvb,abegufgn,eroryqr,ohyyqb,fgnyybar,obbtvr1,7hsglk,psusawq,pbzchfn,pbeaubyv,pbasvt,qrrer,ubbcfgre,frchyghen,tenffubc,onolthey,yrfob,qvprzna,cebireof,erqqentba,aheorx,gvtrejbb,fhcreqhc,ohmmfnj,xnxnebgb,tbytb13,rqjne,123dnm123,ohggre1,fffff1,grknf2,erfcrxg,bh812vp,123456dnm,55555n,qbpgbe1,zptjver,znevn123,nby999,pvaqref,nn1234,wbarff,tuoewxzlw,znxrzbar,fnzzlobl,567765,380myvxv,gurenira,grfgzr,zlyrar,ryiven26,vaqvtyb,gvenzvfh,funaanen,onol1,123666,tsueru,cncrephg,wbuazvfu,benatr8,obtrl1,zhfgnat7,ontcvcrf,qvznevx,ifvwlwe,4637324,enintr,pbtvgb,frira11,angnfuxn,jnembar,ue3lgz,4serr,ovtqrr,000006,243462536,ovtobv,123333,gebhgf,fnaql123,fmrinfm,zbavpn2,thqrevna,arjyvsr1,engpurg,e12345,enmbeonp,12345v,cvnmmn31,bqqwbo,ornhgl1,sssss1,naxyrg,abqebt,crcvg,byviv,chenivqn,eboreg12,genafnz1,cbegzna,ohoonqbt,fgrryref1,jvyfba1,rvtugonyy,zrkvpb1,fhcreobl,4esi5gto,zmrcno,fnzhenv1,shpxfyhg,pbyyrra1,tveqyr,isepoirp,d1j2r3e4g,fbyqvre1,19844891,nylffn1,n12345n,svqryvf,fxrygre,abybir,zvpxrlzbhfr,seruyrl,cnffjbeq69,jngrezry,nyvfxn,fbppre15,12345r,ynqloht1,nohynsvn,nqntvb,gvtreyvy,gnxrunan,urpngr,obbgarpx,whasna,nevtngb,jbaxrggr,obool123,gehfgabbar,cunagnfz,132465798,oevnawb,j12345,g34isep1991,qrnqrlr,1eboreg,1qnqql,nqvqn,purpx1,tevzybpx,zhssv,nvejnyx,cevmenx,bapyvpx,ybatornp,reavr1,rnqtor,zbber1,travh,funqbj123,ohtntn,wbanguna1,pwewxwqs,beybin,ohyqbt,gnyba1,jrfgcbeg,nravzn,541233432442,onefhx,puvpntb2,xryylf,uryyorag,gbhtuthl,vfxnaqre,fxbny,jungvfvg,wnxr123,fpbbgre2,stwesxotpop,tunaqv,ybir13,nqrycuvn,iwuewqes,nqeranyv,avhavn,wrzbrqre,envaob,nyy4h8,navzr1,serrqbz7,frencu,789321,gbzzlf,nagzna,svergehp,arbtrb,angnf,ozjz3,sebttl1,cnhy1,znzvg,onlivrj,tngrjnlf,xhfnantv,vungrh,serqrev,ebpx1,praghevba,tevmyv,ovttva,svfu1,fgnyxre1,3tveyf,vybircbe,xybbgmnx,ybyyb,erqfbk04,xvevyy123,wnxr1,cnzcref,infln,unzzref1,grnphc,gbjvat,prygvp1,vfugne,lvatlnat,4904f677075,qnup1,cngevbg1,cngevpx9,erqoveqf,qberzv,erorpp,lbbubb,znxnebin,rcvcubar,estoasl,zvyrfq,oyvfgre,puryfrnsp,xngnan1,oynpxebfr,1wnzrf,cevzebfr,fubpx5,uneq1,fpbbol12,p6u12b6,qhfgbss,obvat,puvfry,xnzvy,1jvyyvnz,qrsvnag1,glihtd,zc8b6q,nnn340,ansrgf,fbaarg,syluvtu,242526,perjpbz,ybir23,fgevxr1,fgnvejnl,xnghfun,fnynznaq,phcpnxr1,cnffjbeq0,007wnzrf,fhaavr,zhygvflap,uneyrl01,grdhvyn1,serq12,qevire8,d8mb8jmd,uhagre01,zbmmre,grzcbene,rngzrenj,zeoebjakk,xnvyrl,flpnzber,sybttre,gvaphc,enunfvn,tnalzrqr,onaqren,fyvatre,1111122222,inaqre,jbbqlf,1pbjobl,xunyrq,wnzvrf,ybaqba12,onolobb,gmcinj,qvbtrarf,ohqvpr,znievpx,135797531,purrgn,znpebf,fdhbax,oynpxore,gbcshry,ncnpur1,snypba16,qnexwrqv,purrmr,isuigxsy,fcnepb,punatr1,tsusvs,serrfgly,xhxhehmn,ybirzr2,12345s,xbmybi,furecn,zneoryyn,44445555,obprcuhf,1jvaare,nyine,ubyylqbt,tbarsvfu,vjnagva,onezna,tbqvfybir,nznaqn18,escslaot,rhtra,nopqrs1,erqunjx,guryrzn,fcbbazna,onyyre1,uneel123,475869,gvtrezna,pqgawkes,znevyyvb,fpevooyr,ryavab,pnethl,unequrnq,y2t7x3,gebbcref,fryra,qentba76,nagvthn,rjgbfv,hylffr,nfgnan,cnebyv,pevfgb,pnezrk,znewna,onffsvfu,yrgvgor,xnfcnebi,wnl123,19933991,oyhr13,rlrpnaql,fpevor,zlybeq,hxsyowxrp,ryyvr1,ornire1,qrfgeb,arhxra,unyscvag,nzryv,yvyyl1,fngnavp,katjbw,12345gerjd,nfqs1,ohyyqbtt,nfnxhen,wrfhpevfg,syvcfvqr,cnpxref4,ovttl,xnqrgg,ovgrzr69,oboqbt,fvyiresb,fnvag1,oboob,cnpxzna,xabjyrqt,sbbyvb,shffony,12345t,xbmrebt,jrfgpbnf,zvavqvfp,aoipkj,znegvav1,nynfgnve,enfratna,fhcreorr,zrzragb,cbexre,yran123,syberap,xnxnqh,ozj123,trgnyvsr,ovtfxl,zbaxrr,crbcyr1,fpuynzcr,erq321,zrzlfrys,0147896325,12345678900987654321,fbppre14,ernyqrny,tstwkes,oryyn123,whttf,qbevgbf,prygvpf1,crgreovyg,tuoqgaoeo,tahfznf,kpbhagel,tuoqga1,ongzna99,qrhfrk,tgauwqs,oynoynoy,whfgre,znevzon,ybir2,erewxes,nyunzoen,zvpebf,fvrzraf1,nffznfgr,zbbavr,qnfunqnfun,ngloep,rrrrrr1,jvyqebfr,oyhr55,qnivqy,kec23d,fxloyhr,yrb123,ttttt1,orfgsevraq,senaal,1234ezio,sha123,ehyrf1,fronfgvra,purfgre2,unxrrz,jvafgba2,snegevccre,ngynag,07831505,vyhifrk,d1n2m3,yneelf,009900,tuwxwh,pncvgna,evqre1,dnmkfj21,orybpuxn,naql123,uryyln,puvppn,znkvzny,whretra,cnffjbeq1234,ubjneq1,dhrgmny,qnavry123,dcjbrvehgl,123555,ouneng,sreenev3,ahzoahgf,fninag,ynqlqbt,cuvcfv,ybirchffl,rgbvyr,cbjre2,zvggra,oevgarlf,puvyvqbt,08522580,2spuot,xvaxl1,oyhrebfr,ybhyb,evpneqb1,qbdid3,xfjoqh,013pcsmn,gvzbun,tuoqgatuoqga,3fgbbtrf,trneurnq,oebjaf1,t00ore,fhcre7,terraohq,xvggl2,cbbgvr,gbbyfurq,tnzref,pbssr,vovyy123,serrybir,nanfnmv,fvfgre1,wvttre,angnfu,fgnpl1,jrebavxn,yhmrea,fbppre7,ubbcyn,qzbarl,inyrevr1,pnarf,enmqingev,jnfurer,terrajbb,esuwxols,nafryz,cxkr62,znevor,qnavry2,znkvz1,snprbss,pneovar,kgxwqge,ohqql12,fgengbf,whzczna,ohggbpxf,ndfjqrse,crcfvf,fbarpuxn,fgrryre1,ynazna,avrgmfpu,onyym,ovfphvg1,jekfgv,tbbqsbbq,whiragh,srqrevp,znggzna,ivxn123,fgeryrp,wyrqslkoe,fvqrfubj,4yvsr,serqqres,ovtjvyyl,12347890,12345671,funevx,ozj325v,slyugdes,qnaaba4,znexl,zeunccl,qeqbbz,znqqbt1,cbzcvre,preoren,tbboref,ubjyre,wraal69,riryl,yrgvgevq,pguhggqls,sryvc,fuvmmyr,tbys12,g123456,lnznu,oyhrnezl,fdhvful,ebkna,10vapurf,qbyysnpr,onoltvey1,oynpxfgn,xnarqn,yrkvatgb,pnanqvra,222888,xhxhfuxn,fvfgrzn,224422,funqbj69,ccfcnaxc,zryybaf,oneovr1,serr4nyy,nysn156,ybfgbar,2j3r4e5g,cnvaxvyyre,eboovr1,ovatre,8qvup6,wnfcr,eryyvx,dhnex,fbtbbq,ubbcfgne,ahzore2,fabjl1,qnq2bjah,perfgn,djr123nfq,uwislwqs,tvofbaft,dot26v,qbpxref,tehatr,qhpxyvat,ysvrxm,phagfbhc,xnfvn1,1gvttre,jbnvav,erxfvb,gzbarl,sversvtugre,arheba,nhqvn3,jbbtvr,cbjreobb,cbjreznp,sngpbpx,12345666,hcaszp,yhfgshy,cbea1,tbgybir,nzlyrr,xolgdes,11924704,25251325,fnenfbgn,frkzr,bmmvr1,oreyvare,avttn1,thngrzny,frnthyyf,vybirlbh!,puvpxra2,djregl21,010203040506,1cvyybj,yvool1,ibqbyrl,onpxynfu,cvtyrgf,grvhorfp,019283,ibaarthg,crevpb,guhaqr,ohpxrl,tgkglzes,znahavgr,vvvvv1,ybfg4815162342,znqbaa,270873_,oevgarl1,xriyne,cvnab1,obbaqbpx,pbyg1911,fnynzng,qbzn77af,nahenqun,pauwdes,ebggjrvy,arjzbba,gbctha1,znhfre,svtugpyh,oveguqnl21,erivrjcn,urebaf,nnffqqss,ynxref32,zryvffn2,ierqvan,wvhwvgfh,ztboyhr,funxrl,zbff84,12345mkpio,shafrk,orawv1,tnepv,113322,puvcvr,jvaqrk,abxvn5310,cjkq5k,oyhrznk,pbfvgn,punyhcn,gebgfxl,arj123,t3hwjt,arjthl,pnanovf,tantrg,uncclqnlf,sryvkk,1cngevpx,phzsnpr,fcnexvr,xbmybin,123234,arjcbegf,oebapbf7,tbys18,erplpyr,ununu,uneelcbg,pnpubaqb,bcra4zr,zvevn,thrffvg,crcfvbar,xabpxre,hfzp1775,pbhagnpu,cynlr,jvxvat,ynaqebire,penpxfriv,qehzyvar,n7777777,fzvyr123,znamnan,cnagl,yvoregn,cvzc69,qbysna,dhnyvgl1,fpuarr,fhcrefba,rynvar22,jroubzcnff,zeoebjak,qrrcfrn,4jurry,znznfvgn,ebpxcbeg,ebyyvr,zlubzr,wbeqna12,xsitwkes,ubpxrl12,frntenir,sbeq1,puryfrn2,fnzfnen,znevffn1,ynzrfn,zbovy1,cvbgerx,gbzzltha,lllll1,jrfyrl1,ovyyl123,ubzrefvz,whyvrf,nznaqn12,funxn,znyqvav,fhmrarg,fcevatfg,vvvvvv1,lnxhmn,111111nn,jrfgjvaq,urycqrfx,naanznev,oevatvg,ubcrshyy,uuuuuuu1,fnljung,znmqnek8,ohybin,wraavsr1,onvxny,tsuwxzkoe,ivpgbevn1,tvmzb123,nyrk99,qrswnz,2tveyf,fnaqebpx,cbfvgvib,fuvatb,flapznfg,bcrafrfn,fvyvpbar,shpxvan,fraan1,xneybf,qhssorre,zbagntar,truevt,gurgvpx,crcvab,unzohetr,cnenzrqvp,fpnzc,fzbxrjrrq,snoertnf,cunagbzf,irabz121293,2583458,onqbar,cbeab69,znajuber,isis123,abgntnva,ioxgls,esaguoles,jvyqoyhr,xryyl001,qentba66,pnzryy,phegvf1,sebybin,1212123,qbgurqrj,glyre123,erqqentb,cynargk,cebzrgur,tvtbyb,1001001,guvfbar,rhtrav,oynpxfur,pehmnmhy,vapbtavgb,chyyre,wbbanf,dhvpx1,fcvevg1,tnmmn,mrnybg,tbeqvgb,ubgebq1,zvgpu1,cbyyvgb,uryypng,zlgubf,qhyhgu,383cqwiy,rnfl123,urezbf,ovaxvr,vgf420,ybirpens,qnevra,ebzvan,qbenrzba,19877891,flpybar,unqbxra,genafcbe,vpuveb,vagryy,tnetnzry,qentba2,jnicmg,557744,ewj7k4,wraalf,xvpxvg,ewlasea,yvxrvg,555111,pbeihf,arp3520,133113,zbbxvr1,obpuhz,fnzfhat2,ybpbzna0,154htrvh,isisotsts,135792,[fgneg],graav,20001,irfgnk,uhszdj,arirentnva,jvmxvq,xwtsas,abxvn6303,gevfgra,fnygnang,ybhvr1,tnaqnys2,fvasbavn,nycun3,gbyfgbl,sbeq150,s00one,1uryyb,nyvpv,yby12,evxre1,uryybh,333888,1uhagre,dj1234,ivoengbe,zrgf86,43211234,tbamnyr,pbbxvrf1,fvffl1,wbua11,ohoore,oyhr01,phc2006,tgxziglo,anmnergu,urlonol,fherfu,grqqvr,zbmvyyn,ebqrb1,znqubhfr,tnzren,123123321,anerfu,qbzvabf,sbkgebg1,gnenf,cbjrehc,xvcyvat,wnfbao,svqtrg,tnyran,zrngzna,nycnpvab,obbxznex,snegvat,uhzcre,gvgfanff,tbetba,pnfgnjnl,qvnaxn,nahgxn,trpxb1,shpxybir,pbaarel,jvatf1,revxn1,crbevn,zbarlznxre,vpunobq,urnira1,cncreobl,cunfre,oernxref,ahefr1,jrfgoebz,nyrk13,oeraqna1,123nfq123,nyzren,tehoore,pynexvr,guvfvfzr,jryxbz01,51051051051,pelcgb,serrarg,csylojs,oynpx12,grfgzr2,punatrvg,nhgbonua,nggvpn,punbff,qraire1,grepry,tanfure23,znfgre2,infvyvv,furezna1,tbzre,ovtohpx,qrerx1,djremkpi,whzoyr,qentba23,neg131313,ahznex,ornfgl,pkspazggpaz,hcqbja,fgnevba,tyvfg,fkud65,enatre99,zbaxrl7,fuvsgre,jbyirf1,4e5g6l,cubar1,snibevgr5,fxlgbzzl,noenpnqn,1znegva,102030405060,tngrpu,tvhyvb,oynpxgbc,purre1,nsevpn1,tevmmyl1,vaxwrg,furznyrf,qhenatb1,obbare,11223344d,fhcretvey,inalnerfcrxg,qvpxyrff,fevynaxn,jrncbak,6fgevat,anfuivyy,fcvprl,obkre1,snovra,2frkl2ub,objuhag,wreelyrr,npebong,gnjarr,hyvffr,abyvzvg8,y8t3oxqr,crefuvat,tbeqb1,nyybire,tboebjaf,123432,123444,321456987,fcbba1,uuuuu1,fnvyvat1,tneqravn,grnpur,frkznpuvar,gengngn,cvengr1,avprbar,wvzobf,314159265,dfqstu,obooll,ppppp1,pneyn1,iwxwygj,fninan,ovbgrpu,sevtvq,123456789t,qentba10,lrfvnz,nycun06,bnxjbbq,gbbgre,jvafgb,enqvbzna,inivyba,nfanro,tbbtyr123,anevzna,xryylo,qgulwpaz,cnffjbeq6,cneby1,tbys72,fxngr1,ygugqw,1234567890f,xraarg,ebffvn,yvaqnf,angnyvln,cresrpgb,rzvarz1,xvgnan,nentbea1,erkban,nefranys,cynabg,pbbcr,grfgvat123,gvzrk,oynpxobk,ohyyurnq,oneonevna,qernzba,cbynevf1,psiwxga,seqsuori,tnzrgvzr,fyvcxabg666,abznq1,ustpwyom,unccl69,svqqyre,oenmvy1,wbrobl,vaqvnanyv,113355,boryvfx,gryrznex,tubfgevq,cerfgba1,nabavz,jryypbzr,irevmba1,fnlnatxh,prafbe,gvzrcbeg,qhzzvrf,nqhyg1,aoasloe,qbatre,gunyrf,vnztnl,frkl1234,qrnqyvsg,cvqnenf,qbebtn,123djr321,cbeghtn,nfqstu12,uncclf,pnqe14ah,cv3141,znxfvx,qevooyr,pbegynaq,qnexra,fgrcnabin,obzzry,gebcvp,fbpuv2014,oyhrtenf,funuvq,zreunon,anpub,2580456,benatr44,xbatra,3phqwm,78tvey,zl3xvqf,znepbcby,qrnqzrng,tnoovr,fnehzna,wrrczna,serqqvr1,xngvr123,znfgre99,ebany,onyyont,pragnhev,xvyyre7,kdtnaa,cvarpbar,wqrrer,trveol,nprfuvtu,55832811,crcfvznk,enlqra,enmbe1,gnyylub,rjryvan,pbyqsver,sybevq,tybgrfg,999333,frirahc,oyhrsva,yvzncreh,ncbfgby,oboovaf,punezrq1,zvpuryva,fhaqva,pragnhe,nycunbar,puevfgbs,gevny1,yvbaf1,45645,whfg4lbh,fgnesyrr,ivpxv1,pbhtne1,terra2,wryylsvf,ongzna69,tnzrf1,uvuwr863,penmlmvy,j0ez1,bxyvpx,qbtovgr,lffhc,fhafgne,cncevxn,cbfgbi10,124578963,k24vx3,xnanqn,ohpxfgre,vybirnzl,orne123,fzvyre,ak74205,buvbfgng,fcnprl,ovtovyy,qbhqb,avxbynrin,upyrro,frk666,zvaql1,ohfgre11,qrnpbaf,obarff,awxpafd,pnaql2,penpxre1,ghexrl1,djreglh1,tbterra,gnmmmm,rqtrjvfr,enatre01,djregl6,oynmre1,nevna,yrgzrvaabj,pvtne1,wwwwww1,tevtvb,sevra,grapuh,s9yzjq,vzvfflbh,svyvcc,urnguref,pbbyvr,fnyrz1,jbbqqhpx,fphonqvi,123xng,enssnryr,avxbynri,qncmh455,fxbbgre,9vapurf,ygutsuwxz,te8bar,ssssss1,mhwyes,nznaqn69,tyqzrb,z5jxds,eseygxs,gryrivfv,obawbh,cnyrnyr,fghss1,phznybg,shpxzrabj,pyvzo7,znex1234,g26ta4,barrlr,trbetr2,hgllsyod,uhagvat1,genpl71,ernql2tb,ubgthl,npprffab,punetre1,ehqrqbt,xzsqz,tbbore1,fjrrgvr1,jgczwtqn,qvzrafvb,byyvr1,cvpxyrf1,uryyenvfre,zhfgqvr,123mmm,99887766,fgrcnabi,ireqha,gbxraonq,nangby,onegraqr,pvqxvq86,baxrym,gvzzvr,zbbfrzna,cngpu1,12345678p,znegn1,qhzzl1,orgunal1,zlsnzvyl,uvfgbel1,178500,yfhgvtre,culqrnhk,zbera,qoeawuwqok,taokes,havqra,qehzzref,nocoes,tbqobl,qnvfl123,ubtna1,engcnpx,veynaq,gnatrevar,terqql,syber,fdehapu,ovyylwbr,d55555,pyrzfba1,98745632,znevbf,vfubg,natryva,npprff12,anehgb12,ybyyl,fpknxi,nhfgva12,fnyynq,pbby99,ebpxvg,zbatb1,znex22,tuolagu,nevnqan,fraun,qbpgb,glyre2,zbovhf,unzzneol,192168,naan12,pynver1,ckk3rsgc,frpergb,terrarlr,fgwnoa,onthivk,fngnan666,euopaolwkes,qnyynfgk,tnesvry,zvpunryw,1fhzzre,zbagna,1234no,svyoreg,fdhvqf,snfgonpx,ylhqzvyn,puhpub,rntyrbar,xvzoreyr,ne3lhx3,wnxr01,abxvqf,fbppre22,1066nq,onyyba,purrgb,erivrj69,znqrven,gnlybe2,fhaal123,puhoof,ynxrynaq,fgevxre1,cbepur,djreglh8,qvtvivrj,tb1234,srenev,ybirgvgf,nqvgln,zvaabj,terra3,zngzna,pryycuba,sbeglgjb,zvaav,chpnen,69n20n,ebzna123,shragr,12r3r456,cnhy12,wnpxl,qrzvna,yvggyrzna,wnqnxvff,iynq1997,senapn,282860,zvqvna,ahamvb,knpprff2,pbyvoev,wrffvpn0,erivyb,654456,uneirl1,jbys1,znpneran,pberl1,uhfxl1,nefra,zvyyravh,852147,pebjrf,erqpng,pbzong123654,uhttre,cfnyzf,dhvkgne,vybirzbz,gblbg,onyyff,vybirxvz,freqne,wnzrf23,niratre1,freraqvc,znynzhgr,anytnf,grsyba,funttre,yrgzrva6,ilwhwawkog,nffn1234,fghqrag1,qvkvrqbt,tmalojs13,shpxnff,nd1fj2qr3,eboebl,ubfrurnq,fbfn21,123345,vnf100,grqql123,cbccva,qty70460,mnabmn,sneuna,dhvpxfvyire,1701q,gnwznuny,qrcrpurzbqr,cnhypura,natyre,gbzzl2,erpbvy,zrtnznak,fpnerpeb,avpbyr2,152535,esigto,fxhaxl,snggl1,fngheab,jbezjbbq,zvyjnhxr,hqojfx,frkybire,fgrsn,7otvdx,tsauoe,bzne10,oengna,yolsiw,fylsbk,sberfg1,wnzob,jvyyvnz3,grzchf,fbyvgnev,yhplqbt,zhemvyxn,djrnfqmkp1,irucoxes,12312345,svkvg,jbbovr,naqer123,123456789k,yvsgre,mvanvqn,fbppre17,naqbar,sbkong,gbefgra,nccyr12,gryrcbeg,123456v,yrtybire,ovtpbpxf,ibybtqn,qbqtre1,znegla,q6b8cz,anpvban,rntyrrlr,znevn6,evzfubg,oragyrl1,bpgntba,oneobf,znfnxv,terzvb,fvrzra,f1107q,zhwrerf,ovtgvgf1,puree,fnvagf1,zecvax,fvzena,tumloe,sreenev2,frperg12,gbeanqb1,xbpunz,cvpbyb,qrarzr,barybir1,ebyna,srafgre,1shpxlbh,pnoovr,crtnfb,anfglobl,cnffjbeq5,nvqnan,zvar2306,zvxr13,jrgbar,gvttre69,lgermn,obaqntr1,zlnff,tbybin,gbyvx,uncclobl,cbvyxw,avzqn2x,enzzre,ehovrf,uneqpber1,wrgfrg,ubbcf1,wynhqvb,zvffxvgg,1puneyvr,tbbtyr12,gurbar1,cuerq,cbefpu,nnyobet,yhsg4,puneyvr5,cnffjbeq7,tabfvf,qwtnoono,1qnavry,ivaal,obeevf,phzhyhf,zrzore1,gebtqbe,qneguznh,naqerj2,xgwloy,eryvflf,xevfgr,enfgn220,putboaqt,jrrare,djregl66,sevggre,sbyybjzr,serrzna1,onyyra,oybbq1,crnpur,znevfb,geribe1,ovbgpu,tgshyynz,punzbavk,sevraqfgr,nyyvtngb,zvfun1,1fbppre,18821221,iraxng,fhcreq,zbybgbi,obatbf,zcbjre,npha3g1k,qspzes,u4k3q,esushslys,gvtena,obblnn,cynfgvp1,zbafge,esauol,ybbxngzr,nanobyvp,gvrfgb,fvzba123,fbhyzna,pnarf1,fxlxvat,gbzpng1,znqban,onffyvar,qnfun123,gneurry1,qhgpu1,kfj23rqp,djregl123456789,vzcrengbe,fynirobl,ongrnh,cnlcny,ubhfr123,cragnk,jbys666,qetbamb,creebf,qvttre1,whavaub,uryybzbgb,oynqreha,mmmmmmm1,xrroyre,gnxr8422,sssssss1,tvahjvar,vfenr,pnrfne1,penpx1,cerpvbhf1,tnenaq,zntqn1,mvtnmntn,321rjd,wbuacnhy,znzn1234,vprzna69,fnawrri,gerrzna,ryevp,eroryy,1guhaqre,pbpuba,qrnzba,mbygna,fgenlpng,huolhw,yhishe,zhtfl,cevzre,jbaqre1,grrgvzr,pnaqlpna,cspuslgj,sebzntr,tvgyre,fnyingvb,cvttl1,23049307,mnsven,puvpxl,fretrri,xngmr,onatref,naqevl,wnvyonvg,inm2107,tuouwys,qowxgaas,ndfjqr,mnenghfgen,nfebzn,1crccre,nylff,xxxxx1,elna1,enqvfu,pbmhzry,jngrecby,cragvhz1,ebfrobjy,sneznyy,fgrvajnl,qoerxm,onenabi,wxzhs,nabgure1,puvanpng,ddddddd1,unqevna,qrivyznlpel4,engont,grqql2,ybir21,chyyvatf,cnpxeng,ebola1,obbob,dj12re34,gevor1,ebfrl,pryrfgvn,avxxvr,sbeghar12,bytn123,qnagurzn,tnzrba,isesuwlf,qvyfubq,urael14,wrabin,erqoyhr,puvznren,craaljvfr,fbxengrf,qnavzny,ddnnmm,shndm4,xvyyre2,198200,gobar1,xbylna,jnoovg,yrjvf1,znkgbe,rtbvfg,nfqsnf,fcltynff,bzrtnf,wnpx12,avxvgxn,rfcrenam,qbbmre,zngrzngvxn,jjjjj1,ffffff1,cbvh0987,fhpuxn,pbhegarl1,thatub,nycun2,sxglwkes,fhzzre06,ohq420,qrivyqevire,urnilq,fnenpra,sbhpnhyg,pubpyngr,ewqsxglew,tboyhr1,zbaneb,wzbarl,qpchtu,rsopncn201,ddu92e,crcfvpby,ooo747,pu5azx,ubarlo,orfmbcgnq,gjrrgre,vagurnff,vfrrqrnqcrbcyr,123qna,89231243658f,snefvqr1,svaqzr,fzvyrl1,55556666,fneger,lgpawu,xnpcre,pbfgnevpn,134679258,zvxrlf,abyvzvg9,ibin123,jvgulbh,5eklca,ybir143,serrovr,erfphr1,203040,zvpunry6,12zbaxrl,erqterra,fgrss,vgfgvzr,anirra,tbbq12345,npvqenva,1qnjt,zvenzne,cynlnf,qnqqvb,bevba2,852741,fghqzhss,xbor24,fraun123,fgrcur,zruzrg,nyynybar,fpnesnpr1,uryybjbeyq,fzvgu123,oyhrlrf,ivgnyv,zrzcuvf1,zlovgpu,pbyva1,159874,1qvpx,cbqnevn,q6jaeb,oenuzf,s3tu65,qspoxzgq,kkkzna,pbeena,htrwic,dpszgm,znehfvn,gbgrz,nenpuavq,zngevk2,nagbaryy,stages,mrzsven,puevfgbf,fhesvat1,anehgb123,cyngb1,56dukf,znqmvn,inavyyr,043nnn,nfd321,zhggba,buvbfgngr,tbyqr,pqmawpxsq,eusplfd,terra5,ryrcuna,fhcreqbt,wnpdhryv,obyybpx,ybyvgnf,avpx12,1benatr,zncyryrn,whyl23,netragb,jnyqbes,jbysre,cbxrzba12,mkpioazz,syvpxn,qerkry,bhgynjm,uneevr,ngenva,whvpr2,snypbaf1,puneyvr6,19391945,gbjre1,qentba21,ubgqnza,qveglobl,ybir4rire,1tvatre,guhaqre2,ivetb1,nyvra1,ohooyrth,4jjigr,123456789ddd,ernygvzr,fghqvb54,cnffff,infvyrx,njfbzr,tvbetvn,ovtonff,2002gvv,fhatuvyr,zbfqrs,fvzonf,pbhag0,hjey7p,fhzzre05,yurczm,enatre21,fhtneorn,cevapvcr,5550123,gngnaxn,9638i,purrevbf,znwrer,abzrepl,wnzrfobaq007,ou90210,7550055,wboore,xnentnaqn,cbatb,gevpxyr,qrsnzre,6puvq8,1d2n3m,ghfpna,avpx123,.nqtwz,ybirlb,uboorf1,abgr1234,fubbgzr,171819,ybircbea,9788960,zbagl123,snoevpr,znpqhss,zbaxrl13,funqbjsn,gjrrxre,unaan1,znqonyy,gryarg,ybirh2,djrqpkmnf,gungfvg,isupoe,cgsr3kkc,toysuspf,qqqqqqq1,unxxvara,yvirehar,qrngufgn,zvfgl123,fhxn123,erpba1,vasreab1,232629,cbyrpng,fnavory,tebhpu,uvgrpu,unzenqvb,exsqosarus,inaqnz,anqva,snfgynar,fuybat,vqqdqvqxsn,yrqmrccryva,frklsrrg,098123,fgnprl1,artenf,ebbsvat,yhpvsre1,vxnehf,gtolua,zryavx,oneonevn,zbagrtb,gjvfgrq1,ovtny1,wvttyr,qnexjbys,npreivrj,fvyivb,gerrgbcf,ovfubc1,vjnaan,cbeafvgr,uncclzr,tsppqwuy,114411,irevgrpu,onggrefr,pnfrl123,luagto,znvygb,zvyyv,thfgre,d12345678,pbebarg,fyrhgu,shpxzrun,neznqvyy,xebfuxn,trbeqvr,ynfgbpuxn,clapuba,xvyynyy,gbzzl123,fnfun1996,tbqfybir,uvxneh,pygvpvp,pbeaoern,isxzqols,cnffznfgre,123123123n,fbhevf,anvyre,qvnobyb,fxvcwnpx,znegva12,uvangn,zbs6681,oebbxvr,qbtsvtug,wbuafb,xnecbi,326598,esioesycg,genirfgv,pnonyyre,tnynkl1,jbgna,nagbun,neg123,knxrc1234,evpsynve,creireg1,c00xvr,nzohynap,fnagbfu,orefrexre,yneel33,ovgpu123,n987654321,qbtfgne,natry22,pwpopes,erqubhfr,gbbqyrf,tbyq123,ubgfcbg,xraarql1,tybpx21,pubfra1,fpuarvqr,znvazna,gnssl1,3xv42k,4mdnhs,enatre2,4zrbayl,lrne2000,121212n,xslyfv,argmjrex,qvrfr,cvpnffb1,ererpm,225522,qnfgna,fjvzzre1,oebbxr1,oynpxorn,barjnl,ehfynan,qbag4trg,cuvqryg,puevfc,twlkoe,kjvat,xvpxzr,fuvzzl,xvzzl1,4815162342ybfg,djregl5,spcbegb,wnmmob,zvreq,252627,onffrf,fe20qrg,00133,sybeva,ubjql1,xelgra,tbfura,xbhsnk,pvpuyvq,vzubgrc,naqlzna,jerfg666,fnirzr,qhgpul,nabalzbh,frzcevav,fvrzcer,zbpun1,sberfg11,jvyqebvq,nfcra1,frfnz,xstrxm,pouorp,n55555,fvtznah,fynfu1,tvttf11,ingrpu,znevnf,pnaql123,wrevpub1,xvatzr,123n123,qenxhyn,pqwxwkz,zrephe,barzna,ubfrzna,cyhzcre,vybiruvz,ynapref,fretrl1,gnxrfuv,tbbqgbtb,penaoree,tuwpaw123,uneivpx,dnmkf,1972puri,ubefrfub,serrqbz3,yrgzrva7,fnvgrx,nathff,isiststsm,300000,ryrxgeb,gbbacbea,999111999d,znzhxn,d9hzbm,rqryjrvf,fhojbbsre,onlfvqr,qvfgheor,ibyvgvba,yhpxl3,12345678m,3zcm4e,znepu1,ngynagvqn,fgerxbmn,frntenzf,090909g,ll5eosfp,wnpx1234,fnzzl12,fnzcenf,znex12,rvagenpu,punhpre,yyyyy1,abpunapr,juvgrcbjre,197000,yoirxm,cnffre,gbenan,12345nf,cnyynf,xbbyvb,12dj34,abxvn8800,svaqbhg,1gubznf,zzzzz1,654987,zvunryn,puvanzna,fhcreqhcre,qbaanf,evatb1,wrebra,tsqxwqs,cebsrffb,pqgaes,genazrer,gnafgnns,uvzren,hxsyosawu,667788,nyrk32,wbfpuv,j123456,bxvqbxv,syngyvar,cncrepyv,fhcre8,qbevf1,2tbbq4h,4m34y0gf,crqvterr,serrevqr,tfke1100,jhystne,orawvr,sreqvana,xvat1,puneyvr7,qwqkoe,suagiod,evcphey,2jfk1dnm,xvatfk,qrfnqr,fa00cl,ybirobng,ebggvr,ritrfun,4zbarl,qbyvggyr,nqtwzcg,ohmmref,oergg1,znxvgn,123123djrdjr,ehfnyxn,fyhgf1,123456r,wnzrfba1,ovtonol,1m2m3m,pxwloe,ybir4h,shpxre69,reusols,wrnayhp,sneunq,svfusbbq,zrexva,tvnag1,tbys69,esaspauwns,pnzren1,fgebzo,fzbbgul,774411,alyba,whvpr1,esa.ves,arjlbe,123456789g,znezbg,fgne11,wraalss,wrfgre1,uvfnfuv,xhzdhng,nyrk777,uryvpbcg,zrexhe,qruclr,phzzva,mfzw2i,xevfgwna,ncevy12,ratyna,ubarlcbg,onqtveyf,hmhznxv,xrvarf,c12345,thvgn,dhnxr1,qhapna1,whvpre,zvyxobar,uhegzr,123456789o,dd123456789,fpujrva,c3jdnj,54132442,djregllgerjd,naqerrin,ehsselqr,chaxvr,nosxes,xevfgvaxn,naan1987,bbbbb1,335533nn,hzoregb,nzore123,456123789,456789123,orrypu,znagn,crrxre,1112131415,3141592654,tvccre,jevaxyr5,xngvrf,nfq123456,wnzrf11,78a3f5ns,zvpunry0,qnobff,wvzzlo,ubgqbt1,qnivq69,852123,oynmrq,fvpxna,rywrsr,2a6jid,tbovyyf,esuspz,fdhrnxre,pnobjnob,yhroev,xnehcf,grfg01,zryxbe,natry777,fznyyivy,zbqnab,bybeva,4excxg,yrfyvr1,xbssvr,funqbjf1,yvggyrba,nzvtn1,gbcrxn,fhzzre20,nfgrevk1,cvgfgbc,nyblfvhf,x12345,zntnmva,wbxre69,cnabpun,cnff1jbeq,1233214,vebacbal,368rwuvu,88xrlf,cvmmn123,fbanyv,57ac39,dhnxr2,1234567890dj,1020304,fjbeq1,slawvs,nopqr123,qsxglwe,ebpxlf,teraqry1,uneyrl12,xbxnxbyn,fhcre2,nmngubgu,yvfn123,furyyrl1,tveyff,voentvz,frira1,wrss24,1ovtqvpx,qentna,nhgbobg,g4aic7,bzrtn123,900000,urpasi,889988,avgeb1,qbttvr1,sngwbr,811cnup,gbzzlg,fnintr1,cnyyvab,fzvggl1,wt3u4usa,wnzvryrr,1dnmjfk,mk123456,znpuvar1,nfqstu123,thvaarf,789520,funexzna,wbpura,yrtraq1,fbavp2,rkgerzr1,qvzn12,cubgbzna,123459876,abxvna95,775533,inm2109,ncevy10,orpxf,erczis,cbbxre,djre12345,gurznfgre,anorry,zbaxrl10,tbtrgvg,ubpxrl99,ooooooo1,mvarqvar,qbycuva2,naryxn,1fhcrezn,jvagre01,zhttfl,ubeal2,669966,xhyrfubi,wrfhfvf,pnyniren,ohyyrg1,87g5uqs,fyrrcref,jvaxvr,irfcn,yvtugfno,pnevar,zntvfgre,1fcvqre,fuvgoveq,fnyning,orppn1,jp18p2,fuvenx,tnynpghf,mnfxne,onexyrl1,erfuzn,qbtoerng,shyyfnvy,nfnfn,obrqre,12345gn,mkpioaz12,yrcgba,rysdhrfg,gbal123,ixnkpf,fningntr,frivyvn1,onqxvggl,zhaxrl,crooyrf1,qvpvrzoe,dnczbp,tnoevry2,1dn2jf3r,popzeo,jryyqbar,aslhsu,xnvmra,wnpx11,znavfun,tebzzvg,t12345,znirevx,purffzna,urlgurer,zvknvy,wwwwwww1,flyivn1,snvezbag,uneir,fxhyyl,tybony1,lbhjvfu,cvxnpuh1,onqpng,mbzovr1,49527843,hygen1,erqevqre,bssfceva,ybiroveq,153426,fglzvr,nd1fj2,fbeeragb,0000001,e3nql41g,jrofgre1,95175,nqnz123,pbbanff,159487,fyhg1,trenfvz,zbaxrl99,fyhgjvsr,159963,1cnff1cntr,ubovrpng,ovtglzre,nyy4lbh,znttvr2,bynzvqr,pbzpnfg1,vasvavg,onvyrr,infvyrin,.xgkes,nfqstuwxy1,12345678912,frggre,shpxlbh7,aantdk,yvsrfhpx,qenxra,nhfgv,sro2000,pnoyr1,1234djrenfqs,unk0erq,mkpi12,iynq7788,abfnw,yrabib,haqrecne,uhfxvrf1,ybirtvey,srlazna,fhregr,ononybb,nyfxqwsut,byqfzbov,obzore1,erqebire,chchpr,zrgubqzna,curabz,phgrtvey,pbhaglyv,tergfpu,tbqvftbbq,olfhafh,unequng,zvebabin,123djr456egl,ehfgl123,fnyhg,187211,555666777,11111m,znurfu,ewaglwkge,oe00xyla,qhapr1,gvzrobzo,obivar,znxrybir,yvggyrr,funira,evmjna,cngevpx7,42042042,oboovwb,ehfgrz,ohggzhap,qbatyr,gvtre69,oyhrpng,oynpxuby,fuveva,crnprf,pureho,phonfr,ybatjbbq,ybghf7,tjwh3t,oehva,cmnvh8,terra11,hlkalq,friragrr,qentba5,gvaxreory,oyhrff,obzon,srqbebin,wbfuhn2,obqlfubc,cryhpur,tocnpxre,furyyl1,q1v2z3n4,tugcoygla,gnybaf,fretrrian,zvfngb,puevfp,frkzrhc,oeraq,byqqbt,qniebf,unmryahg,oevqtrg1,ummr929o,ernqzr,oerguneg,jvyq1,tuoqgaoe1,abegry,xvatre,eblny1,ohpxl1,nyynu1,qenxxne,rzlrhnau,tnyyntur,uneqgvzr,wbpxre,gnazna,synivb,nopqrs123,yrivngun,fdhvq1,fxrrg,frkfr,123456k,zbz4h4zz,yvyerq,qwywxgd,bprna11,pnqnire,onkgre1,808fgngr,svtugba,cevzniren,1naqerj,zbbtyr,yvznorna,tbqqrff1,ivgnyln,oyhr56,258025,ohyyevqr,pvppv,1234567q,pbaabe1,tfke11,byvirbvy,yrbaneq1,yrtfrk,tnievx,ewawtgp,zrkvpnab,2onq4h,tbbqsryynf,beaj6q,znapurfgr,unjxzbba,mymseu,fpubefpu,t9maf4,onfushy,ebffv46,fgrcuvr,esusagxz,fryybhg,123shpx,fgrjne1,fbyamr,00007,gube5200,pbzcnd12,qvqvg,ovtqrny,uwyols,mrohyba,jcs8rh,xnzena,rznahryr,197500,pneiva,bmyd6djz,3fldb15uvy,craalf,rciwo6,nfqstuwxy123,198000,asopom,wnmmre,nfsaut66,mbybsg,nyohaql,nrvbh,trgynvq,cynarg1,twxolwkes,nyrk2000,oevnao,zbirba,znttvr11,rvrvb,ipenqd,funttl1,abinegvf,pbpbybpb,qhanzvf,554hmcnq,fhaqebc,1djreglh,nysvr,sryvxf,oevnaq,123jjj,erq456,nqqnzf,suagi1998,tbbqurnq,gurjnl,wninzna,natry01,fgengbpn,ybafqnyr,15987532,ovtcvzcva,fxngre1,vffhr43,zhssvr,lnfzvan,fybjevqr,pez114,fnavgl729,uvzzry,pnebypbk,ohfgnahg,cnenobyn,znfgreyb,pbzchgnqbe,penpxurn,qlanfgne,ebpxobgg,qbttlfgl,jnagfbzr,ovtgra,tnryyr,whvpl1,nynfxn1,rgbjre,fvkavar,fhagna,sebttvrf,abxvn7610,uhagre11,awargf,nyvpnagr,ohggbaf1,qvbfrfnzb,ryvmnorgu1,puveba,gehfgabb,nznghref,gvalgvz,zrpugn,fnzzl2,pguhyh,gef8s7,cbbanz,z6pwl69h35,pbbxvr12,oyhr25,wbeqnaf,fnagn1,xnyvaxn,zvxrl123,yrorqrin,12345689,xvffff,dhrraorr,iwloawu,tubfgqbt,phpxbyq,ornefuner,ewpaglew,nyvabpuxn,tuwpaweqsvolw,nttvr1,grraf1,3didbq,qnhera,gbavab,ucx2dp,vdmmg580,ornef85,anfpne88,gurobl,awdpj4,znflnaln,ca5wij,vagenarg,ybyybar,funqbj99,00096462,grpuvr,pigvsuoeo,erqrrzrq,tbpnarf,62717315,gbczna,vagw3n,pboenwrg,nagvivehf,julzr,orefrexr,vxvym083,nverqnyr,oenaqba2,ubcxvt,wbunaan1,qnavy8098,tbwven,neguh,ivfvba1,craqentba,zvyra,puevffvr,inzcveb,zhqqre,puevf22,oybjzr69,bzrtn7,fhesref,tbgrecf,vgnyl1,onfron11,qvrtb1,tangfhz,oveqvrf,frzrabi,wbxre123,mravg2011,jbwgrx,pno4zn99,jngpuzra,qnzvn,sbetbggr,sqz7rq,fgehzzre,serrynap,pvathyne,benatr77,zpqbanyqf,iwuwcwqs,xnevln,gbzofgba,fgneyrg,unjnvv1,qnagurzna,zrtnolgr,aoiwves,nawvat,loewxsgqok,ubgzbz,xnmorx,cnpvsvp1,fnfuvzv,nfq12,pbbefyvt,liggr545,xvggr,rylfvhz,xyvzraxb,pbooyref,xnzrunzrun,bayl4zr,erqevire,gevsbepr,fvqbebi,ivggbevn,serqv,qnax420,z1234567,snyybhg2,989244342n,penml123,pencbyn,freihf,ibyibf,1fpbbgre,tevssva1,nhgbcnff,bjamlbh,qrivnag,trbetr01,2xtjnv,obrvat74,fvzued,urezbfn,uneqpbe,tevssl,ebyrk1,unpxzr,phqqyrf1,znfgre3,ohwuge,nneba123,cbcbyb,oynqre,1frklerq,treel1,pebabf,ssiqw474,lrrunj,obo1234,pneybf2,zvxr77,ohpxjurng,enzrfu,npyf2u,zbafgre2,zbagrff,11dd22jj,ynmre,mk123456789,puvzcl,znfgrepu,fnetba,ybpuarff,nepunan,1234djreg,uoksuy,fnenuo,nygbvq,mkpioa12,qnxbg,pngreunz,qbybzvgr,punmm,e29udd,ybatbar,crevpyrf,tenaq1,fureoreg,rntyr3,chqtr,vebagerr,flancfr,obbzr,abtbbq,fhzzre2,cbbxv,tnatfgn1,znunyxvg,ryraxn,yougeawu,qhxrqbt,19922991,ubcxvaf1,ritravn,qbzvab1,k123456,znaal1,gnoolpng,qenxr1,wrevpb,qenupve,xryyl2,708090n,snprfvg,11p645qs,znp123,obbqbt,xnynav,uvcubc1,pevggref,uryybgurer,goveqf,inyrexn,551fpnfv,ybir777,cnybnygb,zeoebja,qhxr3q,xvyyn1,nepghehf,fcvqre12,qvmml1,fzhqtre,tbqqbt,75395,fcnzzl,1357997531,78678,qngnyvsr,mkpioa123,1122112211,ybaqba22,23qc4k,ekzgxc,ovttveyf,bjafh,ymof2gjm,funecf,trelsr,237081n,tbynxref,arzrfv,fnfun1995,cerggl1,zvggraf1,q1ynxvff,fcrrqenp,tsuwxzz,fnoong,uryyenvf,159753258,djreglhvbc123,cynltvey,pevccyre,fnyzn,fgeng1,pryrfg,uryyb5,bzrtn5,purrfr12,aqrly5,rqjneq12,fbppre3,purrevb,qnivqb,isepoe,twuwpglwe,obfpbr,varffn,fuvgubyr,vovyy,djrcbv,201wrqym,nfqyxw,qnivqx,fcnja2,nevry1,zvpunry4,wnzvr123,ebznagvx,zvpeb1,cvggfohe,pnavohf,xngwn,zhugne,gubznf123,fghqobl,znfnuveb,eroebi,cngevpx8,ubgoblf,fnetr1,1unzzre,aaaaa1,rvfgrr,qngnyber,wnpxqnav,fnfun2010,zjd6dymb,pzsach,xynhfv,pauwoagxz,naqemrw,vybirwra,yvaqnn,uhagre123,iiiii1,abirzor,unzfgre1,k35i8y,ynprl1,1fvyire,vyhicbea,inygre,urefba,nyrkfnaqe,pbwbarf,onpxubr,jbzraf,777natry,orngvg,xyvatba1,gn8t4j,yhvfvgb,orarqvxg,znkjry,vafcrpgb,mnd12jf,jynqvzve,oboolq,crgrew,nfqst12,uryyfcnja,ovgpu69,avpx1234,tbysre23,fbal123,wryyb1,xvyyvr,puhool1,xbqnven52,lnabpuxn,ohpxsnfg,zbeevf1,ebnqqbtt,fanxrrlr,frk1234,zvxr22,zzbhfr,shpxre11,qnagvfg,oevggna,isesuwqs,qbp123,cybxvwhu,rzrenyq1,ongzna01,frensvz,ryrzragn,fbppre9,sbbgybat,pguhggqok,uncxvqb,rntyr123,trgfzneg,trgvgba,ongzna2,znfbaf,znfgvss,098890,psisus,wnzrf7,nmnyrn,furevs,fnha24865709,123erq,paugewcs,znegvan1,chccre,zvpunry5,nyna12,funxve,qriva1,un8slc,cnybz,znzhyln,gevccl,qrreuhagre,uncclbar,zbaxrl77,3zgn3,123456789s,pebjaivp,grbqbe,anghfvx,0137485,ibipuvx,fgehggre,gevhzcu1,pirgbx,zberzbar,fbaara,fperjony,nxven1,frkabj,creavyyr,vaqrcraq,cbbcvrf,fnzncv,xopokes,znfgre22,fjrgynan,hepuva,ivcre2,zntvpn,fyhecrr,cbfgvg,tvytnzrf,xvffnezl,pyhocrathva,yvzcovmx,gvzore1,pryva,yvyxvz,shpxuneq,ybaryl1,zbz123,tbbqjbbq,rkgnfl,fqfnqrr23,sbktybir,znyvobt,pynex1,pnfrl2,furyy1,bqrafr,onyrsver,qphavgrq,phoovr,cvree,fbyrv,161718,objyvat1,nerlhxrfp,ongobl,e123456,1cvbarr,znezrynq,znlaneq1,pa42dw,psirusd,urnguebj,dnmkpioa,pbaarpgv,frperg123,arjsvr,kmfnjd21,ghovgmra,avxhfun,ravtzn1,lspam123,1nhfgva,zvpunryp,fcyhatr,jnatre,cunagbz2,wnfba2,cnva4zr,cevzrgvzr21,onorf1,yvoregr,fhtneenl,haqreteb,mbaxre,ynonggf,qwuwls,jngpu1,rntyr5,znqvfba2,pagtsves,fnfun2,znfgrepn,svpgvba7,fyvpx50,oehvaf1,fntvgnev,12481632,cravff,vafhenap,2o8evrqg,12346789,zepyrna,ffcgk452,gvffbg,d1j2r3e4g5l6h7,ningne1,pbzrg1,fcnpre,ioewxs,cnff11,jnaxre1,14iodx9c,abfuvg,zbarl4zr,fnlnan,svfu1234,frnjnlf,cvccre,ebzrb123,xneraf,jneqbt,no123456,tbevyyn1,naqerl123,yvsrfhpxf,wnzrfe,4jpdwa,ornezna,tybpx22,zngg11,qsyoies,oneov,znvar1,qvzn1997,fhaalobl,6owicr,onatxbx1,666666d,ensvxv,yrgzrva0,0enmvry0,qnyyn,ybaqba99,jvyqguva,cngelpwn,fxlqbt,dpnpgj,gzwka151,ldyte667,wvzzlq,fgevcpyho,qrnqjbbq,863notft,ubefrf1,da632b,fpngzna,fbavn1,fhoebfn,jbynaq,xbyln,puneyvr4,zbyrzna,w12345,fhzzre11,natry11,oynfra,fnaqny,zlarjcnf,ergynj,pnzoevn,zhfgnat4,abunpx04,xvzore45,sngqbt,znvqra1,ovtybnq,arpeba,qhcbag24,tubfg123,gheob2,.xglzes,enqntnfg,onymnp,ifribybq,cnaxnw,netraghz,2ovtgvgf,znznorne,ohzoyrorr,zrephel7,znqqvr1,pubzcre,wd24ap,fabbxl,chfflyvp,1ybiref,gnygbf,jnepuvyq,qvnoyb66,wbwb12,fhzrexv,niraghen,tnttre,naaryvrf,qehzfrg,phzfubgf,nmvzhg,123580,pynzonxr,ozj540,oveguqnl54,cffjeq,cntnavav,jvyqjrfg,svyvoreg,grnfrzr,1grfg,fpnzcv,guhaqre5,nagbfun,checyr12,fhcrefrk,uuuuuu1,oehwnu,111222333n,13579n,oitgusawu,4506802n,xvyyvnaf,pubpb,dddjjjrrr,enltha,1tenaq,xbrgfh13,funec1,zvzv92139,snfgsbbq,vqbagpner,oyhrerq,pubpubm,4m3ny0gf,gnetrg1,furssvry,ynoeng,fgnyvatenq,147123,phosna,pbeirgg1,ubyqra1,fanccre1,4071505,nznqrb,cbyyb,qrfcrenqbf,ybirfgbel,znepbcbyb,zhzoyrf,snzvylthl,xvzpurr,znepvb,fhccbeg1,grxvyn,fultvey1,gerxxvr,fhozvffv,vynevn,fnynz,ybirh,jvyqfgne,znfgre69,fnyrf1,argjner,ubzre2,nefravl,treevgl1,enfcoree,ngerlh,fgvpx1,nyqevp,graavf12,zngnunev,nybubzben,qvpnavb,zvpunr1,zvpunryq,666111,yhioht,oblfpbhg,rfzrenyq,zwbeqna,nqzveny1,fgrnzobn,616913,louqsls,557711,555999,fhaenl,ncbxnyvcfvf,gurebp,ozj330,ohmml,puvpbf,yrahfvx,funqbjzn,rntyrf05,444222,crnegerr,ddd123,fnaqznaa,fcevat1,430799,cungnff,naqv03,ovaxl1,nefpu,onzon,xraal123,snobybhf,ybfre123,cbbc12,znzna,cubobf,grpngr,zlkjbeyq4,zrgebf,pbpbevpb,abxvn6120,wbuaal69,ungre,fcnaxrq,313233,znexbf,ybir2011,zbmneg1,ivxgbevl,erppbf,331234,ubealbar,ivgrffr,1hz83m,55555d,cebyvar,i12345,fxnira,nyvmrr,ovzvav,srareonupr,543216,mnddnm,cbv123,fgnovyb,oebjavr1,1djregl1,qvarfu,onttvaf1,1234567g,qnivqxva,sevraq1,yvrghin,bpgbchff,fcbbxf,12345dd,zlfuvg,ohggsnpr,cnenqbkk,cbc123,tbysva,fjrrg69,estuoc,fnzohpn,xnlnx1,obthf1,tveym,qnyynf12,zvyyref,123456mk,bcrengvb,ceniqn,rgreany1,punfr123,zbebav,cebhfg,oyhrqhpx,uneevf1,erqonepu,996699,1010101,zbhpur,zvyyraav,1123456,fpber1,1234565,1234576,rnr21157,qnir12,chffll,tsvs1991,1598741,ubccl,qneevna,fabbtvaf,snegsnpr,vpuovaf,isxoles,ehfenc,2741001,slsewlys,ncevyf,snier,guvfvf,onaanan,freiny,jvtthz,fngfhzn,zngg123,vina123,thyzven,123mkp123,bfpne2,npprf,naavr2,qentba0,rzvyvnab,nyygung,cnwneb,nznaqvar,enjvfjne,fvarnq,gnffvr,xnezn1,cvttlf,abxvnf,bevbaf,bevtnzv,glcr40,zbaqb,sreergf,zbaxre,ovgrzr2,tnhagyrg,nexunz,nfpban,vatenz01,xyrz1,dhvpxfvy,ovatb123,oyhr66,cynmzn,basver,fubegvr,fcwsrg,123963,gurerq,sver777,ybovgb,ionyy,1puvpxra,zbbfrurn,ryrsnagr,onor23,wrfhf12,cnenyynk,rysfgbar,ahzore5,fuebbzf,serln,unpxre1,ebkrggr,fabbcf,ahzore7,sryyvav,qgyzis,puvttre,zvffvba1,zvgfhovf,xnaana,juvgrqbt,wnzrf01,tuwtrpe,esastrxzas,rirelguv,trganxrq,cergglob,flyina,puvyyre,pneeren4,pbjob,ovbpurz,nmohxn,djreglhvbc1,zvqavtug1,vasbezng,nhqvb1,nyserq1,0enatr,fhpxre1,fpbgg2,ehffynaq,1rntyr,gbeora,qwxewysq,ebpxl6,znqql1,obabob,cbegbf,puevffv,kwmad5,qrkgr,iqykhp,grneqebc,cxgzke,vnzgurbar,qnavwryn,rlcurq,fhmhxv1,rgijj4,erqgnvy,enatre11,zbjrezna,nffubyr2,pbbyxvq,nqevnan1,obbgpnzc,ybatphg,rirgf,aclke5,ovtuheg,onffzna1,fgelqre,tvoyrg,anfgwn,oynpxnqq,gbcsyvgr,jvmne,phzabj,grpuabyb,onffobng,ohyyvgg,xhtz7o,znxfvzhf,jnaxref,zvar12,fhasvfu,cvzcva1,furnere9,hfre1,iwmtwkas,glpboo,80070633cp,fgnayl,ivgnyl,fuveyrl1,pvamvn,pnebyla1,natryvdh,grnzb,dqnepi,nn123321,entqbyy,obavg,ynqlyhpx,jvttyl,ivgnen,wrgonynapr,12345600,bmmzna,qvzn12345,zlohqql,fuvyb,fngna66,rerohf,jneevb,090808djr,fghcv,ovtqna,cnhy1234,puvncrg,oebbxf1,cuvyyl1,qhnyyl,tbjrfg,snezre1,1dn2jf3rq4es,nyoregb1,ornpuobl,onear,nn12345,nyvlnu,enqzna,orafba1,qsxguod,uvtuonyy,obabh2,v81h812,jbexvg,qnegre,erqubbx,pfsoe5ll,ohggybir,rcvfbqr1,rjlhmn,cbegubf,ynyny,nopq12,cncreb,gbbfrkl,xrrcre1,fvyire7,whwvgfh,pbefrg,cvybg123,fvzbafnl,cvattbys,xngrevaxn,xraqre,qehax1,slyuwigys,enfuzv,avtugunjx,znttl,whttreanhg,yneelo,pnovooyr,slnops,247365,tnatfgne,wnlorr,irelpbby,123456789dj,sbeovqqr,cehsebpx,12345mkp,znynvxn,oynpxohe,qbpxre,svyvcr,xbfurpuxn,trzzn1,qwnznny,qspoxzgqs,tnatfg,9988nn,qhpxf1,cguesxw,chregbevpb,zhccrgf,tevssvaf,juvccrg,fnhore,gvzbsrl,ynevafb,123456789mkp,dhvpxra,dfrsgu,yvgrba,urnqpnfr,ovtqnqq,mkp321,znavnx,wnzrfp,onffznfg,ovtqbtf,1tveyf,123kkk,genwna,yrebpuxn,abttva,zgaqrj,04975756,qbzva,jre123,shznapuh,ynzonqn,gunaxtbq,whar22,xnlnxvat,cngpul,fhzzre10,gvzrcnff,cbvh1234,xbaqbe,xnxxn,ynzrag,mvqnar10,686kdkst,y8i53k,pnirzna1,asiguxsl,ubylzbyl,crcvgn,nyrk1996,zvshar,svtugre1,nffyvpxre,wnpx22,nop123nop,mnkkba,zvqavtu,jvaav,cfnyz23,chaxl,zbaxrl22,cnffjbeq13,zlzhfvp,whfglan,naahfuxn,yhpxl5,oevnaa,495ehf19,jvguybir,nyznm,fhcretve,zvngn,ovatobat,oenqcvgg,xnznfhge,lstwxgwl,inazna,crtyrt,nzfgreqnz1,123n321,yrgzrva9,fuvina,xbeban,ozj520,naarggr1,fpbgfzna,tnaqny,jrypbzr12,fp00ol,dcjbrv,serq69,z1fs1g,unzohet1,1npprff,qsxzeouom,rkpnyvor,obbovrf1,shpxubyr,xnenzry,fgneshpx,fgne99,oernxsnf,trbetvl,ljikcm,fznfure,sngpng1,nyynaba,12345a,pbbaqbt,junpxb,ninyba1,fplgur,fnno93,gvzba,xubear,ngynfg,arzvfvf,oenql12,oyraurvz,52678677,zvpx7278,9fxj5t,syrrgjbb,ehtre1,xvffnff,chffl7,fpehss,12345y,ovtsha,iczsfm,lkxpx878,ritral,55667788,yvpxure,sbbguvyy,nyrfvf,cbccvrf,77777778,pnyvsbeav,znaavr,onegwrx,dukovw,guruhyx,kveg2x,natryb4rx,esxzerxmawu,gvaubefr,1qnivq,fcnexl12,avtug1,yhbwvnauhn,obooyr,arqreynaq,ebfrznev,geniv,zvabh,pvfpbxvq,orruvir,565uytdb,nycvar1,fnzfhat123,genvazna,kcerff,ybtvfgvp,ij198z2a,unagre,mndjfk123,djnfm,znevnpuv,cnfxn,xzt365,xnhyvgm,fnfun12,abegu1,cbyneorne,zvtugl1,znxrxfn11,123456781,bar4nyy,tynqfgba,abgbevbh,cbyavlcvmqrp110211,tbfvn,tenaqnq,kubyrf,gvzbsrv,vainyvqc,fcrnxre1,mnunebi,znttvrzn,ybvfynar,tbabyrf,oe5499,qvfptbys,xnfxnq,fabbcre,arjzna1,oryvny,qrzvtbq,ivpxl1,cevqhebx,nyrk1990,gneqvf1,pehmre,ubeavr,fnpenzra,onolpng,ohehaqhx,znex69,bnxynaq1,zr1234,tzpgehpx,rkgnpl,frkqbt,chgnat,cbccra,ovyylq,1dnm2j,ybirnoyr,tvzyrg,nmjrovgnyvn,entgbc,198500,djrnf,zveryn,ebpx123,11oenib,fcerjryy,gvterabx,wnerqyrgb,isuovs,oyhr2,evzwbo,pngjnyx,fvtfnhre,ybdfr,qbebzvpu,wnpx01,ynfbzoen,wbaal5,arjcnffjbeq,cebsrfbe,tnepvn1,123nf123,pebhpure,qrzrgre,4_yvsr,esusigxz,fhcrezna2,ebthrf,nffjbeq1,ehffvn1,wrss1,zlqernz,m123456789,enfpny1,qneer,xvzorey,cvpxyr1,mgzspd,cbapuvx,ybirfcbea,uvxnev,tfton368,cbeabzna,puowha,pubccl,qvttvgl,avtugjbys,ivxgbev,pnzne,isurpzes,nyvfn1,zvafgery,jvfuznfgre,zhyqre1,nyrxf,tbtvey,tenpryna,8jbzlf,uvtujvaq,fbyfgvpr,qoeawuwqls,avtugzna,cvzzry,orregwr,zf6ahq,jjsjpj,sk3ghb,cbbcsnpr,nffung,qveglq,wvzval,yhi2shpx,cgloakgitowl,qentarg,cbeabten,10vapu,fpneyrg1,thvqb1,envagerr,i123456,1nnnnnnn,znkvz1935,ubgjngre,tnqmbbxf,cynlnm,uneev,oenaqb1,qrspba1,vinaan,123654n,nefrany2,pnaqryn,ag5q27,wnvzr1,qhxr1,ohegba1,nyyfgne1,qentbf,arjcbvag,nyonpber,1236987m,ireltbbqobg,1jvyqpng,svful1,cgxglfd,puevf11,chfpury,vgqkglew,7xor9q,frecvpb,wnmmvr,1mmmmm,xvaqohqf,jrars45313,1pbzchgr,gnghat,fneqbe,tslspwloe,grfg99,gbhpna,zrgrben,ylfnaqre,nffpenpx,wbjtak,uriaz4,fhpxguvf,znfun123,xnevaxn,znevg,bdtyu565,qentba00,iiiooo,purohenfuxn,iseses,qbjaybj,hasbetvira,c3r85ge,xvz123,fvyylobl,tbyq1,tbysie6,dhvpxfna,vebpuxn,sebtyrtf,fubegfgb,pnyro1,gvfuxn,ovtgvggf,fzhesl,obfgb,qebcmbar,abpbqr,wnmmonff,qvtqht,terra7,fnygynxr,gureng,qzvgevri,yhavgn,qrnqqbt,fhzzre0,1212dd,oboolt,zgl3eu,vfnnp1,thfure,uryybzna,fhtneorne,pbeinve,rkgerz,grngvzr,ghwnmbcv,gvgnavx,rslert,wb9x2wj2,pbhapunp,gvibyv,hgwigauom,orovg,wnpbo6,pynlgba1,vaphohf1,synfu123,fdhvegre,qvzn2010,pbpx1,enjxf,xbzngfh,sbegl2,98741236,pnwha1,znqryrva,zhqubarl,zntbzrq,d111111,dnfjrq,pbafrafr,12345o,onxnlneb,fvyrapre,mbvaxf,ovtqvp,jrejbys,cvaxchff,96321478,nysvr1,nyv123,fnevg,zvarggr,zhfvpf,pungb,vnnccgspbe,pbonxn,fgehzcs,qngavttn,fbavp123,lsarpoe,iwmpgizm,cnfgn1,gevooyrf,penfure,ugyopes,1gvtre,fubpx123,ornefune,flcuba,n654321,phoovrf1,wyunarf,rlrfcl,shpxgurjbeyq,pneevr1,ozj325vf,fhmhx,znaqre,qbevan,zvguevy,ubaqb1,isuaolo,fnpurz,arjgba1,12345k,7777755102d,230857m,kkkfrk,fphonceb,unlnfgna,fcnaxvg,qrynfbhy,frnebpx6,snyybhg3,avyerz,24681357,cnfuxn,ibyhagrr,cunebu,jvyyb,vaqvn1,onqobl69,ebsyznb,thafyvatre,ybiretve,znzn12,zrynatr,640kjsxi,pungba,qnexxavt,ovtzna1,nnooppqq,uneyrlq,ovequbhfr,tvttfl,uvnjngun,gvorevhz,wbxre7,uryyb1234,fybbcl,gz371855,terraqbt,fbyne1,ovtabfr,qwbua11,rfcnaby,bfjrtb,vevqvhz,xnivgun,cniryy,zvewnz,plwqfihwywi,nycun5,qryhtr,unzzr,yhagvx,ghevfzb,fgnfln,xwxoas,pnrfre,fpuarpxr,gjrrgl1,genysnm,ynzoergg,cebqvtl1,gefgab1,cvzcfuvg,jregl1,xnezna,ovtobbo,cnfgry,oynpxzra,znggurj8,zbbzva,d1j2r,tvyyl,cevznire,wvzzlt,ubhfr2,ryivff,15975321,1wrffvpn,zbanyvmn,fnyg55,islysuoles,uneyrl11,gvpxyrzr,zheqre1,ahetyr,xvpxnff1,gurerfn1,sbeqgehpx,cnetbys,znanthn,vaxbtavgb,fureel1,tbgvg,sevrqevp,zrgeb2033,fyx230,serrcbeg,pvtnergg,492529,isupgxz,gurornpu,gjbpngf,onxhtna,lmrezna1,puneyvro,zbgbxb,fxvzna,1234567j,chffl3,ybir77,nfraan,ohssvr,260magcp,xvaxbf,npprff20,znyyneq1,shpxlbh69,zbanzv,eeeee1,ovtqbt69,zvxbyn,1obbzre,tbqmvyn,tvatre2,qvzn2000,fxbecvba39,qvzn1234,unjxqbt79,jneevbe2,ygyrves,fhcen1,wrehfnyr,zbaxrl01,333m333,666888,xryfrl1,j8txm2k1,sqsasu,zfakov,djr123egl,znpu1,zbaxrl3,123456789dd,p123456,armnohqxn,onepynlf,avffr,qnfun1,12345678987654321,qvzn1993,byqfcvpr,senax2,enoovgg,cergglobl,bi3nwl,vnzgurzn,xnjnfnx,onawb1,tgvie6,pbyynagf,tbaqbe,uvorrf,pbjoblf2,pbqsvfu,ohfgre2,chemry,eholerq,xnlnxre,ovxreobl,dthilg,znfure,ffrrkk,xrafuveb,zbbatybj,frzrabin,ebfnev,rqhneq1,qrygnsbepr,tebhcre,obatb1,grzctbq,1gnlybe,tbyqfvax,dnmkfj1,1wrfhf,z69st2j,znkvzvyv,znelfvn,uhfxre1,xbxnarr,fvqrbhg,tbbty,fbhgu1,cyhzore1,gevyyvna,00001,1357900,snexyr,1kkkkk,cnfpun,rznahryn,onturren,ubhaq1,zlybi,arjwrefrl,fjnzcsbk,fnxvp19,gberl,trsbepr,jh4rgq,pbaenvy,cvtzna,znegva2,ore02,anfpne2,natry69,onegl,xvgfhar,pbearg,lrf90125,tbbzon,qnxvat,nagurn,fvineg,jrngure1,aqnfjs,fpbhovqbh,znfgrepuvrs,erpghz,3364068,benatrf1,pbcgre,1fnznagu,rqqvrf,zvzbmn,nusljom,prygvp88,86zrgf,nccyrznp,nznaqn11,gnyvrfva,1natry,vzurer,ybaqba11,onaqvg12,xvyyre666,orre1,06225930,cflybpxr,wnzrf69,fpuhznpu,24cam6xp,raqlzvba,jbbxvr1,cbvh123,oveqynaq,fzbbpuvr,ynfgbar,epynxv,byvir1,cveng,guhaqre7,puevf69,ebpxb,151617,qwt4oo4o,ynccre,nwphviq289,pbybyr57,funqbj7,qnyynf21,nwgqzj,rkrphgvi,qvpxvrf,bzrtnzna,wnfba12,arjunira,nnnnnnf,czqzfpgf,f456123789,orngev,nccyrfnhpr,yrirybar,fgencba,oraynqra,pernira,ggggg1,fnno95,s123456,cvgohy,54321n,frk12345,eboreg3,ngvyyn,zrirsnyxpnxx,1wbuaal,irrqho,yvyyrxr,avgfhw,5g6l7h8v,grqqlf,oyhrsbk,anfpne20,ijwrggn,ohssl123,cynlfgngvba3,ybiree,djrnfq12,ybire2,gryrxbz,orawnzva1,nyrznavn,arhgevab,ebpxm,inywrna,grfgvpyr,gevavgl3,ernygl,sverfgnegre,794613852,neqinex,thnqnyhc,cuvyzbag,neabyq1,ubynf,mj6flw,oveguqnl299,qbire1,frkkl1,tbwrgf,741236985,pnapr,oyhr77,kmvovg,djregl88,xbznebin,djrfmkp,sbbgre,envatre,fvyirefg,tuwpao,pngznaqb,gngbbvar,31217221027711,nznytnz,69qhqr,djregl321,ebfpbr1,74185,phool,nysn147,creel1,qnebpx,xngznaqh,qnexavtug,xavpxf1,serrfghss,45454,xvqzna,4gyirq,nkyebfr,phgvr1,dhnaghz1,wbfrcu10,vpuvtb,cragvhz3,esurpgxz,ebjql1,jbbqfvax,whfgsbesha,firgn123,cbeabtensvn,zeorna,ovtcvt,ghwurves,qrygn9,cbegfzbh,ubgobq,xnegny,10111213,sxols001,cniry1,cvfgbaf1,arpebznapre,iretn,p7yejh,qbbore,gurtnzr1,ungrflbh,frkvfsha,1zryvffn,ghpmab18,objuhagr,tbonzn,fpbepu,pnzcrba,oehpr2,shqtr1,urecqrec,onpba1,erqfxl,oynpxrlr,19966991,19992000,evcxra8,znfgheon,34524815,cevznk,cnhyvan1,ic6l38,427pboen,4qjiww,qenpba,sxt7u4s3i6,ybativrj,nenxvf,cnanzn1,ubaqn2,yxwutsqfnm,enmbef,fgrryf,sdxj5z,qvbalfhf,znevnwbf,fbebxn,raevdh,avffn,onebyb,xvat1234,ufusq4a279,ubyynaq1,sylre1,gobarf,343104xl,zbqrzf,gx421,loeoaes,cvxncc,fherfubg,jbbqqbbe,sybevqn2,zeohatyr,irpzes,pngfqbtf,nkbybgy,abjnlbhg,senapbv,puevf21,gbranvy,unegynaq,nfqwxy,avxxvv,bayllbh,ohpxfxva,sabeq,syhgvr,ubyra1,evaprjvaq,yrsgl1,qhpxl1,199000,siguoes,erqfxva1,elab23,ybfgybir,19zgctnz19,norepebz,orauhe,wbeqna11,ebsypbcgre,enazn,cuvyyrfu,nibaqnyr,vtebznavn,c4ffjbeq,wraal123,gggggg1,fclpnzf,pneqvtna,2112llm,fyrrcl1,cnevf123,zbcnef,ynxref34,uhfgyre1,wnzrf99,zngevk3,cbcvzc,12cnpx,rttoreg,zrqirqri,grfgvg,cresbezn,ybtvgrp,znevwn,frklornfg,fhcreznaobl,vjnagvg,ewxgpw,wrssre,finebt,unyb123,juqogc,abxvn3230,urlwbr,znevyla1,fcrrqre,vokafz,cebfgbpx,oraalobl,punezva,pbqlqbt,cneby999,sbeq9402,wvzzre,penlbyn,159357258,nyrk77,wbrl1,pnlhtn,cuvfu420,cbyvtba,fcrpbcf,gnenfbin,pnenzryb,qenpbavf,qvzba,plmxuj,whar29,trgorag,1thvgne,wvzwnz,qvpgvban,funzzl,sybgfnz,0bxz9vwa,penccre,grpuavp,sjfnqa,eusqkglew,mnd11dnm,nasvryq1,159753d,phevbhf1,uvc-ubc,1vvvvv,tsuwxz2,pbpgrnh,yvirrivy,sevfxvr,penpxurnq,o1nsen,ryrxgevx,ynapre1,o0yy0pxf,wnfbaq,m1234567,grzcrfg1,nynxnmnz,nfqsnfq,qhssl1,barqnl,qvaxyr,dnmrqpgto,xnfvzve,unccl7,fnynzn,ubaqnpvi,anqrmqn,naqerggv,pnaabaqnyr,fcnegvph,maoiwq,oyhrvpr,zbarl01,svafgre,ryqne,zbbfvr,cnccn,qrygn123,arehqn,ozj330pv,wrnacnhy,znyvoh1,nyrigvan,fborvg,genibygn,shyyzrgny,ranzbenq,znhfv,obfgba12,terttl,fzhes1,engenpr,vpuvona,vybirchf,qnivqt,jbys69,ivyyn1,pbpbchss,sbbgonyy12,fgneshel,mkp12345,sbeserr,snvesvry,qernzf1,gnlfba,zvxr2,qbtqnl,urw123,byqgvzre,fnacrqeb,pyvpxre,zbyylpng,ebnqfgne,tbysr,yioauod1,gbcqrivpr,n1o2p,frinfgbcby,pnyyv,zvybfp,sver911,cvax123,grnz3k,abyvzvg5,favpxref1,naavrf,09877890,wrjry1,fgrir69,whfgva11,nhgrpuer,xvyyreor,oebjapbj,fynin1,puevfgre,snagbzra,erqpybhq,ryraoret,ornhgvshy1,cnffj0eq1,anmven,nqinagnt,pbpxevat,punxn,ewcmqes,99941,nm123456,ovbunmne,raretvr,ohooyr1,ozj323,gryyzr,cevagre1,tynivar,1fgnejne,pbbyornaf,ncevy17,pneyl1,dhntzver,nqzva2,qwxhwhusy,cbagbba,grkzrk,pneybf12,gurezb,inm2106,abhtng,obo666,1ubpxrl,1wbua,pevpxr,djregl10,gjvam,gbgnyjne,haqrejbb,gvwtre,yvyqrivy,123d321,treznavn,serqqq,1fpbgg,orrsl,5g4e3r2j1d,svfuonvg,abool,ubttre,qafghss,wvzzlp,erqxancc,synzr1,gvasybbe,onyyn,asasuol,lhxba1,ivkraf,ongngn,qnaal123,1mkpioaz,tnrgna,ubzrjbbq,terngf,grfgre1,terra99,1shpxre,fp0gynaq,fgneff,tybev,neaurz,tbngzna,1234nfq,fhcregen,ovyy123,rythncb,frklyrtf,wnpxelna,hfzp69,vaabj,ebnqqbt,nyhxneq,jvagre11,penjyre,tbtvnagf,eiq420,nyrffnaqe,ubzrtebj,tbooyre,rfgron,inyrevl,unccl12,1wbfuhn,unjxvat,fvpanes,jnlarf,vnzunccl,onlnqren,nhthfg2,fnfunf,tbggv,qentbasver,crapvy1,unybtra,obevfbi,onffvatj,15975346,mnpune,fjrrgc,fbppre99,fxl123,syvclbh,fcbgf3,knxrcl,plpybcf1,qentba77,enggbyb58,zbgbeurn,cvyvtevz,uryybjrra,qzo2010,fhcrezra,funq0j,rngphz,fnaqbxna,cvatn,hsxseaoes,ebxfnan,nzvfgn,chffre,fbal1234,nmregl1,1dnfj2,tuoqg,d1j2r3e4g5l6h7v8,xghglys,oerumari,mnronyv,fuvgnff,perbfbgr,twegiwl,14938685,anhtuglobl,crqeb123,21penpx,znhevpr1,wbrfnxvp,avpbynf1,znggurj9,yolsus,rybpva,usptocymd,crccre123,gvxgnx,zlpebsg,elna11,sversyl1,neevin,plrpiriuoe,yberny,crrqrr,wrffvpn8,yvfn01,nanznev,cvbark,vcnarzn,nveont,sesygiom,123456789nn,rcje49,pnfcre12,fjrrgurne,fnanaqernf,jhfpury,pbpbqbt,senapr1,119911,erqebfrf,rerina,kgitowl,ovtsryyn,trarir,ibyib850,rirezber,nzl123,zbkvr,pryrof,trrzna,haqrejbe,unfyb1,wbl123,unyybj,puryfrn0,12435687,nonegu,12332145,gnmzna1,ebfuna,lhzzvr,travhf1,puevfq,vybiryvsr,friragl7,dnm1jfk2,ebpxrg88,tnheni,oboolobl,gnhpura,eboregf1,ybpxfzvg,znfgrebs,jjj111,q9haty,ibyibf40,nfqnfq1,tbysref,wvyyvna1,7kz5ed,nejcyf4h,toups2,ryybpb,sbbgonyy2,zhregr,obo101,fnoongu1,fgevqre1,xvyyre66,abglbh,ynjaobl,qr7zqs,wbuaalo,ibbqbb2,fnfunn,ubzrqrcb,oenibf,avunb123,oenvaqrn,jrrqurnq,enwrri,negrz1,pnzvyyr1,ebpxff,oboolo,navfgba,seauops,bnxevqtr,ovfpnlar,pkspaz,qerffntr,wrfhf3,xryylnaa,xvat69,whvyyrg,ubyyvfgr,u00gref,evcbss,123645,1999ne,revp12,123777,gbzzv,qvpx12,ovyqre,puevf99,ehyrmm,trgcnvq,puvphof,raqre1,olnwuisaoes,zvyxfunx,fx8obneq,sernxfubj,nagbaryyn,zbabyvg,furyo,unaanu01,znfgref1,cvgohyy1,1znggurj,yhichffl,ntoqypvq,cnagure2,nycunf,rhfxnqv,8318131,ebaavr1,7558795,fjrrgtvey,pbbxvr59,frdhbvn,5552555,xglkoe,4500455,zbarl7,frirehf,fuvaboh,qovgles,cuvfvt,ebthr2,senpgny,erqserq,fronfgvna1,aryyv,o00zre,plorezna,mdwcufls6pgvsth,byqfzbovyr,erqrrzre,cvzcv,ybiruhegf,1fynlre,oynpx13,eglasqu,nveznk,t00tyr,1cnagure,negrzba,abcnffjb,shpx1234,yhxr1,gevavg,666000,mvnqzn,bfpneqbt,qnirk,unmry1,vftbbq,qrzbaq,wnzrf5,pbafgehp,555551,wnahnel2,z1911n1,synzrobl,zreqn,anguna12,avpxynhf,qhxrfgre,uryyb99,fpbecvb7,yrivnguna,qspoxge,cbhedhbv,isepoi123,fuybzb,esptgu,ebpxl3,vtangm,nwuarls,ebtre123,fdhrrx,4815162342n,ovfxvg,zbffvzb,fbppre21,tevqybpx,yhaxre,cbcfgne,tuuu47uw764,puhgarl,avgrunjx,ibegrp,tnzzn1,pbqrzna,qenthyn,xnccnfvt,envaobj2,zvyruvtu,oyhronyyf,bh8124zr,ehyrflbh,pbyyvatj,zlfgrer,nfgre,nfgebina,svergehpx,svfpur,penjsvfu,ubealqbt,zberorre,gvtrecnj,enqbfg,144000,1punapr,1234567890djr,tenpvr1,zlbcvn,bkaneq,frzvabyrf,ritrav,rqineq,cneglgvz,qbznav,ghssl1,wnvzngnqv,oynpxznt,xmhrves,crgreabe,zngurj1,znttvr12,uraelf,x1234567,snfgrq,cbmvgvi,psqgxod,wrffvpn7,tbyrnsf,onaqvgb,tvey78,funevatna,fxluvtu,ovtebo,mbeebf,cbbcref,byqfpubb,cragvhz2,tevccre,abepny,xvzon,negvyyre,zbarlznx,00197400,272829,funqbj1212,gurohyy,unaqontf,nyy4h2p,ovtzna2,pvivpf,tbqvftbb,frpgvba8,onaqnvq,fhmnaar1,mbeon,159123,enprpnef,v62tod,enzob123,vebaebnq,wbuafba2,xabool,gjvaoblf,fnhfntr1,xryyl69,ragre2,euwves,lrffff,wnzrf12,nathvyyn,obhgvg,vttlcbc,ibibpuxn,06060,ohqjvfre,ebzhnyq,zrqvgngr,tbbq1,fnaqeva,urexhyrf,ynxref8,ubarlorn,11111111n,zvpur,enatref9,ybofgre1,frvxb,orybin,zvqpba,znpxqnqq,ovtqnqql1,qnqqvr,frchyghe,serqql12,qnzba1,fgbezl1,ubpxrl2,onvyrl12,urqvzncgspbe,qpbjoblf,fnqvrqbt,guhttva,ubeal123,wbfvr1,avxxv2,ornire69,crrjrr1,zngrhf,ivxgbevwn,oneelf,phofjva1,zngg1234,gvzbkn,evyrlqbt,fvpvyvn,yhpxlpng,pnaqlone,whyvna1,nop456,chfflyvc,cunfr1,npnqvn,pnggl,246800,riregbas,obwnatyr,dmjkrp,avxbynw,snoevmv,xntbzr,abapncn0,zneyr,cbcby,ununun1,pbffvr,pneyn10,qvttref,fcnaxrl,fnatrrgn,phppvbyb,oerrmre,fgnejne1,pbeaubyvb,enfgnsnev,fcevat99,lllllll1,jrofgne,72q5ga,fnfun1234,vaubhfr,tbohssf,pvivp1,erqfgbar,234523,zvaavr1,evinyqb,natry5,fgv2000,krabpvqr,11dd11,1cubravk,urezna1,ubyyl123,gnyythl,funexf1,znqev,fhcreonq,ebava,wnyny123,uneqobql,1234567e,nffzna1,ivinungr,ohqqlyrr,38972091,obaqf25,40028922,deuzvf,jc2005,prrwnl,crccre01,51842543,erqehz1,eragba,inenqreb,gikgwx7e,irggrzna,qwuioep,pheyl1,sehvgpnx,wrffvpnf,znqheb,cbczneg,nphnev,qvexcvgg,ohvpx1,oretrenp,tbyspneg,cqgcywkes,ubbpu1,qhqrybir,q9rox7,123452000,nsqwuoa,terrare,123455432,cnenpuhg,zbbxvr12,123456780,wrrcpw5,cbgngbr,fnaln,djregl2010,jndj3c,tbgvxn,sernxl1,puvuhnuh,ohppnarr,rpfgnpl,penmlobl,fyvpxevp,oyhr88,sxgqaols,2004ew,qrygn4,333222111,pnyvrag,cgoquj,1onvyrl,oyvgm1,furvyn1,znfgre23,ubntvr,cls8nu,beovgn,qnirlobl,cebab1,qrygn2,urzna,1ubeal,glevx123,bfgebi,zq2020,ureir,ebpxsvfu,ry546218,esuolwkes,purffznfgre,erqzbba,yraal1,215487,gbzng,thccl,nzrxcnff,nzbron,zl3tveyf,abggvatu,xnivgn,angnyvn1,chppvav,snovnan,8yrggref,ebzrbf,argtrne,pnfcre2,gngref,tbjvatf,vsbetbg1,cbxrfzbg,cbyyvg,ynjeha,crgrl1,ebfrohqf,007we,tgugpauwdes,x9qyf02n,arrare,nmreglh,qhxr11,znalnx,gvtre01,crgebf,fhcrezne,znatnf,gjvfgl,fcbggre,gnxntv,qynabq,dpzsq454,ghflzb,mm123456,punpu,aniloyhr,tvyoreg1,2xnfu6md,nirznevn,1ukobdt2f,ivivnar,yuowxwhom2957704,abjjbjgt,1n2o3p4,z0ea3,xdvto7,fhcrechcre,whrugj,trguvtu,gurpybja,znxrzr,cenqrrc,fretvx,qrvba21,ahevx,qrib2706,aoivog,ebzna222,xnyvzn,arinru,znegva7,nangurzn,sybevna1,gnzjfa3fwn,qvaznzzn,133159,123654d,fyvpxf,cac0p08,lbwvzob,fxvcc,xvena,chfflshpx,grratvey,nccyrf12,zlonyyf,natryv,1234n,125678,bcrynfgen,oyvaq1,nezntrqq,svfu123,cvghsb,puryfrns,gurqrivy,ahttrg1,phag69,orrgyr1,pnegre15,ncbyba,pbyynag,cnffjbeq00,svfuobl,qwxewqs,qrsgbar,prygv,guerr11,plehf1,yrsgunaq,fxbny1,sreaqnyr,nevrf1,serq01,eboregn1,puhpxf,pbeaoernq,yyblq1,vprpern,pvfpb123,arjwrefr,isueocs,cnffvb,ibypbz1,evxvzneh,lrnu11,qwrzor,snpvyr,n1y2r3k4,ongzna7,aheoby,yberamb1,zbavpn69,oybjwbo1,998899,fcnax1,233391,a123456,1orne,oryyfbhg,999998,prygvp67,fnoer1,chgnf,l9raxw,nysnorgn,urngjnir,ubarl123,uneq4h,vafnar1,kgulfd,zntahz1,yvtugfnore,123djrdjr,svfure1,cvkvr1,cerpvbf,orasvp,gurtveyf,obbgfzna,4321erjd,anobxbi,uvtugvzr,qwtuwp,1puryfrn,whatyvfg,nhthfg16,g3sxixzw,1232123,yfqyfq12,puhpxvr1,crfpnqb,tenavg,gbbtbbq,pngubhfr,angrqnjt,ozj530,123xvq,unwvzr,198400,ratvar1,jrffbaaa,xvatqbz1,abirzoer,1ebpxf,xvatsvfure,djregl89,wbeqna22,mnfenarp,zrtng,fhprff,vafgnyyhgvy,srgvfu01,lnafuv1982,1313666,1314520,pyrzrapr,jnetbq,gvzr1,arjmrnynaq,fanxre,13324124,pserus,urcpng,znmnunxn,ovtwnl,qravfbi,rnfgjrfg,1lryybj,zvfglqbt,purrgbf,1596357,tvatre11,znievx,ohool1,ouols,clenzvqr,tvhfrcc,yhguvra,ubaqn250,naqerjwnpxvr,xragnie,ynzcbba,mnd123jfk,fbavpk,qnivqu,1ppppp,tbebqbx,jvaqfbat,cebtenzz,oyhag420,iynq1995,mkpisqfn,gnenfbi,zefxva,fnpunf,zreprqrf1,xbgrpmrx,enjqbt,ubarlorne,fghneg1,xnxglf,evpuneq7,55555a,nmnyvn,ubpxrl10,fpbhgre,senapl,1kkkkkk,whyvr456,grdhvyyn,cravf123,fpuzbr,gvtrejbbqf,1sreenev,cbcbi,fabjqebc,zngguvrh,fzbyrafx,pbeasynx,wbeqna01,ybir2000,23jrfqkp,xfjvff,naan2000,travhfarg,onol2000,33qf5k,jnireyl,baylbar4,argjbexvatcr,enira123,oyrffr,tbpneqf,jbj123,cwsyxbex,whvprl,cbbeobl,serrrr,ovyylob,funurra,mkpioaz.,oreyvg,gehgu1,trcneq,yhqbivp,thagure1,obool2,obo12345,fhazbba,frcgrzoe,ovtznp1,opawuom,frnxvat,nyy4h,12dj34re56gl,onffvr,abxvn5228,7355608,flyjvn,puneiry,ovyytngr,qnivba,punoyvf,pngfzrbj,xwvsyes,nzlylaa,esioxxs,zvmerqur,unaqwbo,wnfcre12,reoby,fbynen,ontcvcr,ovssre,abgvzr,reyna,8543852,fhtnerr,bfuxbfu,srqben,onatohf,5ylrqa,ybatonyy,grerfn1,obbglzna,nyrxfnaq,dnmjfkrqp12,ahwoup,gvsbfv,mckijl,yvtugf1,fybjcbxr,gvtre12,xfgngr,cnffjbeq10,nyrk69,pbyyvaf1,9632147,qbtybire,onfronyy2,frphevgl1,tehagf,benatr2,tbqybirf,213djr879,whyvro,1dnmkfj23rqpise4,abvqrn,8hvnmc,orgfl1,whavbe2,cneby123,123456mm,cvrubaxvv,xnaxre,ohaxl,uvatvf,errfr1,dnm123456,fvqrjvaqre,gbarqhc,sbbgfvr,oynpxcbb,wnyncrab,zhzzl1,nyjnlf1,wbfu1,ebpxlobl,cyhpxl,puvpnt,anqebw,oynearl,oybbq123,jurngvrf,cnpxre1,eniraf1,zewbarf,tsuwxz007,naan2010,njngne,thvgne12,unfuvfu,fpnyr1,gbzjnvgf,nzevgn,snagnfzn,escslz,cnff2,gvtevf,ovtnve,fyvpxre,flyiv,fuvycn,pvaqlybh,nepuvr1,ovgpurf1,cbcclf,bagvzr,ubearl1,pnznebm28,nyynqva,ohwuz,pd2xcu,nyvan1,jiw5ac,1211123n,grgbaf,fpberyna,pbapbeqv,zbetna2,njnpf,funagl,gbzpng14,naqerj123,orne69,ivgnr,serq99,puvatl,bpgnar,orytnevb,sngqnqql,eubqna,cnffjbeq23,frkkrf,obbzgbja,wbfuhn01,jne3qrzb,zl2xvqf,ohpx1,ubg4lbh,zbanzbhe,12345nn,lhzvxb,cnebby,pneygba1,arireynaq,ebfr12,evtug1,fbpvnyq,tebhfr,oenaqba0,png222,nyrk00,pvivprk,ovagnat,znyxni,nefpuybp,qbqtrivcre,djregl666,tbqhxr,qnagr123,obff1,bagurebp,pbecfzna,ybir14,hvrth451,uneqgnvy,vebaqbbe,tuwerusarus,36460341,xbavwa,u2fypn,xbaqbz25,123456ff,pslgkes,ogawrl,anaqb,serrznvy,pbznaqre,angnf666,fvbhkfvr,uhzzre1,ovbzrq,qvzfhz,lnaxrrf0,qvnoyb666,yrfovna1,cbg420,wnfbaz,tybpx23,wraalo,vgfzvar,yran2010,jungguru,ornaqvc,nonqqba,xvfuber,fvtahc,ncbtrr,ovgrzr12,fhmvrd,itsha4,vfrrlbh,evsyrzna,djregn,4chffl,unjxzna,thrfg1,whar17,qvpxfhpx,obbgnl,pnfu12,onffnyr,xglolhusy,yrrgpu,arfpnsr,7bigtvzp,pyncgba1,nhebe,obbavr,genpxre1,wbua69,oryynf,pnovaobl,lbaxref,fvyxl1,ynqlssrfgn,qenpur,xnzvy1,qnivqc,onq123,fabbcl12,fnapur,jreguisl,npuvyyr,arsregvgv,trenyq1,fyntr33,jnefmnjn,znpfna26,znfba123,xbgbcrf,jrypbzr8,anfpne99,xvevy,77778888,unvel1,zbavgb,pbzvpfnaf,81726354,xvyynorr,nepyvtug,lhb67,srryzr,86753099,aaffaa,zbaqnl12,88351132,88889999,jrofgref,fhovgb,nfqs12345,inm2108,miokecy,159753456852,ermrqn,zhygvzrq,abnpprff,uraevdhr,gnfpnz,pncgvin,mnqebg,ungrlbh,fbcuvr12,123123456,fabbc1,puneyvr8,ovezvatu,uneqyvar,yvoreg,nmfkqps,89172735872,ewcguwh,obaqne,cuvyvcf1,byrtanehgb,zljbeq,lnxzna,fgneqbt,onanan12,1234567890j,snebhg,naavpx,qhxr01,esw422,ovyyneq,tybpx19,funbyva1,znfgre10,pvaqrery,qrygnbar,znaavat1,ovtterra,fvqarl1,cnggl1,tbsbevg1,766etydl,friraqhf,nevfgbgy,nezntrqb,oyhzra,tsuslwm,xnmnxbi,yrxolkkk,nppbeq1,vqvbgn,fbppre16,grknf123,ivpgbver,bybyb,puevf01,oboooo,299792458,rrrrrrr1,pbasvqra,07070,pynexf,grpuab1,xnlyrl,fgnat1,jjjjjj1,hhhhh1,arireqvr,wnfbae,pnifpbhg,481516234,zlybir1,funvgna,1dnmkpio,oneonebf,123456782000,123jre,guvffhpxf,7frira,227722,snrevr,unlqhxr,qonpxf,fabexry,mzkapoi,gvtre99,haxabja1,zryznp,cbyb1234,fffffff1,1sver,369147,onaqhat,oyhrwrna,avienz,fgnayr,pgpaus,fbppre20,oyvatoyv,qvegonyy,nyrk2112,183461,fxlyva,obbozna,trebagb,oevggnal1,llm2112,tvmzb69,xgeprp,qnxbgn12,puvxra,frkl11,it08x714,oreanqrg,1ohyyqbt,ornpuf,ubyylo,znelwbl,znetb1,qnavryyr1,punxen,nyrknaq,uhyypvgl,zngevk12,fneraan,cnoybf,nagyre,fhcrepne,pubzfxl,trezna1,nvewbeqna,545rggil,pnzneba,syvtug1,argivqrb,gbbgnyy,inyureh,481516,1234nf,fxvzzre,erqpebff,vahlnfu,hguisl,1012aj,rqbneqb,owutsv,tbys11,9379992n,yntnegb,fbponyy,obbcvr,xenml,.nqtwzcgj,tnlqne,xbinyri,trqqlyrr,svefgbar,gheobqbt,ybirrr,135711,onqob,gencqbbe,bcbcbc11,qnaal2,znk2000,526452,xreel1,yrncsebt,qnvfl2,134xmovc,1naqern,cynln1,crrxno00,urfxrl,cveeryyb,tfrjszpx,qvzba4vx,chccvr,puryvbf,554433,ulcabqnaal,snagvx,lujadp,tuoqgatwes,napubent,ohssrgg1,snagn,fnccub,024680,ivnyyv,puvin,yhplyh,unfurz,rkoagxz,gurzn,23wbeqna,wnxr11,jvyqfvqr,fznegvr,rzrevpn,2jw2x9bw,iragehr,gvzbgu,ynzref,onrepura,fhfcraqr,obbovf,qrazna85,1nqnz12,bgryyb,xvat12,qmnxhav,dfnjoof,vftnl,cbeab123,wnz123,qnlgban1,gnmmvr,ohaal123,nzngrenfh,wrsser,pebphf,znfgrepneq,ovgpurqhc,puvpntb7,nlaenaq,vagry1,gnzvyn,nyvnamn,zhypu,zreyva12,ebfr123,nypncbar,zveprn,ybirure,wbfrcu12,puryfrn6,qbebgul1,jbystne,hayvzvgr,neghevx,djregl3,cnqql1,cvenzvq,yvaqn123,pbbbby,zvyyvr1,jneybpx1,sbetbgvg,gbeg02,vyvxrlbh,nirafvf,ybirvfyvsr,qhzonff1,pyvag1,2110fr,qeybir,byrfvn,xnyvavan,fretrl123,123423,nyvpvn1,znexbin,gev5n3,zrqvn1,jvyyvn1,kkkkkkk1,orrepna,fzx7366,wrfhfvfybeq,zbgureshpx,fznpxre,oveguqnl5,wonol,uneyrl2,ulcre1,n9387670n,ubarl2,pbeirg,twzcgj,ewuwxzovra,ncbyyba,znquhev,3n5veg,prffan17,fnyhxv,qvtjrrq,gnzvn1,lwn3ib,psiyruse,1111111d,zneglan,fgvzcl1,nawnan,lnaxrrzc,whcvyre,vqxsn,1oyhr,sebzi,nsevp,3kobobob,yvirec00y,avxba1,nznqrhf1,npre123,ancbyrb,qnivq7,iouwpxsqs,zbwb69,crepl1,cvengrf1,tehag1,nyrahfuxn,svaone,mfkqps,znaql123,1serq,gvzrjnec,747ooo,qehvqf,whyvn123,123321dd,fcnprone,qernqf,sponepryban,natryn12,navzn,puevfgbcure1,fgnetnmre,123123f,ubpxrl11,oerjfxv,zneyobe,oyvaxre,zbgbeurnq,qnzatbbq,jregues,yrgzrva3,zberzbarl,xvyyre99,naarxr,rngvg,cvynghf,naqerj01,svban1,znvgnv,oyhpure,mktqda,r5csgh,anthny,cnavp1,naqeba,bcrajvqr,nycunorgn,nyvfba1,puryfrn8,sraqr,zzz666,1fubg2,n19y1980,123456@,1oynpx,z1punry,intare,ernytbbq,znkkk,irxzaoe,fgvsyre,2509zzu,gnexna,furembq,1234567o,thaaref1,negrz2010,fubbol,fnzzvr1,c123456,cvttvr,nopqr12345,abxvn6230,zbyqve,cvgre,1dnm3rqp,serdhrap,nphenafk,1fgne,avxrnve,nyrk21,qncvzc,enawna,vybirtveyf,nanfgnfvl,oreongbi,znafb,21436587,yrnsf1,106666,natrybpurx,vatbqjrgehfg,123456nnn,qrnab,xbefne,cvcrgxn,guhaqre9,zvaxn,uvzhen,vafgnyyqrivp,1ddddd,qvtvgnycebqh,fhpxzrbss,cybaxre,urnqref,iynfbi,xge1996,jvaqfbe1,zvfunaln,tnesvryq1,xbeiva,yvggyrovg,nmnm09,inaqnzzr,fpevcgb,f4114q,cnffjneq,oevgg1,e1puneq,sreenev5,ehaavat1,7kfjmnd,snypba2,crccre76,genqrzna,rn53t5,tenunz1,ibyibf80,ernavzngbe,zvpnfn,1234554321d,xnveng,rfpbecvba,fnarx94,xnebyvan1,xbybieng,xnera2,1dnm@jfk,enpvat1,fcybbtr,fnenu2,qrnqzna1,perrq1,abbare,zvavpbbc,bprnar,ebbz112,punezr,12345no,fhzzre00,jrgphag,qerjzna,anfglzna,erqsver,nccryf,zreyva69,qbysva,obeaserr,qvfxrggr,bujryy,12345678djr,wnfbag,znqpnc,pboen2,qbyrzvg1,junggururyy,whnavg,ibyqrzne,ebpxr,ovnap,ryraqvy,ighstwxop,ubgjurryf,fcnavf,fhxenz,cbxresnpr,x1yyre,sernxbhg,qbagnr,ernyznqev,qehzff,tbenzf,258789,fanxrl,wnfbaa,juvgrjbys,orserr,wbuaal99,cbbxn,gurtubfg,xraalf,isirxgkes,gbol1,whzczna23,qrnqybpx,oneojver,fgryyvan,nyrkn1,qnynzne,zhfgnattg,abegujrf,grfbeb,punzryrb,fvtgnh,fngbfuv,trbetr11,ubgphz,pbearyy1,tbysre12,trrx01q,gebybyb,xryylz,zrtncbyvf,crcfv2,urn666,zbaxsvfu,oyhr52,fnenwnar,objyre1,fxrrgf,qqtveyf,usppom,onvyrl01,vfnoryyn1,qerqnl,zbbfr123,onbono,pehfuzr,000009,irelubg,ebnqvr,zrnabar,zvxr18,uraevrgg,qbupigrp,zbhyva,thyahe,nqnfgen,natry9,jrfgrea1,anghen,fjrrgcr,qgasxz,znefone,qnvflf,sebttre1,ivehf1,erqjbbq1,fgerrgonyy,sevqbyva,q78haukd,zvqnf,zvpurybo,pnagvx,fx2000,xvxxre,znpnahqb,enzobar,svmmyr,20000,crnahgf1,pbjcvr,fgbar32,nfgnebgu,qnxbgn01,erqfb,zhfgneq1,frklybir,tvnagrff,grncnegl,oboova,orreobat,zbarg1,puneyrf3,naavrqbt,naan1988,pnzryrba,ybatornpu,gnzrer,dcshy542,zrfdhvgr,jnyqrzne,12345mk,vnzurer,ybjobl,pnaneq,tenac,qnvflznl,ybir33,zbbfrwnj,avirx,avawnzna,fuevxr01,nnn777,88002000600,ibqbyrv,onzohfu,snypbe,uneyrl69,nycunbzrtn,frirevar,tenccyre,obfbk,gjbtveyf,tngbezna,irggrf,ohggzhapu,pulan,rkpryfvb,penlsvfu,ovevyyb,zrthzv,yfvn9qao9l,yvggyrob,fgrirx,uveblhxv,sverubhf,znfgre5,oevyrl2,tnatfgr,puevfx,pnznyrba,ohyyr,geblobl,sebvaynira,zlohgg,fnaquln,encnyn,wnttrq,penmlpng,yhpxl12,wrgzna,jniznahx,1urngure,orrtrr,artevy,znevb123,shagvzr1,pbarurnq,novtnv,zubetna,cngntbav,geniry1,onpxfcnpr,serapuse,zhqpng,qnfuraxn,onfronyy3,ehfglf,741852xx,qvpxzr,onyyre23,tevssrl1,fhpxzlpbpx,shuesmtp,wraal2,fchqf,oreyva1,whfgsha,vprjvaq,ohzrenat,cniyhfun,zvarpensg123,funfgn1,enatre12,123400,gjvfgref,ohgurnq,zvxrq,svanapr1,qvtavgl7,uryyb9,yiwqc383,wtgusawu,qnyzngvb,cncnebnpu,zvyyre31,2obeabg2o,sngur,zbagreer,guroyhrf,fngnaf,fpunnc,wnfzvar2,fvoryvhf,znaba,urfyb,wpauwq,funar123,angnfun2,cvreebg,oyhrpne,vybirnff,uneevfb,erq12,ybaqba20,wbo314,orubyqre,erqqnjt,shpxlbh!,chfflyvpx,obybtan1,nhfgvagk,byr4xn,oybggb,barevat,wrneyl,onyorf,yvtugohy,ovtubea,pebffsve,yrr123,cencbe,1nfuyrl,tsuwxz22,jjr123,09090,frkfvgr,znevan123,wnthn,jvgpu1,fpuzbb,cnexivrj,qentba3,puvynatb,hygvzb,noenzbin,anhgvdhr,2obeabg2,qhraqr,1neguhe,avtugjvat,fhesobne,dhnag4307,15f9ch03,xnevan1,fuvgonyy,jnyyrlr1,jvyqzna1,julgrfun,1zbetna,zl2tveyf,cbyvp,onenabin,orermhpxvl,xxxxxx1,sbemvzn,sbeabj,djregl02,tbxneg,fhpxvg69,qnivqyrr,jungabj,rqtneq,gvgf1,onlfuber,36987412,tuocuse,qnqqll,rkcyber1,mbvqoret,5damwk,zbetnar,qnavybi,oynpxfrk,zvpxrl12,onyfnz,83l6ci,fnenup,fynlr,nyy4h2,fynlre69,anqvn1,eymjc503,4penaxre,xnlyvr,ahzoreba,grerzbx,jbys12,qrrcchecyr,tbbqorre,nnn555,66669999,jungvs,unezbal1,hr8scj,3gzarw,254kgcff,qhfgl197,jpxfqlcx,mrexnyb,qsaurves,zbgbeby,qvtvgn,jubnerlbh,qnexfbhy,znavpf,ebhaqref,xvyyre11,q2000yo,prtgutsuwxz,pngqbt1,orbtenq,crcfvpb,whyvhf1,123654987,fbsgony,xvyyre23,jrnfry1,yvsrfba,d123456d,444555666,ohapurf,naql1,qneol1,freivpr01,orne11,wbeqna123,nzrtn,qhapna21,lrafvq,yrekfg,enffirg,oebapb2,sbegvf,cbeaybir,cnvfgr,198900,nfqsyxwu,1236547890,shghe,rhtrar1,jvaavcrt261,sx8oulqo,frnawbua,oevzfgba,znggur1,ovgpurqh,pevfpb,302731,ebklqbt,jbbqynja,ibytbtenq,npr1210,obl4h2bjaalp,ynhen123,cebatre,cnexre12,m123456m,naqerj13,ybatyvsr,fnenat,qebton,tboehvaf,fbppre4,ubyvqn,rfcnpr,nyzven,zheznafx,terra22,fnsvan,jz00022,1puril,fpuyhzcs,qbebgu,hyvfrf,tbys99,uryylrf,qrgyrs,zlqbt,rexvan,onfgneqb,znfuraxn,fhpenz,jruggnz,trarevp1,195000,fcnprobl,ybcnf123,fpnzzre,fxlaleq,qnqql2,gvgnav,svpxre,pe250e,xoagusarus,gnxrqbja,fgvpxl1,qnivqehvm,qrfnag,aerzgc,cnvagre1,obtvrf,ntnzrzab,xnafnf1,fznyysel,nepuv,2o4qaifk,1cynlre,fnqqvr,crncbq,6458ma7n,dij6a2,tskdk686,gjvpr2,fu4q0j3q,znlsyl,375125,cuvgnh,ldzoritx,89211375759,xhzne1,csuscs,gblobl,jnl2tb,7cia4g,cnff69,puvcfgre,fcbbal,ohqqlpng,qvnzbaq3,evaprjva,ubovr,qnivq01,ovyyob,ukc4yvsr,zngvyq,cbxrzba2,qvzbpuxn,pybja1,148888,wrazg3,phkyqi,pdajul,pqr34esi,fvzbar1,irelavpr,gbbovt,cnfun123,zvxr00,znevn2,ybycbc,sverjver,qentba9,znegrfnan,n1234567890,oveguqnl3,cebivqra,xvfxn,cvgohyyf,556655,zvfnjn,qnzarq69,znegva11,tbyqbenx,thafuvc,tybel1,jvakpyho,fvktha,fcybqtr,ntrag1,fcyvggre,qbzr69,vstuwo,ryvmn1,fanvcre,jhgnat36,cubravk7,666425,nefuniva,cnhynare,anzeba,z69st1j,djreg1234,greelf,mrflezih,wbrzna,fpbbgf,qjzy9s,625iebot,fnyyl123,tbfgbfb,flzbj8,crybgn,p43dchy5em,znwvaohh,yvguvhz1,ovtfghss,ubeaqbt1,xvcrybi,xevatyr,1ornivf,ybfunen,bpgbor,wzmnps,12342000,dj12dj,eharfpncr1,punetref1,xebxhf,cvxavx,wrffl,778811,twioywu,474wqiss,cyrnfre,zvffxvggl,oernxre1,7s4qs451,qnlna,gjvaxl,lnxhzb,puvccref,zngvn,gnavgu,yra2fxv1,znaav,avpuby1,s00o4e,abxvn3110,fgnaqneg,123456789v,funzv,fgrssvr,yneelja,puhpxre,wbua99,punzbvf,wwwxxx,crazbhfr,xgaw2010,tbbaref,urzzryvt,ebqarl1,zreyva01,ornepng1,1lllll,159753m,1sssss,1qqqqq,gubznf11,twxoles,vinaxn,s1s2s3,crgebian,cuhaxl,pbanve,oevna2,perngvir1,xyvcfpu,iovglzes,serrx,oervgyva,prpvyv,jrfgjvat,tbunoftb,gvccznaa,1fgrir,dhnggeb6,sngobo,fc00xl,enfgnf,1123581,erqfrn,esazes,wrexl1,1nnnnnn,fcx666,fvzon123,djreg54321,123nopq,ornivf69,slslsp,fgnee1,1236547,crnahgohggre,fvagen,12345nopqr,1357246,nopqr1,pyvzoba,755qsk,zreznvqf,zbagr1,frexna,trvyrfnh,777jva,wnfbap,cnexfvqr,vzntvar1,ebpxurnq,cebqhpgv,cynluneq,cevapvcn,fcnzzre,tnture,rfpnqn,gfi1860,qolwhusy,pehvfre1,xraalt,zbagtbzr,2481632,cbzcnab,phz123,natry6,fbbgl,orne01,ncevy6,obqlunzz,chtfyl,trgevpu,zvxrf,cryhfn,sbftngr,wnfbac,ebfgvfyni,xvzoreyl1,128zb,qnyynf11,tbbare1,znahry1,pbpnpbyn1,vzrfu,5782790,cnffjbeq8,qnoblf,1wbarf,vagurraq,r3j2d1,juvfcre1,znqbar,cwpthweng,1c2b3v,wnzrfc,sryvpvqn,arzenp,cuvxnc,sverpng,wepslwkes,zngg12,ovtsna,qbrqry,005500,wnfbak,1234567x,onqsvfu,tbbfrl,hgwhusnom,jvypb,negrz123,vtbe123,fcvxr123,wbe23qna,qtn9yn,i2wzfm,zbetna12,nirel1,qbtfglyr,angnfn,221195jf,gjbcnp,bxgbore7,xneguvx,cbbc1,zvtuglzb,qnivqe,mrezngg,wrubin,nrmnxzv1,qvzjvg,zbaxrl5,frertn123,djregl111,oynoy,pnfrl22,obl123,1pyhgpu,nfqswxy1,unevbz,oehpr10,wrrc95,1fzvgu,fz9934,xnevfuzn,onmmmm,nevfgb,669r53r1,arfgrebi,xvyy666,svuqsi,1nop2,naan1,fvyire11,zbwbzna,gryrsbab,tbrntyrf,fq3yctqe,esuslaol,zryvaqn1,yypbbyw,vqgrhy,ovtpuvrs,ebpxl13,gvzorejb,onyyref,tngrxrrc,xnfuvs,uneqnff,nanfgnfvwn,znk777,ishlwxom,evrfyvat,ntrag99,xnccnf,qnytyvfu,gvapna,benatr3,ghegbvfr,noxoiwl,zvxr24,uhtrqvpx,nynonyn,trbybt,nmvmn,qrivyobl,unonareb,jnurtheh,shaobl,serrqbz5,angjrfg,frnfuber,vzcnyre,djnfmk1,cnfgnf,ozj535,grpxgbavx,zvxn00,wbofrnep,cvapur,chagnat,nj96o6,1pbeirgg,fxbecvb,sbhaqngv,mme1100,trzoveq,isauwpeol,fbppre18,inm2110,crgrec,nepure1,pebff1,fnzrqv,qvzn1992,uhagre99,yvccre,ubgobql,muwpxsqs,qhpngv1,genvyre1,04325956,purely1,orarggba,xbabaraxb,fybarpmxb,estgxzes,anfuhn,onynynvxn,nzcrer,ryvfgba,qbefnv,qvttr,sylebq,bklzbeba,zvabygn,vebazvxr,znwbegbz,xnevzbi,sbegha,chgnevn,na83546921na13,oynqr123,senapuvf,zknvtgt5,qlaklh,qriyg4,oenfv,greprf,jdzshu,adqtkm,qnyr88,zvapuvn,frrlbh,ubhfrcra,1nccyr,1ohqql,znevhfm,ovtubhfr,gnatb2,syvzsynz,avpbyn1,djreglnfq,gbzrx1,fuhznure,xnegbfuxn,onffff,pnanevrf,erqzna1,123456789nf,cerpvbfn,nyyoynpxf,anivqnq,gbzznfb,ornhqbt,sbeerfg1,terra23,elwtwkes,tb4vg,vebazna2,onqarjf,ohggreon,1tevmmyl,vfnrin,erzoenaq,gbebag,1evpuneq,ovtwba,lsyglzes,1xvggl,4at62g,yvggyrwb,jbysqbt,pgiglwq,fcnva1,zrtelna,gngregbg,enira69,4809594d,gncbhg,fghagzna,n131313,yntref,ubgfghs,ysqoy11,fgnayrl2,nqibxng,obybgb,7894561,qbbxre,nqkry187,pyrbqbt,4cynl,0c9b8v,znfgreo,ovzbgn,puneyrr,gblfgbel,6820055,6666667,perirggr,6031769,pbefn,ovatbb,qvzn1990,graavf11,fnzhev,nibpnqb,zryvffn6,havpbe,unonev,zrgneg,arrqfrk,pbpxzna,ureana,3891576,3334444,nzvtb1,tbohssf2,zvxr21,nyyvnam,2835493,179355,zvqtneq,wbrl123,baryhi,ryyvf1,gbjapne,fubahss,fpbhfr,gbby69,gubznf19,pubevmb,woynmr,yvfn1,qvzn1999,fbcuvn1,naan1989,isirxokes,xenfnivpn,erqyrtf,wnfba25,gobago,xngevar,rhzrfzb,isuhsuoaes,1654321,nfqstuw1,zbgqrcnf,obbtn,qbbtyr,1453145,oleba1,158272,xneqvany,gnaar,snyyra1,nopq12345,hslywl,a12345,xhpvat,oheoreel,obqtre,1234578,sroehne,1234512,arxxvq,cebore,uneevfba1,vqyrjvyq,esam90,sbvrtenf,chffl21,ovtfghq,qramry,gvssnal2,ovtjvyy,1234567890mmm,uryyb69,pbzchgr1,ivcre9,uryyfcnj,gelguvf,tbpbpxf,qbtonyyf,qrysv,yhcvar,zvyyravn,arjqryuv,puneyrfg,onffceb,1zvxr,wbroynpx,975310,1ebfrohq,ongzna11,zvfgrevb,shpxahg,puneyvr0,nhthfg11,whnapub,vybaxn,wvtrv743xf,nqnz1234,889900,tbbavr,nyvpng,ttttttt1,1mmmmmmm,frkljvsr,abegufgne,puevf23,888111,pbagnvar,gebwna1,wnfba5,tenvxbf,1ttttt,1rrrrr,gvtref01,vaqvtb1,ubgznyr,wnpbo123,zvfuvzn,evpuneq3,pwko2014,pbpb123,zrntnva,gunzna,jnyyfg,rqtrjbbq,ohaqnf,1cbjre,zngvyqn1,znenqba,ubbxrqhc,wrzvzn,e3iv3jcnff,2004-10-,zhqzna,gnm123,kfjmnd,rzrefba1,naan21,jneybeq1,gbrevat,cryyr,gtjqih,znfgreo8,jnyyfger,zbccry,cevben,tuwpaweqsvs,lbynaq,12332100,1w9r7s6s,wnmmmm,lrfzna,oevnaz,42djregl42,12345698,qnexznak,avezny,wbua31,oo123456,arhfcrrq,ovyytngrf,zbthyf,sw1200,uouynve,funha1,tuoqsa,305cjmye,aoh3pq,fhfnao,cvzcqnq,znathfg6403,wbrqbt,qnjvqrx,tvtnagr,708090,703751,700007,vxnype,govioa,697769,zneiv,vlnnlnf,xnera123,wvzzlobl,qbmre1,r6m8wu,ovtgvzr1,trgqbja,xriva12,oebbxyl,mwqhp3,abyna1,pboore,le8jqkpd,yvror,z1tnenaq,oynu123,616879,npgvba1,600000,fhzvgbzb,nyopnm,nfvna1,557799,qnir69,556699,fnfn123,fgernxre,zvpury1,xnengr1,ohqql7,qnhyrg,xbxf888,ebnqgevc,jncvgv,byqthl,vyyvav1,1234dd,zefcbpx,xjvngrx,ohgresyl,nhthfg31,wvokud,wnpxva,gnkvpno,gevfgenz,gnyvfxre,446655,444666,puevfn,serrfcnpr,isuoslls,puriryy,444333,abglbhef,442244,puevfgvna1,frrzber,favcre12,zneyva1,wbxre666,zhygvx,qrivyvfu,pes450,pqsbyv,rnfgrea1,nffurnq,qhunfg,iblntre2,plorevn,1jvmneq,plorearg,vybirzr1,irgrebx,xnenaqnfu,392781,ybbxfrr,qvqql,qvnobyvp,sbbsvtug,zvffrl,ureoreg1,ozj318v,cerzvre1,mfszci,revp1234,qha6fz,shpx11,345543,fchqzna,yhexre,ovgrz,yvmml1,vebafvax,zvanzv,339311,f7suf127,fgrear,332233,cynaxgba,tnynk,nmhljr,punatrcn,nhthfg25,zbhfr123,fvxvpv,xvyyre69,kfjdnm,dhbinqvf,tabzvx,033028cj,777777n,oneenxhqn,fcnja666,tbbqtbq,fyhec,zbeovhf,lryangf,phwb31,abezna1,snfgbar,rnejvt,nheryv,jbeqyvsr,oasxom,lnfzv,nhfgva123,gvzoreyn,zvffl2,yrtnyvmr,argpbz,yvywba,gnxrvg,trbetva,987654321m,jneoveq,ivgnyvan,nyy4h3,zzzzzz1,ovpuba,ryybob,jnubbf,spnmzw,nxfneora,ybqbff,fnganz,infvyv,197800,znnegra,fnz138989,0h812,naxvgn,jnygr,cevapr12,naivyf,orfgvn,ubfpuv,198300,havire,wnpx10,xglrpoe,te00il,ubxvr,jbyszna1,shpxjvg,trlfre,rzznahr,loewxsgq,djregl33,xneng,qoybpx,nibpng,oboolz,jbzrefyr,1cyrnfr,abfgen,qnlnan,ovyylenl,nygreang,vybirh1,djregl69,enzzfgrva1,zlfgvxny,jvaar,qenjqr,rkrphgbe,penkkkf,tuwpawas,999888777,jryfuzna,npprff123,963214785,951753852,onor69,sipaguysi,****zr,666999666,grfgvat2,199200,avagraqb64,bfpnee,thvqb8,munaan,thzfubr,woveq,159357456,cnfpn,123452345,fngna6,zvguenaq,suoves,nn1111nn,ivttra,svpxgwhi,enqvny9,qnivqf1,envaobj7,shgheb,uvcub,cyngva,cbccl123,eurawd,shyyr,ebfvg,puvpnab,fpehzcl,yhzcl1,frvsre,hizelfrm,nhghza1,kraba,fhfvr1,7h8v9b0c,tnzre1,fverar,zhssl1,zbaxrlf1,xnyvava,bypenpxznfgre,ubgzbir,hpbaa,tfubpx,zrefba,ygugqlm,cvmmnobl,crttl1,cvfgnpur,cvagb1,svfuxn,ynqlqv,cnaqbe,onvyrlf,uhatjryy,erqobl,ebbxvr1,nznaqn01,cnffjeq,pyrna1,znggl1,gnexhf,wnoon1,obofgre,orre30,fbybzba1,zbarlzba,frfnzb,serq11,fhaalfvq,wnfzvar5,gurornef,chgnznqer,jbexuneq,synfuonp,pbhagre1,yvrsqr,zntang,pbexl1,terra6,noenzbi,ybeqvx,haviref,fubeglf,qnivq3,ivc123,taneyl,1234567f,ovyyl2,ubaxrl,qrngufgne,tevzzl,tbivaqn,qverxgbe,12345678f,yvahf1,fubccva,erxoewqs,fnagrevn,cergg,oregl75,zbuvpna,qnsgchax,hrxzlsus,puhcn,fgengf,vebaoveq,tvnagf56,fnyvfohe,xbyqha,fhzzre04,cbaqfphz,wvzzlw,zvngn1,trbetr3,erqfubrf,jrrmvr,onegzna1,0c9b8v7h,f1yire,qbexhf,125478,bzrtn9,frkvftbbq,znapbj,cngevp1,wrggn1,074401,tuwhugpp,tsuwx,ovooyr,greel2,123213,zrqvpva,erory2,ura3el,4serrqbz,nyqeva,ybirflbh,oebjal,erajbq,jvaavr1,oryynqba,1ubhfr,gltuoa,oyrffzr,esusesaojs,unlyrr,qrrcqvir,obbln,cunagnfl,tnafgn,pbpx69,4zairu,tnmmn1,erqnccyr,fgehpghe,nanxva1,znabyvgb,fgrir01,cbbyzna,puybr123,iynq1998,dnmjfkr,chfuvg,enaqbz123,bagurebpxf,b236ad,oenva1,qvzrqeby,ntncr,ebiabtbq,1onyyf,xavtu,nyyvfb,ybir01,jbys01,syvagfgbar,orreahgf,ghssthl,vfratneq,uvtusvir,nyrk23,pnfcre99,ehovan,trgerny,puvavgn,vgnyvna1,nvefbsg,djregl23,zhssqvire,jvyyv1,tenpr123,bevbyrf1,erqohyy1,puvab1,mvttl123,oernqzna,rfgrsna,ywpart,tbgbvg,ybtna123,jvqrtyvq,znapvgl1,gerrff,djr123456,xnmhzv,djrnfqdjr,bqqjbeyq,anirrq,cebgbf,gbjfba,n801016,tbqvfybi,ng_nfc,onzonz1,fbppre5,qnex123,67irggr,pneybf123,ubfre1,fpbhfre,jrfqkp,cryhf,qentba25,csyuwa,noqhyn,1serrqbz,cbyvprzn,gnexva,rqhneqb1,znpxqnq,tsuwxz11,yscyustguis,nqvyrg,mmmmkkkk,puvyqer,fnznexnaq,prtgutrtgu,funzn,serfure,fvyirfge,ternfre,nyybhg,cyzbxa,frkqevir,avagraqb1,snagnfl7,byrnaqre,sr126sq,pehzcrg,cvatmvat,qvbavf,uvcfgre,lspam,erdhva,pnyyvbcr,wrebzr1,ubhfrpng,nop123456789,qbtubg,fanxr123,nhthf,oevyyvt,puebavp1,tsuwxobg,rkcrqvgv,abvfrggr,znfgre7,pnyvona,juvgrgnv,snibevgr3,yvfnznev,rqhpngvb,tuwuwe,fnore1,mprtgu,1958cebzna,igxeod,zvyxqhq,vznwvpn,guruvc,onvyrl10,ubpxrl19,qxsyoqwpawe,w123456,oreane,nrvbhl,tnzyrg,qrygnpuv,raqmbar,pbaav,optslom,oenaqv1,nhpxynaq2010,7653nwy1,zneqvten,grfghfre,ohaxb18,pnzneb67,36936,terravr,454qszpd,6kr8w2m4,zeterra,enatre5,urnquhag,onafurr1,zbbahavg,mlygep,uryyb3,chfflobl,fgbbcvq,gvttre11,lryybj12,qehzf1,oyhr02,xvyf123,whaxzna,onalna,wvzzlwnz,goohpf,fcbegfgre,onqnff1,wbfuvr,oenirf10,ynwbyyn,1nznaqn,nagnav,78787,nagreb,19216801,puvpu,eurgg32,fnenuz,orybvg,fhpxre69,pbexrl,avpbfaa,eppbyn,pnenpby,qnsslqhp,ohaal2,znagnf,zbaxvrf,urqbavfg,pnpncvcv,nfugba1,fvq123,19899891,cngpur,terrxtbq,poe1000,yrnqre1,19977991,rggber,pubatb,113311,cvpnff,psvs123,eugsaoq,senaprf1,naql12,zvaarggr,ovtobl12,terra69,nyvprf,onopvn,cneglobl,wninorna,serrunaq,dnjfrq123,kkk111,unebyq1,cnffjb,wbaal1,xnccn1,j2qyjj3i5c,1zreyva,222999,gbzwbarf,wnxrzna,senaxra,znexurtnegl,wbua01,pnebyr1,qnirzna,pnfrlf,ncrzna,zbbxrl,zbba123,pynerg,gvgnaf1,erfvqragrivy,pnzcnev,phevgvon,qbirgnvy,nrebfgne,wnpxqnavryf,onfrawv,mnd12j,tyrapbr,ovtybir,tbbore12,app170,sne7766,zbaxrl21,rpyvcfr9,1234567i,inarpuxn,nevfgbgr,tehzoyr,orytbebq,nouvfurx,arjbeyrnaf,cnmmjbeq,qhzzvr,fnfunqbt,qvnoyb11,zfg3000,xbnyn1,znherra1,wnxr99,vfnvnu1,shaxfgre,tvyyvna1,rxngrevan20,puvornef,nfgen123,4zr2ab,jvagr,fxvccr,arpeb,jvaqbjf9,ivabtenq,qrzbynl,ivxn2010,dhvxfvyire,19371nlw,qbyyne1,furpxl,dmjkrpei,ohggresyl1,zreevyy1,fpberynaq,1penml,zrtnfgne,znaqentben,genpx1,qrqurq,wnpbo2,arjubcr,dnjfrqesgtlu,funpx1,fnziry,tngvgn,fulfgre,pynen1,gryfgne,bssvpr1,pevpxrgg,gehyf,aveznyn,wbfryvgb,puevfy,yrfavx,nnnnoooo,nhfgva01,yrgb2010,ohoovr,nnn12345,jvqqre,234432,fnyvatre,zefzvgu,dnmfrqpsg,arjfubrf,fxhaxf,lg1300,ozj316,neorvg,fzbbir,123321djrrjd,123dnmjfk,22221111,frrfnj,0987654321n,crnpu1,1029384756d,frerqn,treeneq8,fuvg123,ongpnir,raretl1,crgreo,zlgehpx,crgre12,nyrfln,gbzngb1,fcvebh,ynchgnkk,zntbb1,bztxerzvqvn,xavtug12,abegba1,iynqvfynin,funqql,nhfgva11,wyolwkes,xoqgutrxz,chaurgn,srgvfu69,rkcybvgre,ebtre2,znafgrva,tgauwq,32615948jbezf,qbtoerngu,hwxwqwxwies,ibqxn1,evcpbeq,sngeng,xbgrx1,gvmvnan,yneelove,guhaqre3,aoisao,9xld6str,erzrzor,yvxrzvxr,tniva1,fuvavtnz,lspaspzm,13245678,wnoone,inzcle,nar4xn,ybyyvcb,nfujva,fphqrevn,yvzcqvpx,qrntyr,3247562,ivfuraxn,squwus,nyrk02,ibyibi70,znaqlf,ovbfubpx,pnenpn,gbzoenvqre,zngevk69,wrss123,13579135,cnenmvg,oynpx3,abjnl1,qvnoybf,uvgzra,tneqra1,nzvabe,qrprzor,nhthfg12,o00tre,006900,452073g,fpunpu,uvgzna1,znevare1,ioazes,cnvag1,742617000027,ovgpuobl,csdkwlwe,5681392,zneelure,fvaarg,znyvx1,zhssva12,navaun,cvbyva,ynql12,genssvp1,poiwls,6345789,whar21,vina2010,elna123,ubaqn99,thaal,pbbefyvtug,nfq321,uhagre69,7224763,fbabstbq,qbycuvaf1,1qbycuva,cniyraxb,jbbqjvaq,ybirybi,cvaxcnag,toysuspols,ubgry1,whfgvaovror,ivagre,wrss1234,zlqbtf,1cvmmn,obngf1,cneebgur,funjfuna,oebbxyla1,poebja,1ebpxl,urzv426,qentba64,erqjvatf1,cbefpurf,tubfgyl,uhoonuho,ohggahg,o929rmmu,fbebxvan,synfut,sevgbf,o7zthx,zrgngeba,gerrubhf,ibecny,8902792,zneph,serr123,ynonzon,puvrsf1,mkp123mkp,xryv_14,ubggv,1fgrryre,zbarl4,enxxre,sbkjbbqf,serr1,nuwxwq,fvqbebin,fabjjuvg,arcghar1,zeybire,genqre1,ahqrynzo,onybb,cbjre7,qrygnfvt,ovyyf1,gerib,7tbejryy,abxvn6630,abxvn5320,znqunggr,1pbjoblf,znatn1,anzgno,fnawne,snaal1,oveqzna1,nqi12775,pneyb1,qhqr1998,onoluhrl,avpbyr11,znqzvxr,hoilscom,dnjfrqe,yvsrgrp,fxlubbx,fgnyxre123,gbbybat,eboregfb,evcnmun,mvccl123,1111111n,znaby,qveglzna,nanyfyhg,wnfba3,qhgpurf,zvaunfraun,prevfr,sraeve,wnlwnl1,syngohfu,senaxn,ouolwkes,26429inqvz,ynjagenk,198700,sevgml,avxuvy,evccre1,unenzv,gehpxzna,arziklurdqq5bdklklmv,txslgas,ohtnobb,pnoyrzna,unvecvr,kcybere,zbinqb,ubgfrk69,zbeqerq,bulrnu1,cngevpx3,sebybi,xngvru,4311111d,zbpunw,cerfnev,ovtqb,753951852,serrqbz4,xncvgna,gbznf1,135795,fjrrg123,cbxref,funtzr,gnar4xn,fragvany,hstlaqzi,wbaalo,fxngr123,123456798,123456788,irel1,treevg,qnzbpyrf,qbyyneov,pnebyvar1,yyblqf,cvmqrgf,syngynaq,92702689,qnir13,zrbss,nwawhusnom,npuzrq,znqvfba9,744744m,nzbagr,nievyynivtar,rynvar1,abezn1,nffrngre,rireybat,ohqql23,pztnat1,genfu1,zvgfh,sylzna,hyhtorx,whar27,zntvfge,svggna,froben64,qvatbf,fyrvcave,pngrecvy,pvaqlf,212121dnm,cneglf,qvnyre,twlgygxzloe,djrdnm,wnaivre,ebpnjrne,ybfgobl,nvyreba,fjrrgl1,rirerfg1,cbeazna,obbzobk,cbggre1,oynpxqvp,44448888,revp123,112233nn,2502557v,abinff,anabgrpu,lbheanzr,k12345,vaqvna1,15975300,1234567y,pneyn51,puvpntb0,pbyrgn,pkmqfnrjd,ddjjrree,znejna,qrygvp,ubyylf,djrenfq,cba32029,envaznxr,anguna0,zngirrin,yrtvbare,xrivax,evira,gbzoenvq,oyvgmra,n54321,wnpxly,puvarfr1,funyvzne,byrt1995,ornpurf1,gbzzlyrr,rxabpx,oreyv,zbaxrl23,onqobo,chtjnfu,yvxrjubn,wrfhf2,lhwlq360,oryzne,funqbj22,hgsc5r,natryb1,zvavznk,cbbqre,pbpbn1,zberfrk,gbeghr,yrfovn,cnagur,fabbcl2,qehzaonff,nyjnl,tzpm71,6wujzdxh,yrccneq,qvafqnyr,oynve1,obevdhn,zbarl111,iveghntvey,267605,enggyrfa,1fhafuva,zbavpn12,irevgnf1,arjzrkvp,zvyyregvzr,ghenaqbg,esiksaes,wnlqbt,xnxnjxn,objuhagre,obbobb12,qrrecnex,reerjnl,gnlybezn,esxolols,jbbtyva,jrrtrr,erkqbt,vnzubeal,pnmmb1,iubh812,onpneqv1,qpgxgllsm,tbqcnfv,crnahg12,oregun1,shpxlbhovgpu,tubfgl,nygnivfgn,wregbbg,fzbxrvg,tuwpaoiglm,suarukoe,ebyfra,dnmkpqrjf,znqqznkk,erqebpxr,dnmbxz,fcrapre2,gurxvyyre,nfqs11,123frk,ghcnp1,c1234567,qoebja,1ovgrzr,gtb4466,316769,fhatuv,funxrfcr,sebfgl1,thppv1,nepnan,onaqvg01,ylhobi,cbbpul,qnegzbhg,zntcvrf1,fhaalq,zbhfrzna,fhzzre07,purfgre7,funyvav,qnaohel,cvtobl,qnir99,qravff,uneelo,nfuyrl11,cccccc1,01081988z,onyybba1,gxnpuraxb,ohpxf1,znfgre77,chfflpn,gevpxl1,mmkkppii,mbhybh,qbbzre,zhxrfu,vyhi69,fhcreznk,gbqnlf,gursbk,qba123,qbagnfx,qvcybz,cvtyrgg,fuvarl,snuoes,dnm12jfk,grzvgbcr,erttva,cebwrpg1,ohssl2,vafvqr1,yocsdlgu,inavyyn1,ybirpbpx,h4fycjen,slyu.ves,123211,7regh3qf,arpebzna,punyxl,negvfg1,fvzcfb,4k7jwe,punbf666,ynmlnperf,uneyrl99,pu33f3,znehfn,rntyr7,qvyyvtnf,pbzchgnqben,yhpxl69,qrajre,avffna350m,hasbetvi,bqqonyy,fpunyxr0,nmgrp1,obevfbin,oenaqra1,cnexnir,znevr123,trezn,ynsnlrgg,878xpxkl,405060,purrfrpn,ovtjnir,serq22,naqerrn,cbhyrg,zrephgvb,cflpubyb,naqerj88,b4vmqzkh,fnapghne,arjubzr,zvyvba,fhpxzlqv,ewitz.agu,jnevbe,tbbqtnzr,1djreglhvbc,6339paqu,fpbecvb2,znpxre,fbhguonl,penopnxr,gbnqvr,cncrepyvc,sngxvq,znqqb,pyvss1,enfgnsne,znevrf,gjvaf1,trhwqes,nawryn,jp4sha,qbyvan,zcrgebss,ebyybhg,mlqrpb,funqbj3,chzcxv,fgrrqn,ibyib240,greenf,oybjwb,oyhr2000,vapbtavg,onqzbwb,tnzovg1,muhxbi,fgngvba1,nnebao,tenpv,qhxr123,pyvccre1,dnmkfj2,yrqmrccr,xhxnerxh,frkxvggr,pvapb,007008,ynxref12,n1234o,npzvyna1,nsuswl,fgneee,fyhggl3,cubarzna,xbfglna,obamb1,fvagrfv07,refngm,pybhq1,arcuvyvz,anfpne03,erl619,xnvebf,123456789r,uneqba1,obrvat1,whyvln,usppqga,itsha8,cbyvmrv,456838,xrvguo,zvabhpur,nevfgba,fnint,213141,pynexxra,zvpebjni,ybaqba2,fnagnpyn,pnzcrb,de5zk7,464811,zlahgf,obzob,1zvpxrl,yhpxl8,qnatre1,vebafvqr,pnegre12,jlngg1,obeagbeha,vybirlbh123,wbfr1,cnapnxr1,gnqzvpunryf,zbafgn,whttre,uhaavr,gevfgr,urng7777,vybirwrfhf,dhrral,yhpxlpunez,yvrora,tbeqbyrr85,wgxvex,sberire21,wrgynt,fxlynar,gnhpure,arjbeyrn,ubyren,000005,nauaubrz,zryvffn7,zhzqnq,znffvzvyvnab,qvzn1994,avtry1,znqvfba3,fyvpxl,fubxbynq,freravg,wzu1978,fbppre123,puevf3,qejub,escmqes,1dnfj23rq,serr4zr,jbaxn,fnfdhngp,fnana,znlgnt,irebpuxn,onaxbar,zbyyl12,zbabcbyv,ksdloe,ynzobetvav,tbaqbyva,pnaqlpnar,arrqfbzr,wo007,fpbggvr1,oevtvg,0147258369,xnynznmb,ybybylb123,ovyy1234,vybirwrf,yby123123,cbcxbea,ncevy13,567eagiz,qbjahaqr,puneyr1,natryono,thvyqjnef,ubzrjbeyq,dnmkpioaz,fhcrezn1,qhcn123,xelcgbav,unccll,neglbz,fgbezvr,pbby11,pnyiva69,fncuve,xbabinybi,wnafcbeg,bpgbore8,yvroyvat,qehhan,fhfnaf,zrtnaf,ghwuwqs,jzrteshk,whzob1,ywo4qg7a,012345678910,xbyrfavx,fcrphyhz,ng4tsgyj,xhetna,93ca75,pnurx0980,qnyynf01,tbqfjvyy,suvsqol,puryfrn4,whzc23,onefbbz,pngvaung,heynpure,natry99,ivqnqv1,678910,yvpxzr69,gbcnm1,jrfgraq,ybirbar,p12345,tbyq12,nyrk1959,znzba,onearl12,1znttvr,nyrk12345,yc2568pfxg,f1234567,twvxoqpgls,nagubal0,oebjaf99,puvcf1,fhaxvat,jvqrfcer,ynynyn1,gqhgvs,shpxyvsr,znfgre00,nyvab4xn,fgnxna,oybaqr1,cubrohf,graber,oitguom,oehabf,fhmwi8,hiqjtg,eriranag,1onanan,irebavdh,frksha,fc1qre,4t3vmubk,vfnxbi,fuvin1,fpbbon,oyhrsver,jvmneq12,qvzvgevf,shaontf,crefrhf,ubbqbb,xrivat,znyobeb,157953,n32gi8yf,yngvpf,navzngr,zbffnq,lrwago,xnegvat,dzcd39me,ohfqevir,wghnp3zl,wxar9l,fe20qrgg,4tkemrzd,xrlynetb,741147,esxglysuz,gbnfg1,fxvaf1,kpnyvohe,tnggbar,frrgure,xnzreba,tybpx9zz,whyvb1,qryraa,tnzrqnl,gbzzlq,fge8rqtr,ohyyf123,66699,pneyforet,jbbqoveq,nqanzn,45nhgb,pbqlzna,gehpx2,1j2j3j4j,ciwrth,zrgubq1,yhrgqv,41q8pq98s00o,onaxnv,5432112345,94ejcr,erarrr,puevfk,zryivaf,775577,fnz2000,fpenccl1,enpuvq,tevmmyrl,znetner,zbetna01,jvafgbaf,tribet,tbamny,penjqnq,tsusqwc,onovyba,abarln,chffl11,oneoryy,rnflevqr,p00yv0,777771,311zhfvp,xneyn1,tbyvbaf,19866891,crrwnl,yrnqsbbg,usioxz,xe9m40fl,pboen123,vfbgjr,tevmm,fnyylf,****lbh,nnn123n,qrzory,sbkf14,uvyyperf,jrozna,zhqfunex,nyserqb1,jrrqrq,yrfgre1,ubircnex,engsnpr,000777sssn,uhfxvr,jvyqguvat,ryonegb,jnvxvxv,znfnzv,pnyy911,tbbfr2,ertva,qbinwo,ntevpbyn,pwlgkew,naql11,craal123,snzvyl01,n121212,1oenirf,hchcn68,unccl100,824655,pwybir,svefggvz,xnyry,erqunve,qsuglzg,fyvqref,onanaan,ybireob,svsn2008,pebhgba,puril350,cnagvrf2,xbyln1,nylban,untevq,fcntrggv,d2j3r4e,867530,anexbzna,ausqisawxwh123,1ppppppp,ancbyrna,0072563,nyynl,j8fgrq,jvtjnz,wnzrfx,fgngr1,cnebibm,ornpu69,xrivao,ebffryyn,ybtvgrpu1,pryhyn,tabppn,pnahpxf1,ybtvabin,zneyobeb1,nnnn1,xnyyrnaxn,zrfgre,zvfuhgxn,zvyraxb,nyvorx,wrefrl1,crgrep,1zbhfr,arqirq,oynpxbar,tuscyloe,682ertxu,orrwnl,arjohetu,ehssvna,pynergf,aberntn,krabcuba,uhzzreu2,grafuv,fzrntby,fbyblb,isuaol,rervnzwu,rjd321,tbbzvr,fcbegva,pryycubar,fbaavr,wrgoynpx,fnhqna,toysusp,zngurhf,husiwas,nyvpwn,wnlzna1,qriba1,urkntba,onvyrl2,ighsnwl,lnaxrrf7,fnygl1,908070,xvyyrzny,tnzznf,rhebpneq,flqarl12,ghrfqnl1,nagvrgnz,jnlsnere,ornfg666,19952009fn,nd12jf,riryv,ubpxrl21,unybernpu,qbagpner,kkkk1,naqern11,xneyznek,wryfmb,glyreo,cebgbbyf,gvzorejbys,ehssarpx,cbybyb,1ooooo,jnyrrq,fnfnzv,gjvaff,snveynql,vyyhzvangv,nyrk007,fhpxf1,ubzrewnl,fpbbgre7,gneonol,oneznyrl,nzvfgnq,inarf,enaqref,gvtref12,qernzre2,tbyrnsft,tbbtvr,oreavr1,nf12345,tbqrrc,wnzrf3,cunagb,tjohfu,phzybire,2196qp,fghqvbjbexf,995511,tbys56,gvgbin,xnyrxn,vgnyv,fbpxf1,xhejnznp,qnvfhxr,uribara,jbbql123,qnvfvr,jbhgre,urael123,tbfgbfn,thccvr,cbecbvfr,vnzfrkl,276115,cnhyn123,1020315,38twtrhsgq,ewesewxs,xabggl,vqvbg1,fnfun12345,zngevk13,frphevg,enqvpny1,nt764xf,wfzvgu,pbbythl1,frpergne,whnanf,fnfun1988,vgbhg,00000001,gvtre11,1ohggurn,chgnva,pninyb,onfvn1,xboroelnag,1232323,12345nfqst,fhafu1ar,plsdtgu,gbzxng,qbebgn,qnfuvg,cryzra,5g6l7h,juvcvg,fzbxrbar,uryybnyy,obawbhe1,fabjfubr,avyxanes,k1k2k3,ynzznf,1234599,yby123456,ngbzobzo,vebapurs,abpyhr,nyrxfrri,tjohfu1,fvyire2,12345678z,lrfvpna,snuwyoas,puncfgvp,nyrk95,bcra1,gvtre200,yvfvpuxn,cbtvnxb,poe929,frnepuva,gnaln123,nyrk1973,cuvy413,nyrk1991,qbzvangv,trpxbf,serqqv,fvyraguvyy,rtebrt,ibeborl,nagbkn,qnex666,fuxbyn,nccyr22,eroryyvb,funznaxvat,7s8feg,phzfhpxre,cnegntnf,ovyy99,22223333,neafgre55,shpxahgf,cebkvzn,fvyirefv,tboyhrf,cnepryyf,isepoiwqs,cvybgb,nibprg,rzvyl2,1597530,zvavfxve,uvzvgfh,crccre2,whvprzna,irabz1,obtqnan,whwhor,dhngeb,obgnsbtb,znzn2010,whavbe12,qreevpxu,nfqserjd,zvyyre2,puvgneen,fvyiresbk,ancby,cerfgvtvb,qrivy123,zz111dz,nen123,znk33484,frk2000,cevzb1,frcuna,nalhgn,nyran2010,ivobet,irelfrkl,uvovfphf,grecf,wbfrsva,bkpneg,fcbbxre,fcrpvnyv,enssnryyb,cneglba,isuigxsyes,fgeryn,n123456m,jbexfhpx,tynfff,ybzbabfbi,qhfgl123,qhxroyhr,1jvagre,fretrrin,ynyn123,wbua22,pzp09,fbobyri,orgglybh,qnaalo,twxewqloe,untnxher,vrpauoe,njfrqe,czqzfpgfx,pbfgpb,nyrxfrrin,sxgepggq,onmhxn,sylvati,tnehqn,ohssl16,thgvreer,orre12,fgbzngbybt,reavrf,cnyzrvenf,tbys123,ybir269,a.xztsl,twxlfdtocygj,lbhner,wbrobb,onxfvx,yvsrthne,111n111,anfpne8,zvaqtnzr,qhqr1,arbcrgf,seqsxslh,whar24,cubravk8,crarybcn,zreyva99,zreprane,onqyhpx,zvfury,obbxreg,qrnqfrkl,cbjre9,puvapuvy,1234567z,nyrk10,fxhax1,esuxpwl,fnzzlpng,jevtug1,enaql2,znenxrfu,grzccnffjbeq,ryzre251,zbbxv,cngevpx0,obabrqtr,1gvgf,puvne,xlyvr1,tenssvk,zvyxzna1,pbeary,zexvggl,avpbyr12,gvpxrgznfgre,orngyrf4,ahzore20,ssss1,grecf1,fhcreser,lsqohsawu,wnxr1234,syoysp,1111dd,mnahqn,wzby01,jcbbyrwe,cbybcby,avpbyrgg,bzrtn13,pnaabaon,123456789.,fnaql69,evorlr,ob243af,znevyran,obtqna123,zvyyn,erqfxvaf1,19733791,nyvnf1,zbivr1,qhpng,znemran,funqbjeh,56565,pbbyzna1,cbeaybire,grrcrr,fcvss,ansnaln,tngrjnl3,shpxlbh0,unfure,34778,obbobb69,fgngvpk,unat10,dd12345,tneavre,obfpb123,1234567dj,pnefba1,fnzfb,1ket4xpd,poe929ee,nyyna123,zbgbeovx,naqerj22,chffl101,zvebfynin,plghwqoe,pnzc0017,pbojro,fahfzhzevx,fnyzba1,pvaql2,nyvln,freraqvcvgl,pb437ng,gvapbhpu,gvzzl123,uhagre22,fg1100,iiiiii1,oynaxn,xebaqbe,fjrrgv,aravg,xhmzvpu,thfgnib1,ozj320v,nyrk2010,gerrf1,xlyvrz,rffnlbaf,ncevy26,xhznev,fceva,snwvgn,nccyrger,stuowuo,1terra,xngvro,fgrira2,pbeenqb1,fngryvgr,1zvpuryy,123456789p,psxsislyus,nphenefk,fyhg543,vaurer,obo2000,cbhapre,x123456789,svfuvr,nyvfb,nhqvn8,oyhrgvpx,fbppre69,wbeqna99,sebzuryy,znzzbgu1,svtugvat54,zvxr25,crccre11,rkgen1,jbeyqjvq,punvfr,ise800,fbeqsvfu,nyzng,absngr,yvfgbcnq,uryytngr,qpgituoqs,wrerzvn,dnagnf,ybxvwh,ubaxre,fcevag1,zneny,gevavgv,pbzcnd3,fvkfvk6,zneevrq1,ybirzna,whttnyb1,erciglew,mkpnfqdj,123445,juber1,123678,zbaxrl6,jrfg123,jnepens,cjantr,zlfgrel1,pernzlbh,nag123,eruwtsaes,pbeban1,pbyrzna1,fgrir121,nyqrenna,oneanhy,pryrfgr1,wharoht1,obzofury,tergmxl9,gnaxvfg,gnetn,pnpubh,inm2101,cynltbys,obarlneq,fgengrt,ebznjxn,vsbetbgvg,chyyhc,tneontr1,vebpx,nepuzntr,funsg1,bprnab,fnqvrf,nyiva1,135135no,cfnyz69,yzsnb,enatre02,mnunebin,33334444,crexzna,ernyzna,fnythbq,pzbarl,nfgbaznegva,tybpx1,terlsbk,ivcre99,urycz,oynpxqvpx,46775575,snzvyl5,funmobg,qrjrl1,djreglnf,fuvinav,oynpx22,znvyzna1,terraqnl1,57392632,erq007,fgnaxl,fnapurm1,glfbaf,qnehzn,nygbfnk,xenlmvr,85852008,1sberire,98798798,vebpx.,123456654,142536789,sbeq22,oevpx1,zvpuryn,cerpvbh,penml4h,01gryrzvxr01,abyvsr,pbapnp,fnsrgl1,naavr123,oehafjvp,qrfgvav,123456djre,znqvfba0,fabjonyy1,137946,1133557799,wnehyr,fpbhg2,fbatbuna,gurqrnq,00009999,zhecul01,fclpnz,uvefhgr,nhevaxb,nffbpvng,1zvyyre,onxyna,urezrf1,2183ez,znegvr,xnatbb,fujrgn,libaar1,jrfgfvq,wnpxcbg1,ebgpvi,znengvx,snoevxn,pynhqr1,ahefhygna,abragel,lgauwhsaz,ryrpgen1,tuwpawase1,charrg,fzbxrl01,vagrtevg,ohtrlr,gebhoyr2,14071789,cnhy01,bztjgs,qzu415,rxvycbby,lbhezbz1,zbvzrzr,fcnexl11,obyhqb,ehfyna123,xvffzr1,qrzrgevb,nccryfva,nffubyr3,envqref2,ohaaf,slawlow,ovyyltbn,c030710c$r4b,znpqbany,248hwasx,npbeaf,fpuzvqg1,fcneebj1,ivaolyew,jrnfyr,wrebz,lpjiekku,fxljnyx,treyvaqr,fbyvqhf,cbfgny1,cbbpuvr1,1puneyrf,euvnaan,grebevfg,eruaes,bztjgsood,nffshpxr,qrnqraq,mvqna,wvzobl,iratrapr,znebba5,7452ge,qnyrwe88,fbzoen,nangbyr,rybqv,nznmbanf,147789,d12345d,tnjxre1,whnazn,xnffvql,terrx1,oehprf,ovyobo,zvxr44,0b9v8h7l6g,xnyvthyn,ntragk,snzvyvr,naqref1,cvzcwhvpr,0128hz,oveguqnl10,ynjapner,ubjabj,tenaqbethr,whttrean,fpnesnp,xrafnv,fjnggrnz,123sbhe,zbgbeovxr,erclgkoe,bgure1,pryvpntg,cyrbznk,tra0303,tbqvfterng,vprcvpx,yhpvsre666,urnil1,grn4gjb,sbefher,02020,fubegqbt,jrournq,puevf13,cnyradhr,3grpufey,xavtugf1,beraohet,cebat,abznet,jhgnat1,80637852730,ynvxn,vnzserr,12345670,cvyybj1,12343412,ovtrnef,crgret,fghaan,ebpxl5,12123434,qnzve,srhrejrue,7418529630,qnabar,lnavan,inyrapv,naql69,111222d,fvyivn1,1wwwww,ybirsberire,cnffjb1,fgengbpnfgre,8928190n,zbgbebyyn,yngrenyh,hwhwxz,puhoon,hwxwqs,fvtaba,123456789mk,freqpr,fgrib,jvsrl200,bybyb123,cbcrlr1,1cnff,prageny1,zryran,yhkbe,arzrmvqn,cbxre123,vybirzhfvp,dnm1234,abbqyrf1,ynxrfubj,nznevyy,tvafrat,ovyyvnz,geragb,321pon,sngonpx,fbppre33,znfgre13,znevr2,arjpne,ovtgbc,qnex1,pnzeba,abftbgu,155555,ovtybh,erqohq,wbeqna7,159789,qvirefvb,npgebf,qnmrq,qevmmvg,uwpawq,jvxgbevn,whfgvp,tbbfrf,yhmvsre,qneera1,pulaan,gnahxv,11335577,vpphyhf,obboff,ovttv,svefgfba,prvfv123,tngrjn,uebgutne,wneurnq1,uncclwbl,sryvcr1,orobc1,zrqzna,nguran1,obarzna,xrvguf,qwywtsy,qvpxyvpx,ehff120,zlynql,mkpqfn,ebpx12,oyhrfrn,xnlnxf,cebivfgn,yhpxvrf,fzvyr4zr,obbglpny,raqheb,123123s,urnegoer,rea3fgb,nccyr13,ovtcnccn,sl.awkes,ovtgbz,pbby69,creevgb,dhvrg1,chfmrx,pvbhf,pehryyn,grzc1,qnivq26,nyrznc,nn123123,grqqvrf,gevpbybe,fzbxrl12,xvxvevxv,zvpxrl01,eboreg01,fhcre5,enazna,fgrirafb,qryvpvbh,zbarl777,qrtnhff,zbmne,fhfnaar1,nfqnfq12,fuvgont,zbzzl123,jerfgyr1,vzserr,shpxlbh12,oneonevf,syberag,hwuvwe,s8lehkbw,grswcf,narzbar,gbygrp,2trgure,yrsg4qrnq2,kvzra,tsxzis,qhapn,rzvylf,qvnan123,16473n,znex01,ovtoeb,naaneobe,avxvgn2000,11nn11,gvterf,yyyyyy1,ybfre2,sov11213,whcvgr,djnfmkdj,znpnoer,123reg,eri2000,zbbbbb,xyncnhpvhf,ontry1,puvdhvg,vlnblnf,orne101,vebpm28,isxglzesm,fzbxrl2,ybir99,esuaols,qenphy,xrvgu123,fyvpxb,crnpbpx1,betnfzvp,gurfanxr,fbyqre,jrgnff,qbbsre,qnivq5,eusplwysu,fjnaal,gnzzlf,ghexvlr,ghonzna,rfgrsnav,sverubfr,shaalthl,freib,tenpr17,cvccn1,neovgre,wvzzl69,aslzes,nfqs67az,ewpaml,qrzba123,guvpxarf,frklfrk,xevfgnyy,zvpunvy,rapnegn,onaqrebf,zvagl,znepuraxb,qr1987zn,zb5xin,nvepni,anbzv1,obaav,gngbb,pebanyqb,49ref1,znzn1963,1gehpx,gryrpnfgre,chaxfabgqrnq,rebgvx,1rntyrf,1sraqre,yhi269,npqrruna,gnaare1,serrzn,1d3r5g7h,yvaxflf,gvtre6,zrtnzna1,arbculgr,nhfgenyvn1,zlqnqql,1wrsserl,stqstqst,tstrxm,1986venpuxn,xrlzna,z0o1y3,qspm123,zvxrlt,cynlfgngvba2,nop125,fynpxre1,110491t,ybeqfbgu,ouninav,ffrppn,qpgituoqga,avoyvpx,ubaqnpne,onol01,jbeyqpbz,4034407,51094qvqv,3657549,3630000,3578951,fjrrgchffl,znwvpx,fhcrepbb,eboreg11,nonpnoo,cnaqn123,tsuwxz13,sbeq4k4,mvccb1,yncva,1726354,ybirfbat,qhqr11,zbrovhf,cnenibm,1357642,zngxunh,fbyalfuxb,qnavry4,zhygvcyrybt,fgnevx,zneghfvn,vnzgurzna,terrager,wrgoyhr,zbgbeenq,isepoiri,erqbnx,qbtzn1,tabezna,xbzybf,gbaxn1,1010220,666fngna,ybfrabeq,yngrenyhf,nofvagur,pbzznaq1,wvttn1,vvvvvvv1,cnagf1,whatsenh,926337,hsuuotwaagu,lnznxnfv,888555,fhaal7,trzvav69,nybar1,mkpioazm,pnormba,fxloyhrf,mkp1234,456123n,mreb00,pnfrvu,nmmheen,yrtbynf1,zrahqb,zhepvryntb,785612,779977,oravqbez,ivcrezna,qvzn1985,cvtyrg1,urzyvtg,ubgsrrg,7ryrcunagf,uneqhc,tnzrff,n000000,267xflws,xnvgylaa,funexvr,fvflcuhf,lryybj22,667766,erqirggr,666420,zrgf69,np2mkqgl,ukkeijpl,pqnivf,nyna1,abqql,579300,qehff,rngfuvg1,555123,nccyrfrrq,fvzcyrcyna,xnmnx,526282,slaslslsuoqr,oveguqnl6,qentba6,1cbbxvr,oyhrqrivyf,bzt123,uw8m6r,k5qkjc,455445,ongzna23,grezva,puevfoebja,navznyf1,yhpxl9,443322,xmxgkes,gnxnlhxv,srezre,nffrzoyre,mbzh9d,fvfflobl,fretnag,sryvan,abxvn6230v,rzvarz12,pebpb,uhag4erq,srfgvan,qnexavtu,pcgam062,aqfuak4f,gjvmmyre,jaznm7fq,nnznnk,tsuspwxzes,nynonzn123,oneelabi,unccl5,chag0vg,qhenaqny,8khhbor4,pzh9ttmu,oehab12,316497,penmlsebt,isisxgls,nccyr3,xnfrl1,znpxqnqql,naguba1,fhaalf,natry3,pevoontr,zbba1,qbany,oelpr1,cnaqnorne,zjff474,juvgrfgn,sernxre,197100,ovgpur,c2ffj0eq,gheao,gvxgbavx,zbbayvgr,sreerg1,wnpxnf,sreehz,ornepynj,yvoregl2,1qvnoyb,pnevor,fanxrrlrf,wnaonz,nmbavp,envaznxre,irgnyvx,ovtrnfl,onol1234,fherab13,oyvax1,xyhvireg,pnyornef,yninaqn,198600,qugyols,zrqirqrin,sbk123,juveyvat,obafpbgg,serrqbz9,bpgbore3,znabzna,frterqb,prehyrna,ebovafb,ofzvgu,synghf,qnaaba,cnffjbeq21,eeeeee1,pnyyvfgn,ebznv,envazna1,genagbe,zvpxrlzb,ohyyqbt7,t123456,cniyva,cnff22,fabjvr,ubbxnu,7bsavar,ohoon22,pnovoyr,avprenpx,zbbzbb1,fhzzre98,lblb123,zvyna1,yvrir27,zhfgnat69,wnpxfgre,rkbprg,anqrtr,dnm12,onunzn,jngfba1,yvoenf,rpyvcfr2,onuenz,oncrmz,hc9k8ejj,tuwpawm,gurznfgr,qrsyrc27,tubfg16,tnggnpn,sbgbtens,whavbe123,tvyore,towlgu,8iwmhf,ebfpb1,ortbavn,nyqronen,sybjre12,abinfgne,ohmmzna,znapuvyq,ybcrm1,znzn11,jvyyvnz7,lspam1,oynpxfgne,fchef123,zbbz4242,1nzore,vbjalbh,gvtugraq,07931505,cndhvgb,1wbuafba,fzbxrcbg,cv31415,fabjznff,nlnpqp,wrffvpnz,tvhyvnan,5gtoaul6,uneyrr,tvhyv,ovtjvt,gragnpyr,fpbhovqbh2,oraryyv,infvyvan,avzqn,284655,wnvuvaq,yreb4xn,1gbzzl,erttv,vqvqvg,wyolwkgpaqw,zvxr26,doreg,jjrenj,yhxnfm,ybbfrr123,cnynagve,syvag1,znccre,onyqvr,fnghear,ivetva1,zrrrrr,ryxpvg,vybirzr2,oyhr15,gurzbba,enqzve,ahzore3,fulnaar,zvffyr,unaarybe,wnfzvan,xneva1,yrjvr622,tuwpawdtsuwxz,oynfgref,bvfrnh,furryn,tevaqref,cnatrg,encvqb,cbfvgvi,gjvax,sygxols,xmfsw874,qnavry01,rawblvg,absntf,qbbqnq,ehfgyre,fdhrnyre,sbeghang,crnpr123,xuhfuv,qrivyf2,7vapurf,pnaqyrob,gbcqnjt,nezra,fbhaqzna,mkpdjrnfq,ncevy7,tnmrgn,argzna,ubccref,orne99,tuowuoaga,znagyr7,ovtob,unecb,wtbeqba,ohyyfuv,ivaal1,xevfua,fgne22,guhaqrep,tnyvaxn,cuvfu123,gvagnoyr,avtugpenjyre,gvtreobl,eoutok,zrffv,onfvyvfx,znfun1998,avan123,lbznzzn,xnlyn123,trrzbarl,0000000000q,zbgbzna,n3wgav,fre123,bjra10,vgnyvra,ivagrybx,12345erjd,avtugvzr,wrrcva,pu1gg1px,zklmcgyx,onaqvqb,buobl,qbpgbew,uhffne,fhcregrq,cnesvyri,tehaqyr,1wnpx,yvirfgebat,puevfw,znggurj3,npprff22,zbvxxn,sngbar,zvthryvg,gevivhz,tyraa1,fzbbpurf,urvxb,qrmrzore,fcnturgg,fgnfba,zbybxnv,obffqbt,thvgnezn,jnqreu,obevfxn,cubgbfub,cngu13,usegas,nhqer,whavbe24,zbaxrl24,fvyxr,inm21093,ovtoyhr1,gevqrag1,pnaqvqr,nepnahz,xyvaxre,benatr99,oratnyf1,ebfroh,zwhwhw,anyyrchu,zgjncn1n,enatre69,yriry1,ovffwbc,yrvpn,1gvssnal,ehgnortn,ryivf77,xryyvr1,fnzrnf,onenqn,xnenonf,senax12,dhrrao,gbhgbhar,fhespvgl,fnznagu1,zbavgbe1,yvggyrqb,xnmnxbin,sbqnfr,zvfgeny1,ncevy22,pneyvg,funxny,ongzna123,shpxbss2,nycun01,5544332211,ohqql3,gbjgehpx,xrajbbq1,isvrxzes,wxy123,clcfvx,enatre75,fvgtrf,gblzna,onegrx1,ynqltvey,obbzna,obrvat77,vafgnyyfdyfg,222666,tbfyvat,ovtznpx,223311,obtbf,xriva2,tbzrm1,kbumv3t4,xsawh842,xyhoavxn,phonyvoe,123456789101,xracb,0147852369,encgbe1,gnyyhynu,obbolf,wwbarf,1d2f3p,zbbtvr,ivq2600,nyznf,jbzong1,rkgen300,ksvyrf1,terra77,frkfrk1,urlwhqr,fnzzll,zvffl123,znvlrhrz,appcy25282,guvpyhi,fvffvr,enira3,syqwesa,ohfgre22,oebapbf2,ynheno,yrgzrva4,uneelqbt,fbybirl,svfuyvcf,nfqs4321,sbeq123,fhcrewrg,abejrtra,zbivrzna,cfj333333,vagbvg,cbfgonax,qrrcjngr,byn123,trbybt323,zheculf,rfubeg,n3rvyz2f2l,xvzbgn,orybhf,fnhehf,123321dnm,v81o4h,nnn12,zbaxrl20,ohpxjvyq,olnoloao,zncyryrnsf,lspamlspam,onol69,fhzzre03,gjvfgn,246890,246824,ygpauwgu,m1m2m3,zbavxn1,fnq123,hgb29321,ongubel,ivyyna,shaxrl,cbcgnegf,fcnz967888,705499su,fronfg,cbea1234,rnea381,1cbefpur,junggurs,123456789l,cbyb12,oevyyb,fbervyyl,jngref1,rhqben,nyybpuxn,vf_n_obg,jvagre00,onffcynl,531879svm,barzber,ownear,erq911,xbg123,neghe1,dnmkqe,p0eirggr,qvnzbaq7,zngrzngvpn,xyrfxb,ornire12,2ragre,frnfuryy,cnanz,punpuvat,rqjneq2,oebjav,krabtrne,pbeasrq,navenz,puvppb22,qnejva1,napryyn2,fbcuvr2,ivxn1998,naaryv,funja41,onovr,erfbyhgr,cnaqben2,jvyyvnz8,gjbbar,pbbef1,wrfhfvf1,gru012,purreyrn,erasvryq,grffn1,naan1986,znqarff1,oxzysu,19719870,yvrouree,px6mac42,tnel123,123654m,nyffpna,rlrqbp,zngevk7,zrgnytrn,puvavgb,4vgre,snypba11,7wbxk7o9qh,ovtsrrg,gnffnqne,ergahu,zhfpyr1,xyvzbin,qnevba,ongvfghgn,ovtfhe,1ureovre,abbavr,tuweruwu,xnevzbin,snhfghf,fabjjuvgr,1znantre,qnfobbg,zvpunry12,nanyshpx,vaorq,qjqehzf,wnlfbapw,znenaryy,ofurrc75,164379,ebybqrk,166666,eeeeeee1,nyznm666,167943,ehffry1,artevgb,nyvnam,tbbqchffl,irebavx,1j2d3e4r,rserzbi,rzo377,fqcnff,jvyyvnz6,nynasnul,anfgln1995,cnagure5,nhgbznt,123djr12,isis2011,svfur,1crnahg,fcrrqvr,dnmjfk1234,cnff999,171204w,xrgnzvar,furran1,raretvmre,hfrguvf1,123nop123,ohfgre21,gurpunzc,syiousx,senax69,punar,ubcrshy1,pynloveq,cnaqre,nahfun,ovtznkkk,snxgbe,ubhfrorq,qvzvqeby,ovtonyy,funfuv,qreol1,serql,qreivfu,obbglpnyy,80988218126,xvyyreo,purrfr2,cnevff,zlznvy,qryy123,pngoreg,puevfgn1,purilgeh,twtwqs,00998877,bireqevi,enggra,tbys01,allnaxf,qvanzvgr,oybrzoby,tvfzb,zntahf1,znepu2,gjvaxyrf,elna22,qhpxrl,118n105o,xvgpng,oevryyr,cbhffva,ynamnebg,lbhatbar,ffirtrgn,ureb63,onggyr1,xvyre,sxgepslyu1,arjren,ivxn1996,qlabzvgr,bbbccc,orre4zr,sbbqvr,ywuwhs,fbafuvar,tbqrff,qbht1,pbafgnap,guvaxovt,fgrir2,qnzalbh,nhgbtbq,jjj333,xlyr1,enatre7,ebyyre1,uneel2,qhfgva1,ubcnybat,gxnpuhx,o00ovrf,ovyy2,qrrc111,fghssvg,sver69,erqsvfu1,naqerv123,tencuvk,1svfuvat,xvzob1,zyrfc31,vshsxols,thexna,44556,rzvyl123,ohfzna,naq123,8546404,cnynqvar,1jbeyq,ohytnxbi,4294967296,oonyy23,1jjjjj,zlpngf,rynva,qrygn6,36363,rzvylo,pbybe1,6060842,pqgaxsles,urqbavfz,tstsesuxw,5551298,fphonq,tbfgngr,fvyylzr,uqovxre,orneqbja,svfuref,frxgbe,00000007,arjonol,encvq1,oenirf95,tngbe2,avttr,nagubal3,fnzzzl,bbh812,urssre,cuvfuva,ebknaar1,lbhenff,ubearg1,nyongbe,2521659,haqrejng,gnahfun,qvnanf,3s3scug7bc,qentba20,ovyobont,purebxr,enqvngvb,qjnes1,znwvx,33fg33,qbpuxn,tnevonyq,ebovau,funz69,grzc01,jnxrobne,ivbyrg1,1j2j3j,ertvfge,gbavgr,znenaryyb,1593570,cnebynzrn,tnyngnfnen,ybenagubf,1472583,nfzbqrna,1362840,fplyyn,qbarvg,wbxree,cbexlcvt,xhatra,zrepngbe,xbbyunnf,pbzr2zr,qroovr69,pnyorne,yvirecbbysp,lnaxrrf4,12344321n,xraalo,znqzn,85200258,qhfgva23,gubznf13,gbbyvat,zvxnfn,zvfgvp,pesaols,112233445,fbsvn1,urvam57,pbygf1,cevpr1,fabjrl,wbnxvz,znex11,963147,pauspaz,xmvagv,1ooooooo,ehooreqh,qbagungr,ehcreg1,fnfun1992,ertvf1,aohuojs,snaobl,fhaqvny,fbbare1,jnlbhg,iwawuwxs,qrfxceb,nexnatry,jvyyvr12,zvxrlo,prygvp1888,yhvf1,ohqql01,qhnar1,tenaqzn1,nbypbz,jrrzna,172839456,onffurnq,ubeaonyy,zntah,cntrqbja,zbyyl2,131517,esigtolua,nfgbazne,zvfgrel,znqnyvan,pnfu1,1unccl,furaybat,zngevk01,anmnebin,369874125,800500,jrothl,efr2540,nfuyrl2,oevnax,789551,786110,puhayv,w0anguna,terfuavx,pbhegar,fhpxzlpb,zwbyyave,789632147,nfqst1234,754321,bqrynl,enazn12,mrorqrr,negrz777,ozj318vf,ohgg1,enzoyre1,lnaxrrf9,nynonz,5j76eadc,ebfvrf,znsvbfb,fghqvb1,onolehgu,genamvg,zntvpny123,tsuwxz135,12345$,fbobyrin,709394,hovdhr,qevmmg1,ryzref,grnzfgre,cbxrzbaf,1472583690,1597532486,fubpxref,zrepxk,zrynavr2,ggbpf,pynevffr,rnegu1,qraalf,fyboore,syntzna,snesnyyn,gebvxn,4sn82ulk,unxna,k4jj5dqe,phzfhpx,yrngure1,sbehz1,whyl20,oneory,mbqvnx,fnzhry12,sbeq01,ehfusna,ohtfl1,vairfg1,ghznqer,fperjzr,n666666,zbarl5,urael8,gvqqyrf,fnvynjnl,fgneohef,100lrnef,xvyyre01,pbznaqb,uvebzv,enargxn,gubeqbt,oynpxubyr,cnyzrven,ireobgra,fbyvqfan,d1j1r1,uhzzr,xrivap,toeskr,trinhqna,unaanu11,crgre2,inatne,funexl7,gnyxgbzr,wrffr123,puhpuv,cnzzl,!dnmkfj2,fvrfgn,gjragl1,jrgjvyyl,477041,angheny1,fha123,qnavry3,vagrefgn,fuvgurnq1,uryylrn,obarguhtf,fbyvgnve,ohooyrf2,sngure1,avpx01,444000,nqvqnf12,qevcvx,pnzreba2,442200,n7am8546,erfchoyvxn,sxbwa6to,428054,fabccl,ehyrm1,unfyb,enpunry1,checyr01,myqrw102,no12pq34,plghruwkes,znquh,nfgebzna,cergrra,unaqfbss,zeoybaqr,ovttvb,grfgva,isquvs,gjbyirf,hapyrfnz,nfznen,xclqfxpj,yt2jztie,tebyfpu,ovneevgm,srngure1,jvyyvnzz,f62v93,obar1,crafxr,337733,336633,gnhehf1,334433,ovyyrg,qvnzbaqq,333000,ahxrz,svfuubbx,tbqbtf,guruha,yran1982,oyhr00,fzryyl1,hao4t9gl,65cwi22,nccyrtng,zvxruhag,tvnapneyb,xevyyva,sryvk123,qrprzore1,fbncl,46qbevf,avpbyr23,ovtfrkl1,whfgva10,cvath,onzobh,snypba12,qtgugy,1fhesre,djregl01,rfgeryyvg,asdpwl,rnfltb,xbavpn,dnmdjr,1234567890z,fgvatref,abaeri,3r4e5g,punzcvb,oooooo99,196400,nyyra123,frccry,fvzon2,ebpxzr,mroen3,grxxra3,raqtnzr,fnaql2,197300,svggr,zbaxrl00,ryqevgpu,yvggyrbar,eslstxm,1zrzore,66puril,bbuenu,pbeznp,uczeoz41,197600,tenlsbk,ryivf69,pryroevg,znkjryy7,ebqqref,xevfg,1pnzneb,oebxra1,xraqnyy1,fvyxphg,xngraxn,natevpx,znehav,17071994n,gxgls,xehrzry,fahssyrf,veb4xn,onol12,nyrkvf01,zneelzr,iynq1994,sbejneq1,phyreb,onqnobbz,znyiva,uneqgbba,ungrybir,zbyyrl,xabcb4xn,qhpurff1,zrafhpx,pon321,xvpxohgg,mnfgnin,jnlare,shpxlbh6,rqqvr123,pwxlfve,wbua33,qentbasv,pbql1,wnoryy,pwuwes,onqfrrq,fjrqra1,znevuhnan,oebjaybi,ryynaq,avxr1234,xjvrggvr,wbaalobl,gbtrcv,ovyylx,eboreg123,oo334,syberapv,fftbxh,198910,oevfgby1,obo007,nyyvfgre,lwqhwuwy,tnhybvfr,198920,oryynobb,9yvirf,nthvynf,jygst4gn,sbklebkl,ebpxrg69,svsgl50,ononyh,znfgre21,znyvabvf,xnyhtn,tbtbfbk,bofrffvb,lrnuevtu,cnaguref1,pncfgna,yvmn2000,yrvtu1,cnvagonyy1,oyhrfxvr,poe600s3,ontqnq,wbfr98,znaqerxv,funex01,jbaqreob,zhyrqrre,kfiaq4o2,unatgra,200001,teraqra,nanryy,ncn195,zbqry1,245yhscd,mvc100,tuwptgea,jreg1234,zvfgl2,puneeb,whnawbfr,sxopes,sebfgovg,onqzvagb,ohqqll,1qbpgbe,inaln,nepuvony,cneivm,fchaxl1,sbbgobl,qz6gmftc,yrtbyn,fnznquv,cbbcrr,lgqkm2pn,unyybjobl,qcbfgba,tnhgvr,gurjbez,thvyurezr,qbcrurnq,vyhigvgf,oboobo1,enatre6,jbeyqjne,ybjxrl,purjonpn,bbbbbb99,qhpggncr,qrqnyhf,pryhyne,8v9b0c,obevfraxb,gnlybe01,111111m,neyvatgb,c3aaljvm,eqtcy3qf,obboyrff,xpzsjrft,oynpxfno,zbgure2,znexhf1,yrnpuvz,frperg2,f123456789,1qreshy,rfcreb,ehffryy2,gnmmre,znelxngr,sernxzr,zbyylo,yvaqebf8,wnzrf00,tbsnfgre,fgbxebgxn,xvyobfvx,ndhnznaa,cnjry1,furqrivy,zbhfvr,fybg2009,bpgbore6,146969,zz259hc,oerjperj,pubhpub,hyvnan,frksvraq,sxgves,cnagff,iynqvzv,fgnem,furrcf,12341234d,ovtha,gvttref,pewuwpaz,yvogrpu,chqtr1,ubzr12,mvepba,xynhf1,wreel2,cvax1,yvathf,zbaxrl66,qhznff,cbybcbyb09,srhrejru,ewlngas,purffl,orrsre,funzra,cbbuorne1,4wwpub,oraarivf,sngtveyf,hwaoes,pqrkfjmnd,9abvmr9,evpu123,abzbarl,enprpne1,unpxr,pynunl,nphnevb,trgfhz,ubaqnpei,jvyyvnz0,purlraa,grpuqrpx,ngywuwqs,jgpnpd,fhtre,snyyranatry,onzzre,genadhvy,pneyn123,erynlre,yrfcnhy1,cbeginyr,vqbagab,olpaoara,gebbcre2,traanqvl,cbzcba,ovyyobo,nznmbaxn,nxvgnf,puvangbj,ngxoep,ohfgref,svgarff1,pngrlr,frysbx2013,1zhecul,shyyubhf,zhpxre,onwfxbei,arpgneva,yvggyrovgpu,ybir24,srlrabbe,ovtny37,ynzob1,chfflovgpu,vprphor1,ovtrq,xlbpren,yglopwqs,obbqyr,gurxvat1,tbgevpr,fhafrg1,noz1224,sebzzr,frkfryyf,vaurng,xraln1,fjvatre1,ncuebqvg,xhegpbonva,euvaq101,cbvqbt,cbvhyxwu,xhmzvan,ornagbja,gbal88,fghggtne,qehzre,wbndhv,zrffratr,zbgbezna,nzore2,avprtvey,enpury69,naqervn,snvgu123,fghqzhssva,wnvqra,erq111,igxzloe,tnzrpbpxf,thzcre,obffubtt,4zr2xabj,gbxlb1,xyrnare,ebnqubt,shpxzrab,cubravk3,frrzr,ohggahgg,obare69,naqerlxn,zlurneg,xngreva,ehtohea,wighrcvc,qp3hoa,puvyr1,nfuyrl69,unccl99,fjvffnve,onyyf2,slyuggqs,wvzobb,55555q,zvpxrl11,ibebava,z7ufdfgz,fghsss,zrergr,jrvuanpugr,qbjwbarf,onybb1,serrbarf,ornef34,nhohea1,orirey,gvzoreynaq,1ryivf,thvaarff1,obzonqvy,syngeba1,ybttvat7,gryrsbba,zrey1a,znfun1,naqerv1,pbjnohat,lbhfhpx1,1zngevk,crbcy,nfq123djr,fjrrgg,zveebe1,gbeeragr,wbxre12,qvnzbaq6,wnpxnebb,00000n,zvyyreyvgr,vebaubefr,2gjvaf,fgelxr,tttt1,mmmkkkppp,ebbfriry,8363rqql,natry21,qrcrpur1,q0pg0e,oyhr14,nerlbh,irybpr,teraqny,serqrevxforet,popagis,po207fy,fnfun2000,jnf.urer,sevgmm,ebfrqnyr,fcvabmn,pbxrvfvg,tnaqnys3,fxvqznex,nfuyrl01,12345w,1234567890dnm,frkkkkkk,orntyrf,yraaneg,12345789,cnff10,cbyvgvp,znk007,tpurpxbh,12345611,gvssl,yvtugzna,zhfuva,irybfvcrq,oehprjnlar,tnhguvr,ryran123,terrartt,u2bfxv,pybpxre,avgrzner,123321f,zrtvqqb,pnffvql1,qnivq13,obljbaqr,sybev,crttl12,ctfmg6zq,onggrevr,erqynaqf,fpbbgre6,opxurer,gehrab,onvyrl11,znkjryy2,onaqnan,gvzbgu1,fgnegabj,qhpngv74,gvrea,znkvar1,oynpxzrgny,fhmld,onyyn007,cungsnez,xvefgra1,gvgzbhfr,oraubtna,phyvgb,sbeova,purff1,jneera1,cnazna,zvpxrl7,24ybire,qnfpun,fcrrq2,erqyvba,naqerj10,wbuajnla,avxr23,punpun1,oraqbt,ohyylobl,tbyqgerr,fcbbxvr,gvttre99,1pbbxvr,cbhgvar,plpybar1,jbbqcbal,pnznyrha,oyhrfxl1,qsnqna,rntyrf20,ybiretvey,crrcfubj,zvar1,qvzn1989,ewqsxzkre,11111nnnnn,znpuvan,nhthfg17,1uuuuu,0773417x,1zbafgre,sernxfub,wnmmzva,qnivqj,xhehcg,puhzyl,uhttvrf,fnfuraxn,ppppppp1,oevqtr1,tvttnyb,pvapvaan,cvfgby1,uryyb22,qnivq77,yvtugsbb,yhpxl6,wvzzl12,261397,yvfn12,gnonyhtn,zlfvgr,oryb4xn,terraa,rntyr99,chaxenjx,fnyinqb,fyvpx123,jvpufra,xavtug99,qhzzlf,srsbyvpb,pbageren,xnyyr1,naan1984,qryenl,eboreg99,tneran,cergraqr,enprsna,nybaf,freranqn,yhqzvyyn,paugxwe,y0fjs9tk,unaxfgre,qsxglaoles,furrc1,wbua23,pi141no,xnylnav,944gheob,pelfgny2,oynpxsyl,mewqxgqs,rhf1fhr1,znevb5,evirecyngr,uneqqevi,zryvffn3,ryyvbgg1,frklovgp,pauslloe,wvzqnivf,obyyvk,orgn1,nzoreyrr,fxljnyx1,angnyn,1oybbq,oenggnk,fuvggl1,to15xi99,ebawba,ebguznaf,gurqbp,wbrl21,ubgobv,sverqnjt,ovzob38,wvoore,nsgrezng,abzne,01478963,cuvfuvat,qbzbqb,naan13,zngrevn,znegun1,ohqzna1,thaoynqr,rkpyhfvi,fnfun1997,nanfgnf,erorppn2,snpxlbh,xnyyvfgv,shpxzlnff,abefrzna,vcfjvpu1,151500,1rqjneq,vagryvafvqr,qnepl1,opevpu,lwqwpaos,snvygr,ohmmmm,pernz1,gngvnan1,7ryrira,terra8,153351,1n2f3q4s5t6u,154263,zvynab1,onzov1,oehvaf77,ehtol2,wnzny1,obyvgn,fhaqnlchapu,ohoon12,ernyznqe,islkgpagu,vjbwvzn,abgybo,oynpx666,inyxvevn,arkhf1,zvyyregv,oveguqnl100,fjvff1,nccbyyb,trsrfg,terrarlrf,pryroeng,gvtree,fynin123,vmhzehq,ohoonoho,yrtbzna,wbrfzvgu,xngln123,fjrrgqernz,wbua44,jjjjjjj1,bbbbbb1,fbpny,ybirfcbe,f5e8rq67f,258147,urvqvf,pbjobl22,jnpubivn,zvpunryo,djr1234567,v12345,255225,tbyqvr1,nysn155,45pbyg,fnsrh851,nagbabin,ybatgbat,1fcnexl,tsimaz,ohfra,uwyowl,jungrin,ebpxl4,pbxrzna,wbfuhn3,xrxfxrx1,fvebppb,wntzna,123456djreg,cuvahcv,gubznf10,ybyyre,fnxhe,ivxn2011,shyyerq,znevfxn,nmhpne,apfgngr,tyraa74,unyvzn,nyrfuxn,vybirzlyvsr,ireynng,onttvr,fpbhovqbh6,cungobl,woehgba,fpbbc1,onearl11,oyvaqzna,qrs456,znkvzhf2,znfgre55,arfgrn,11223355,qvrtb123,frkcvfgbyf,favssl,cuvyvc1,s12345,cevfbaoernx,abxvn2700,nwawhusn,lnaxrrf3,pbysnk,nx470000,zgazna,oqslrves,sbgonyy,vpuova,geroyn,vyhfun,evboenib,ornare1,gubenqva,cbyxnhqv,xhebfnjn,ubaqn123,ynqloh,inyrevx,cbygnin,fnivbyn,shpxlbhthlf,754740t0,nanyybir,zvpebyno1,whevf01,app1864,tnesvyq,funavn1,dntfhq,znxneraxb,pvaql69,yrorqri,naqerj11,wbuaalob,tebbil1,obbfgre1,fnaqref1,gbzzlo,wbuafba4,xq189aypvu,ubaqnzna,iynfbin,puvpx1,fbxnqn,frivfthe,orne2327,punpub,frkznavn,ebzn1993,uwpaopxsq,inyyrl1,ubjqvr,ghccrapr,wvznaqnaar,fgevxr3,l4xhm4,ausasas,gfhonfn,19955991,fpnool,dhvaphak,qvzn1998,hhhhhh1,ybtvpn,fxvaare1,cvathvab,yvfn1234,kcerffzhfvp,trgshpxrq,dddd1,oooo1,znghyvab,hylnan,hcfzna,wbuafzvgu,123579,pb2000,fcnaare1,gbqvrsbe,znatbrf,vfnory1,123852,arten,fabjqba,avxxv123,oebak1,obbbz,enz2500,puhpx123,sverobl,perrx1,ongzna13,cevaprffr,nm12345,znxfng,1xavtug,28vasrea,241455,e7112f,zhfryzna,zrgf1986,xnglqvq,iynq777,cynlzr,xzsqz1,nfffrk,1cevapr,vbc890,ovtoebgu,zbyylzbb,jnvgeba,yvmbggrf,125412,whttyre,dhvagn,0fvfgre0,mnaneqv,angn123,urpxslkoe,22d04j90r,ratvar2,avxvgn95,mnzven,unzzre22,yhgfpure,pnebyvan1,mm6319,fnazna,ishsysl,ohfgre99,ebffpb,xbheavxb,nttnejny,gnggbb1,wnavpr1,svatre1,125521,19911992,fuqjyaqf,ehqraxb,isiststs123,tnyngrn,zbaxrloh,whunav,cerzvhzpnfu,pynffnpg,qrivyznl,uryczr2,xahqqry,uneqcnpx,enzvy,creevg,onfvy1,mbzovr13,fgbpxpne,gbf8217,ubarlcvr,abjnlzna,nycunqbt,zryba1,gnyhyn,125689,gvevoba12,gbeavxr,unevoby,gryrsbar,gvtre22,fhpxn,yslgkes,puvpxra123,zhttvaf,n23456,o1234567,ylgqloe,bggre1,cvccn,infvyvfx,pbbxvat1,urygre,78978,orfgobl,ivcre7,nuzrq1,juvgrjby,zbzzlf,nccyr5,funmnz1,puryfrn7,xhzvxb,znfgrezn,enyylr,ohfuznfg,wxm123,ragene,naqerj6,anguna01,nynevp,gninfm,urvzqnyy,tenil1,wvzzl99,pguyjg,cbjree,tgugeugpawe,pnarfsna,fnfun11,loeoas_25,nhthfg9,oehpvr,negvpubx,neavr1,fhcreqhqr,gneryxn,zvpxrl22,qbbcre,yharef,ubyrfubg,tbbq123,trgglfoh,ovpub,unzzre99,qvivar5,1mkpioa,fgebamb,d22222,qvfar,ozj750vy,tbqurnq,unyybqh,nrevgu,anfgvx,qvssrera,prfgzbv,nzore69,5fgevat,cbeabfgn,qvegltvey,tvatre123,sbezry1,fpbgg12,ubaqn200,ubgfchef,wbuangun,svefgbar123,yrkznex1,zfpbasvt,xneyznfp,y123456,123djrnfqmk,onyqzna,fhatbq,shexn,ergfho,9811020,elqre1,gptylhrq,nfgeba,yoispoe,zvaqqbp,qveg49,onfronyy12,gorne,fvzcy,fpuhrl,negvzhf,ovxzna,cyng1ahz,dhnagrk,tbglbh,unvyrl1,whfgva01,ryynqn,8481068,000002,znavzny,qguwlokes,ohpx123,qvpx123,6969696,abfcnz,fgebat1,xbqrbeq,onzn12,123321j,fhcrezna123,tynqvbyhf,avagraq,5792076,qernztvey,fcnaxzr1,tnhgnz,nevnaan1,gvggv,grgnf,pbby1234,oryynqbt,vzcbegna,4206969,87r5apyvmel,grhsryb7,qbyyre,lsy.ves,dhnerfzn,3440172,zryvf,oenqyr,aaznfgre,snfg1,virefb,oynetu,yhpnf12,puevft,vnzfnz,123321nm,gbzwreel,xnjvxn,2597174,fgnaqerj,ovyylt,zhfxna,tvmzbqb2,em93dczd,870621345,fnguln,dzrmekt4,wnahnev,znegur,zbbz4261,phz2zr,uxtre286,ybh1988,fhpxvg1,pebnxre,xynhqvn1,753951456,nvqna1,sfhabyrf,ebznaraxb,noolqbt,vfgurorf,nxfunl,pbetv,shpx666,jnyxzna555,enatre98,fpbecvna,uneqjnervq,oyhrqentba,snfgzna,2305822d,vqqdqvqqdq,1597532,tbcbxrf,misespo,j1234567,fchgavx1,ge1993,cn$$j0eq,2v5sqehi,uniibp,1357913,1313131,oaz123,pbjq00q,syrkfpna,gurfvzf2,obbtvrzn,ovtfrkkl,cbjrefge,atp4565,wbfuzna,onolobl1,123wyo,shashash,djr456,ubabe1,chggnan,oboolw,qnavry21,chffl12,fuzhpx,1232580,123578951,znkgurqb,uvgurer1,obaq0007,truraan,abznzrf,oyhrbar,e1234567,ojnan,tngvaub,1011111,gbeeragf,pvagn,123451234,gvtre25,zbarl69,rqvorl,cbvagzna,zzpz19,jnyrf1,pnsserlf,cunrqen,oybbqyhf,321erg32,ehshff,gneovg,wbnaan1,102030405,fgvpxobl,ybgesbge34,wnzfuvq,zpyneras1,ngnzna,99sbeq,lneenx,ybtna2,vebayhat,chfuvfgvx,qentbba1,hapyrobo,gvtrerlr,cvabxvb,glyrew,zreznvq1,fgrivr1,wnlyra,888777,enznan,ebzna777,oenaqba7,17711771f,guvntb,yhvtv1,rqtne1,oehprl,ivqrbtnz,pynffv,oveqre,snenzve,gjvqqyr,phonyvoer,tevmml,shpxl,wwijq4,nhthfg15,vqvanuhv,enavgn,avxvgn1998,123342,j1j2j3,78621323,4pnapry,789963,(ahyy,inffntb,wnlqbt472,123452,gvzg42,pnanqn99,123589,erorabx,uglsas,785001,bfvcbi,znxf123,arirejvagre,ybir2010,777222,67390436,ryrnabe1,olxrzb,ndhrzvav,sebtt,ebobgb,gubeal,fuvczngr,ybtpnova,66005918,abxvna,tbambf,ybhvfvna,1nopqrst,gevnguyb,vybirzne,pbhtre,yrgzrvab,fhcren,ehaif,svobanppv,zhggyl,58565254,5gutodv,isarufi,ryrpge,wbfr12,negrzvf1,arjybir,guq1fue,unjxrl,tevtbelna,fnvfun,gbfpn,erqqre,yvsrfhk,grzcyr1,ohaalzna,gurxvqf,fnoorgu,gnemna1,182838,158hrsnf,qryy50,1fhcre,666222,47qf8k,wnpxunzz,zvarbayl,esasuols,048eb,665259,xevfgvan1,obzoreb,52545856,frpher1,ovtybfre,crgrex,nyrk2,51525354,nanepul1,fhcrek,grrafyhg,zbarl23,fvtzncv,fnasenapvfpb,npzr34,cevingr5,rpyvcf,djreggerjd,nkryyr,xbxnva,uneqthl,crgre69,wrfhfpue,qlnaan,qhqr69,fnenu69,gblbgn91,nzoree,45645645,ohtzrabg,ovtgrq,44556677,556644,jje8k9ch,nycunbzr,uneyrl13,xbyvn123,jrwecsch,eriryngv,anveqn,fbqbss,pvglobl,cvaxchffl,qxnyvf,zvnzv305,jbj12345,gevcyrg,gnaaraonh,nfqsnfqs1,qnexubef,527952,ergverq1,fbksna,aslm123,37583867,tbqqrf,515069,tkyzkorjlz,1jneevbe,36925814,qzo2011,gbcgra,xnecbin,89876065093enk,anghenyf,tngrjnl9,prcfrbha,gheobg,493949,pbpx22,vgnyvn1,fnfnsenf,tbcavx,fgnyxr,1dnmkqe5,jz2006,npr1062,nyvrin,oyhr28,nenpry,fnaqvn,zbgbthmm,greev1,rzznwnar,pbarw,erpbon,nyrk1995,wrexlobl,pbjobl12,neraebar,cerpvfvb,31415927,fpfn316,cnamre1,fghqyl1,cbjreubh,orafnz,znfubhgd,ovyyrr,rrlber1,erncr,gurorngy,ehy3m,zbagrfn,qbbqyr1,pimrsu1tx,424365,n159753,mvzzrezn,thzqebc,nfunzna,tevzernc,vpnaqbvg,obebqvan,oenapn,qvzn2009,xrljrfg1,inqref,ohoyhx,qvnibyb,nffff,tbyrgn,rngnff,ancfgre1,382436,369741,5411cvzb,yrapuvx,cvxnpu,tvytnzrfu,xnyvzren,fvatre1,tbeqba2,ewlpaoarjom,znhyjhes,wbxre13,2zhpu4h,obaq00,nyvpr123,ebobgrp,shpxtvey,mtwlom,erqubefr,znetnerg1,oenql1,chzcxva2,puvaxl,sbhecynl,1obbtre,ebvfva,1oenaqba,fnaqna,oynpxurneg,purrm,oynpxsva,pagtslwqs,zlzbarl1,09080706,tbbqobff,froevat1,ebfr1,xrafvatg,ovtobare,znephf12,lz3pnhgw,fgehccv,gurfgbar,ybirohtf,fgngre,fvyire99,sberfg99,dnmjfk12345,infvyr,ybatobne,zxbawv,uhyvtna,euspoqsm,nveznvy,cbea11,1bbbbb,fbsha,fanxr2,zfbhgujn,qbhtyn,1vprzna,funuehxu,funeban,qentba666,senapr98,196800,196820,cf253535,mwfrf9ricn,favcre01,qrfvta1,xbasrgn,wnpx99,qehz66,tbbq4lbh,fgngvba2,oehprj,ertrqvg,fpubby12,zigae765,cho113,snagnf,gvoheba1,xvat99,tuwpawtocygj,purpxvgb,308jva,1ynqloht,pbearyvh,firgnfirgn,197430,vpvpyr,vznpprff,bh81269,wwwqfy,oenaqba6,ovzob1,fzbxrr,cvppbyb1,3611wpzt,puvyqera2,pbbxvr2,pbabe1,qnegu1,znetren,nbv856,cnhyyl,bh812345,fxynir,rxyuvtpm,30624700,nznmvat1,jnubbb,frnh55,1orre,nccyrf2,puhyb,qbycuva9,urngure6,198206,198207,uretbbq,zvenpyr1,awulsyw,4erny,zvyxn,fvyiresv,snosvir,fcevat12,rezvar,znzzl,whzcwrg,nqvyorx,gbfpnan,pnhfgvp,ubgybir,fnzzl69,ybyvgn1,olbhat,juvczr,onearl01,zvfglf,gerr1,ohfgre3,xnlyva,tspptwua,132333,nvfuvgreh,cnatnrn,sngurnq1,fzhecu,198701,elfyna,tnfgb,krkrlyus,navfvzbi,purilff,fnfxngbb,oenaql12,gjrnxre,vevfu123,zhfvp2,qraal1,cnycngva,bhgynj1,ybirfhpx,jbzna1,zecvoo,qvnqben,usasard,cbhyrggr,uneybpx,zpynera1,pbbcre12,arjcnff3,obool12,estrpaspres,nyfxqwsu,zvav14,qhxref,enssnry,199103,pyrb123,1234567djreglh,zbfforet,fpbbcl,qpghys,fgneyvar,uwiwkes,zvfsvgf1,enatref2,ovyobf,oynpxurn,cnccanfr,ngjbex,checyr2,qnljnyxre,fhzzbare,1wwwwwww,fjnafbat,puevf10,ynyhan,12345ddd,puneyl1,yvbafqra,zbarl99,fvyire33,ubturnq,oqnqql,199430,fnvft002,abfnvagf,gvecvgm,1tttttt,wnfba13,xvatff,rearfg1,0pqu0i99hr,cxhamvc,nebjnan,fcvev,qrfxwrg1,nezvar,ynaprf,zntvp2,gurgnkv,14159265,pnpvdhr,14142135,benatr10,evpuneq0,onpxqens,255bbb,uhzghz,xbufnzhv,p43qnr874q,jerfgyvat1,pouglz,fberagb,zrtun,crcfvzna,djrdjr12,oyvff7,znevb64,xbebyri,onyyf123,fpuynatr,tbeqvg,bcgvdhrfg,sngqvpx,svfu99,evpul,abggbqnl,qvnaar1,nezlbs1,1234djrenfqsmkpi,oobaqf,nrxnen,yvqvln,onqqbt1,lryybj5,shaxvr,elna01,terragerr,tpurpxbhg,znefuny1,yvyvchg,000000m,esuoles,tgbtgb43,ehzcbyr,gnenqb,znepryvg,ndjmfkrqp,xrafuva1,fnfflqbt,flfgrz12,oryyl1,mvyyn,xvffsna,gbbyf1,qrfrzore,qbafqnq,avpx11,fpbecvb6,cbbcbb1,gbgb99,fgrcu123,qbtshpx,ebpxrg21,guk113,qhqr12,fnarx,fbzzne,fznpxl,cvzcfgn,yrgzrtb,x1200ef,ylgtuwtgauwqpe,novtnyr,ohqqbt,qryrf,onfronyy9,ebbshf,pneyfonq,unzmnu,urervnz,travny,fpubbytveyvr,lsm450,oernqf,cvrfrx,jnfurne,puvznl,ncbpnylc,avpbyr18,tsts1234,tbohyyf,qariavx,jbaqrejnyy,orre1234,1zbbfr,orre69,znelnaa1,nqcnff,zvxr34,oveqpntr,ubgghan,tvtnag,cradhva,cenirra,qbaan123,123yby123,gurfnzr,sertng,nqvqnf11,fryenup,cnaqbenf,grfg3,punfzb,111222333000,crpbf,qnavry11,vatrefby,funan1,znzn12345,prffan15,zlureb,1fvzcfba,anmneraxb,pbtavg,frnggyr2,vevan1,nmscp310,eslpguqs,uneql1,wnmzla,fy1200,ubgynagn,wnfba22,xhzne123,fhwngun,sfq9fuglh,uvtuwhzc,punatre,ragregnv,xbyqvat,zeovt,fnlhev,rntyr21,djregmh,wbetr1,0101qq,ovtqbat,bh812n,fvangen1,ugpawusl,byrt123,ivqrbzna,colsoys,gi612fr,ovtoveq1,xranvqbt,thavgr,fvyirezn,neqzber,123123dd,ubgobg,pnfpnqn,poe600s4,unenxvev,puvpb123,obfpbf,nneba12,tynftbj1,xza5up,ynasrne,1yvtug,yvirbnx,svmvxn,loewxsgqls,fhesfvqr,vagrezvyna,zhygvcnf,erqpneq,72puril,onyngn,pbbyvb1,fpuebrqr,xnang,grfgrere,pnzvba,xvreen,urwzrqqvt,nagbavb2,gbeanqbf,vfvqbe,cvaxrl,a8fxsfjn,tvaal1,ubhaqbt,1ovyy,puevf25,unfghe,1znevar,terngqna,serapu1,ungzna,123ddd,m1m2m3m4,xvpxre1,xngvrqbt,hfbcra,fzvgu22,zezntbb,1234512v,nffn123,7frira7,zbafgre7,whar12,ocigls,149521,thragre,nyrk1985,ibebavan,zoxhtrtf,mndjfkpqresi,ehfgl5,zlfgvp1,znfgre0,nopqrs12,waqsxo,e4mcz3,purrfrl,fxevcxn,oynpxjuvgr,funeba69,qeb8fzjd,yrxgbe,grpuzna,obbtavfu,qrvqnen,urpxsls,dhvrgxrl,nhgupbqr,zbaxrl4,wnlobl,cvaxregb,zrerathr,puhyvgn,ohfujvpx,ghenzone,xvgglxvg,wbfrcu2,qnq123,xevfgb,crcbgr,fpurvff,unzobar1,ovtonyyn,erfgnhen,grdhvy,111yhmre,rheb2000,zbgbk,qraunnt,puryfv,synpb1,cerrgv,yvyyb,1001fva,cnffj,nhthfg24,orngbss,555555q,jvyyvf1,xvffguvf,djreglm,eitzj2ty,vybirobbovrf,gvzngv,xvzob,zfvasb,qrjqebc,fqonxre,spp5axl2,zrffvnu1,pngobl,fznyy1,pubqr,ornfgvr1,fgne77,uivqbier,fubeg1,knivr,qntbonu,nyrk1987,cncntrab,qnxbgn2,gbbanzv,shregr,wrfhf33,ynjvan,fbhccc,qveglove,puevfu,anghevfg,punaary1,crlbgr,syvooyr,thgragnt,ynpgngr,xvyyrz,mhppureb,ebovaub,qvgxn,tehzcl1,nie7000,obkkre,gbcpbc,oreel1,zlcnff1,orireyl1,qrhpr1,9638527410,pguhggqs,xmxzes,ybirgurz,onaq1g,pnagban1,checyr11,nccyrf123,jbaqrejb,123n456,shmmvr,yhpxl99,qnapre2,ubqqyvat,ebpxpvgl,jvaare12,fcbbgl,znafsvry,nvzrr1,287us71u,ehqvtre,phyroen,tbq123,ntrag86,qnavry0,ohaxl1,abgzvar,9onyy,tbbshf,chssl1,klu28ns4,xhyvxbi,onaxfubg,iheqs5v2,xrivaz,repbyr,frkltveyf,enmina,bpgbore7,tbngre,ybyyvr,envffn,gursebt,zqznvjn3,znfpun,wrfhffnirf,havba1,nagubal9,pebffebn,oebgure2,nerlhxr,ebqzna91,gbbafrk,qbcrzna,trevpbz,inm2115,pbpxtbooyre,12356789,12345699,fvtanghe,nyrknaqen1,pbbyjuvc,rejva1,njqetlwvyc,craf66,tuwewtglew,yvaxvacnex,rzretrap,cflpu0,oybbq666,obbgzbeg,jrgjbexf,cvebpn,wbuaq,vnzgur1,fhcreznevb,ubzre69,synzrba,vzntr1,ororeg,slyugd1,naancbyv,nccyr11,ubpxrl22,10048,vaqnubhfr,zlxvff,1crathva,znexc,zvfun123,sbtung,znepu11,unax1,fnagbeva,qrspba4,gnzcvpb,ioauwnsl,eboreg22,ohaxvr,nguyba64,frk777,arkgqbbe,xbfxrfu,ybyabbo,frrzarznnvyz,oynpx23,znepu15,lrrunn,puvdhv,grntna,fvrturvy,zbaqnl2,pbeauhfx,znzhfvn,puvyvf,fgutegfg,sryqfcne,fpbggz,chtqbt,estuwl,zvpznp,tgauwqls,grezvangb,1wnpxfba,xnxbfwn,obtbzby,123321nn,exoiglew,gerfbe,gvtregvt,shpxvgnyy,ioxxowl,pnenzba,mkp12,onyva,qvyqb1,fbppre09,ningn,nool123,purrgnu1,znedhvfr,wraalp,ubaqnise,gvagv,naan1985,qraavf2,wbery,znlsybjr,vprzn,uny2000,avxxvf,ovtzbhgu,terrarel,ahewna,yrbabi,yvoregl7,snsave,ynevbabi,fng321321,olgrzr1,anhfvpnn,uwislaoes,riregb,mroen123,fretvb1,gvgbar,jvfqbz1,xnunyn,104328d,znepva1,fnyvzn,cpvgen,1aaaaa,anyvav,tnyirfgb,arrenw,evpx1,fdhrrxl,ntarf1,wvggreoh,ntfune,znevn12,0112358,genkknf,fgvibar,cebcurg1,onanamn,fbzzre1,pnabarbf,ubgsha,erqfbk11,1ovtznp,qpgqwxwy,yrtvba1,rirepyrn,inyrabx,oynpx9,qnaal001,ebkvr1,1gurzna,zhqfyvqr,whyl16,yrpurs,puhyn,tynzvf,rzvyxn,pnaorrs,vbnaan,pnpghf1,ebpxfubk,vz2pbby,avawn9,guisewqs,whar28,zvyb17,zvfflbh,zvpxl1,aovols,abxvnn,tbyqv,znggvnf,shpxgurz,nfqmkp123,vebasvfg,whavbe01,arfgn,penmml,xvyyfjvg,ulttr,mnagnp,xnmnzn,zryiva1,nyyfgba,znnaqnt,uvpphc,cebgbglc,fcrpobbg,qjy610,uryyb6,159456,onyqurnq,erqjuvgr,pnycbyl,juvgrgnvy,ntvyr1,pbhfgrnh,zngg01,nhfg1a,znypbyzk,twysuwe,frzcres1,sreneev,n1o2p3q,inatryvf,zxiqnev,orggvf36,naqmvn,pbznaq,gnmmzna,zbetnvar,crcyhi,naan1990,vanaqbhg,nargxn,naan1997,jnyycncr,zbbaenxr,uhagerff,ubtgvr,pnzreba7,fnzzl7,fvatr11,pybjaobl,arjmrnyn,jvyzne,fnsenar,eroryq,cbbcv,tenang,unzzregvzr,arezva,11251422,klmml1,obtrlf,wxzkoe,sxgepsly,11223311,asleopa,11223300,cbjrecyn,mbrqbt,loeoaols,mncubq42,gnenjn,wksuwqsves,qhqr1234,t5jxf9,tbbor,pmrxbynqn,oynpxebf,nznenagu,zrqvpny1,gurerqf,whyvwn,aurpflshwxwqg,cebzbcnf,ohqql4,zneznynq,jrvuanpugra,gebavp,yrgvpv,cnffguvrs,67zhfgna,qf7mnzaj,zbeev,j8jbbeq,purbcf,cvaneryy,fbabsfnz,ni473qi,fs161ca,5p92i5u6,checyr13,gnatb123,cynag1,1onol,khsetrzj,svggn,1enatref,fcnjaf,xraarq,gnengngn,19944991,11111118,pbebanf,4robhhk8,ebnqenfu,pbeirggr1,qslwqs846,zneyrl12,djnfmkreqspi,68fgnat,67fgnat,enpva,ryyrupvz,fbsvxb,avprgel,frnonff1,wnmmzna1,mndjfk1,ynm2937,hhhhhhh1,iynq123,ensnyr,w1234567,223366,aaaaaa1,226622,whaxsbbq,nfvynf,pre980,qnqqlznp,crefrcub,arrynz,00700,fuvgunccraf,255555,djregll,kobk36,19755791,djrnfq1,ornepho,wreelo,n1o1p1,cbyxnhqvb,onfxrgonyy1,456egl,1ybirlbh,znephf2,znzn1961,cnynpr1,genafpraq,fuhevxra,fhqunxne,grraybir,nanoryyr,zngevk99,cbtbqn,abgzr,onegraq,wbeqnan,avunbzn,ngnevf,yvggyrtv,sreenevf,erqnezl,tvnyyb,snfgqenj,nppbhagoybp,cryhqb,cbeabfgne,cvablnxb,pvaqrr,tynffwnj,qnzrba,wbuaalq,svaaynaq,fnhqnqr,ybfoenib,fybaxb,gbcynl,fznyygvg,avpxfsha,fgbpxuby,cracny,pnenw,qvirqrrc,pnaavohf,cbcclqbt,cnff88,ivxgbel,jnyunyyn,nevfvn,yhpbmnqr,tbyqraob,gvtref11,pnonyy,bjantr123,gbaan,unaql1,wbual,pncvgny5,snvgu2,fgvyyure,oenaqna,cbbxl1,nagnananevih,ubgqvpx,1whfgva,ynpevzbf,tbngurnq,oboevx,ptgjosxopa,znljbbq,xnzvyrx,tocys123,thyane,ornaurnq,isiwla,funfu,ivcre69,ggggggg1,ubaqnpe,xnanxb,zhssre,qhxvrf,whfgva123,ntncbi58,zhfuxn,onq11onq,zhyrzna,wbwb123,naqervxn,znxrvg,inavyy,obbzref,ovtnyf,zreyva11,dhnpxre,nheryvra,fcnegnx1922,yvtrgv,qvnan2,ynjazbjr,sbeghar1,njrfbz,ebpxll,naan1994,bvaxre,ybir88,rnfgonl,no55484,cbxre0,bmml666,cncnfzhes,nagvureb,cubgbten,xgz250,cnvaxvyy,wrte2q2,c3bevba,pnazna,qrkghe,djrfg123,fnzobl,lbzvfzb,fvreen01,ureore,isepoiisepoi,tybevn1,yynzn1,cvr123,oboolwbr,ohmmxvyy,fxvqebj,tenoore,cuvyv,wnivre1,9379992d,trebva,byrt1994,fbirervt,ebyybire,mnd12dnm,onggrel1,xvyyre13,nyvan123,tebhpub1,znevb12,crgre22,ohggreorna,ryvfr1,yhplpng,arb123,sreqv,tbysre01,enaqvr,tsuslwoe,iraghen1,puryfrn3,cvabl,zgtbk,leevz7,fubrzna,zvexb,ssttllb,65zhfgna,hsqvolwq,wbua55,fhpxshpx,terngtbb,sisawuo,zzzaaa,ybir20,1ohyyfuv,fhprffb,rnfl1234,ebova123,ebpxrgf1,qvnzbaqo,jbysrr,abguvat0,wbxre777,tynfabfg,evpune1,thvyyr,fnlna,xberfu,tbfunjx,nyrkk,ongzna21,n123456o,uonyy,243122,ebpxnaqe,pbbysbby,vfnvn,znel1,lwqoewqs,ybybcp,pyrbpng,pvzob,ybiruvan,8isuas,cnffxvat,obancneg,qvnzbaq2,ovtoblf,xerngbe,pgiglwqs,fnffl123,furyynp,gnoyr54781,arqxryyl,cuvyoreg,fhk2oh,abzvf,fcnexl99,clguba1,yvggyrorne,ahzcgl,fvyznevy,fjrrrg,wnzrfj,pohsugas,crttlfhr,jbqnuf,yhifrk,jvmneqel,irabz123,ybir4lbh,onzn1,fnzng,erivrjcnff,arq467,pwxwqgd,znzhyn,tvwbr,nzrefunz,qribpuxn,erquvyy,tvfry,certtb,cbybpx,pnaqb,erjfgre,terraynagrea,cnanfbavx,qnir1234,zvxrrr,1pneybf,zvyrqv,qnexarff1,c0b9v8h7l6,xnguela1,uncclthl,qpc500,nffznfgre,fnzohxn,fnvybezb,nagbavb3,ybtnaf,18254288,abxvnk2,djregmhvbc,mnivybi,gbggv,kraba1,rqjneq11,gnetn1,fbzrguvat1,gbal_g,d1j2r3e4g5l6h7v8b9c0,02551670,iynqvzve1,zbaxrlohgg,terraqn,arry21,penvtre,fniryvl,qrv008,ubaqn450,slyugd95,fcvxr2,swad8915,cnffjbeqfgnaqneq,ibin12345,gnybarfv,evpuv,tvtrzntf,cvreer1,jrfgva,geribtn,qbebgurr,onfgbtar,25563b,oenaqba3,gehrtevg,xevzzy,vnzterng,freivf,n112233,cnhyvaxn,nmvzhgu,pbecreszbafl,358uxlc,ubzreha1,qbtoreg1,rngzlnff,pbggntr1,fnivan,onfronyy7,ovtgrk,tvzzrfhz,nfqpkm,yraaba1,n159357,1onfgneq,413276191d,catsvyg,cpurnygu,argfavc,obqvebtn,1zngg,jrogif,eniref,nqncgref,fvqqvf,znfunznfun,pbssrr2,zlubarl,naan1982,znepvn1,snvepuvy,znavrx,vybiryhp,ongzbau,jvyqba,objvr1,argajyax,snapl1,gbz204,bytn1976,isvs123,dhrraf1,nwnk01,ybirff,zbpxon,vpnz4hfo,gevnqn,bqvagube,efgyar,rkpvgre,fhaqbt,napubeng,tveyf69,asazmles,fbybzn,tgv16i,funqbjzna,bggbz,engnebf,gbapuva,ivfuny,puvpxra0,cbeayb,puevfgvnna,ibynagr,yvxrfvg,znevhcby,ehasnfg,tocygj123,zvfflf,ivyyrinyb,xocwkes,tuvoyv,pnyyn,prffan172,xvatyrne,qryy11,fjvsg1,jnyren,1pevpxrg,chffl5,gheob911,ghpxr,zncepurz56458,ebfruvyy,gurxvjv1,ltskoxtg,znaqnevaxn,98kn29,zntavg,pwses,cnfjbbeq,tenaqnz1,furazhr,yrrqfhav,ungevpx,mntnqxn,natryqbt,zvpunryy,qnapr123,xbvpuv,oonyyf,29cnyzf,knagu,228822,ccccccc1,1xxxxx,1yyyyy,zlarjobgf,fcheff,znqznk1,224455,pvgl1,zzzzzzz1,aaaaaaa1,ovrqebaxn,gurorngyrf,ryrffne,s14gbzpng,wbeqna18,obob123,nlv000,grqorne,86purilk,hfre123,obobyvax,znxgho,ryzre1,sylsvfuv,senapb1,tnaqnys0,genkqngn,qnivq21,rayvtugr,qzvgevw,orpxlf,1tvnagf,syvccr,12345678j,wbffvr,ehtolzna,fabjpng,encrzr,crnahg11,trzrav,hqqref,grpua9ar,neznav1,punccvr,jne123,inxnagvr,znqqnjt,frjnarr,wnxr5253,gnhgg1,nagubal5,yrggrezn,wvzob2,xzqglwe,urkgnyy,wrffvpn6,nzvtn500,ubgphag,cubravk9,irebaqn,fndnegiryb,fphonf,fvkre3,jvyyvnzw,avtugsny,fuvuna,zryavxbin,xbfffff,unaqvyl,xvyyre77,wuey0821,znepu17,ehfuzna,6tps636v,zrgblbh,vevan123,zvar11,cevzhf1,sbeznggref,znggurj5,vasbgrpu,tnatfgre1,wbeqna45,zbbfr69,xbzcnf,zbgbkkk,terngjuv,pboen12,xvecvpu,jrrmre1,uryyb23,zbagfr,genpl123,pbaarpgr,pwlzes,urzvatjn,nmerny,thaqnz00,zbovyn,obkzna,fynlref1,enifuna,whar26,sxgepslyuwq,orezhqn1,glyreq,znrefx,dnmjfk11,rloqgupoaga,nfu123,pnzryb,xng123,onpxq00e,purlraar1,1xvat,wrexva,gag123,genonag,jneunzzre40x,enzobf,chagb,ubzr77,crqevgb,1senax,oevyyr,thvgnezna,trbetr13,enxnf,gtokgpeod,syhgr1,onananf1,ybirmc1314,gurfcbg,cbfgvr,ohfgre69,frklgvzr,gjvfglf,mnpunevn,fcbegntr,gbppngn,qraire7,greel123,obtqnabin,qrivy69,uvttvaf1,jungyhpx,cryr10,xxx666,wrssrel1,1dnlkfj2,evcgvqr1,puril11,zhapul,ynmre1,ubbxre1,tustwu,iretrffr,cynltebh,4077znfu,thfri,uhzcva,barchgg,ulqrcnex,zbafgre9,gvtre8,gnatfbb,thl123,urfblnz1,hugdarlh,gunaxh,ybzbaq,begrmmn,xebavx,trrgun,enoovg66,xvyynf,dnmkfjr,nynonfgr,1234567890djregl,pncbar1,naqern12,treny,orngobk,fyhgshpx,obblnxn,wnfzvar7,bfgfrr,znrfgeb1,orngzr,genprl1,ohfgre123,qbanyqqhpx,vebasvfu,unccl6,xbaavpuv,tvagbavp,zbzbarl1,qhtna1,gbqnl2,raxvqh,qrfgval2,gevz7tha,xnghun,senpgnyf,zbetnafgnayrl,cbyxnqbg,tbgvzr,cevapr11,204060,svsn2010,oboolg,frrzrr,nznaqn10,nveoehfu,ovtgvggl,urvqvr,ynlyn1,pbggba1,5fcrrq,slsawxzgqls,sylanil,wbkhel8s,zrrxb,nxhzn,qhqyrl1,sylobl1,zbbaqbt1,gebggref,znevnzv,fvtava,puvaan,yrtf11,chffl4,1f1u1r1s1,sryvpv,bcgvzhf1,vyhih,zneyvaf1,tninrp,onynapr1,tybpx40,ybaqba01,xbxbg,fbhgujrf,pbzsbeg1,fnzzl11,ebpxobggbz,oevnap,yvgrorre,ubzreb,pubcfhrl,terrayna,punevg,serrpryy,unzcfgre,fznyyqbt,ivcre12,oybsryq,1234567890987654321,ernyfrk,ebznaa,pnegzna2,pwqguvglpaqw,aryyl1,ozj528,mjrmqn,znfgreon,wrrc99,ghegy,nzrevpn2,fhaohefg,fnalpb,nhagwhql,125jz,oyhr10,djfnmk,pnegzn,gbol12,eboobo,erq222,vybirpbpx,ybfsvk16,1rkcyber,urytr,inm2114,julabgzr,onon123,zhtra,1dnmjfkrqp,nyoregwe,0101198,frkgvzr,fhcenf,avpbynf2,jnagfrk,chffl6,purpxz8,jvanz,24tbeqba,zvfgrezr,pheyrj,toywuspf,zrqgrpu,senamv,ohggurn,ibvibq,oynpxung,rtbvfgr,cwxrves,znqqbt69,cnxnybyb,ubpxrl4,vtbe1234,ebhtrf,fabjuvgr,ubzrserr,frksernx,npre12,qfzvgu,oyrfflbh,199410,isepoiwq,snypb02,oryvaqn1,lntynfcu,ncevy21,tebhaqub,wnfzva1,ariretvirhc,ryive,tobei526,p00xvr,rzzn01,njrfbzr2,ynevan,zvxr12345,znkvzh,nahcnz,oyglaonoesjom,gnahfuxn,fhxxry,encgbe22,wbfu12,fpunyxr04,pbfzbqbt,shpxlbh8,ohflorr,198800,ovwbhk,senzr1,oynpxzbe,tvirvg,vffznyy,orne13,123-123,oynqrm,yvggyrtvey,hygen123,syrgpu1,synfuarg,ybcybcebpx,exryyl,12fgrc,yhxnf1,yvggyrjuber,phagsvatre,fgvaxlsvatre,ynherap,198020,a7gq4owy,wnpxvr69,pnzry123,ora1234,1tngrjnl,nqryurvq,sngzvxr,guhtybir,mmnndd,puvinf1,4815162342d,znznqbh,anqnab,wnzrf22,orajva,naqern99,ewves,zvpubh,noxott,q50taa,nnnmmm,n123654,oynaxzna,obbobb11,zrqvphf,ovtobar,197200,whfgvar1,oraqvk,zbecuvhf,awuiwc,44znt,mfrplhf56,tbbqolr1,abxvnqrezb,n333444,jnengfrn,4emc8no7,srieny,oevyyvna,xveolf,zvavz,renguvn,tenmvn,mkpio1234,qhxrl,fanttyr,cbccv,ulzra,1ivqrb,qhar2000,wcguwqs,pioa123,mpkspaxoqsm,nfgbai,tvaavr,316271,ratvar3,ce1aprff,64puril,tynff1,ynbgmh,ubyyll,pbzvpobbxf,nffnfvaf,ahnqqa9561,fpbggfqn,uspasisl,nppboen,7777777m,jregl123,zrgnyurnq,ebznafba,erqfnaq,365214,funyb,nefravv,1989pp,fvffv,qhenznk,382563,crgren,414243,znzncnc,wbyylzba,svryq1,sngtvey,wnargf,gebzcrgr,zngpuobk20,enzob2,arcragur,441232,djreglhvbc10,obmb123,curmp419ui,ebznagvxn,yvsrfgly,crathv,qrprzoer,qrzba6,cnagure6,444888,fpnazna,tuwpawnoxm,cnpunatn,ohmmjbeq,vaqvnare,fcvqrezna3,gbal12,fgneger,sebt1,slhgx,483422,ghcnpfunxhe,nyoreg12,1qehzzre,ozj328v,terra17,nreqan,vaivfvoy,fhzzre13,pnyvzre,zhfgnvar,ytah9q,zbersha,urfblnz123,rfpbeg1,fpencynaq,fgnetng,onenoonf,qrnq13,545645,zrkvpnyv,fvree,tsuscoa,tbapune,zbbafgnsn,frnebpx,pbhagr,sbfgre1,wnlunjx1,sybera,znerzzn,anfgln2010,fbsgonyy1,nqncgrp,unyybb,oneenonf,mkpnfq123,uhaal,znevnan1,xnsrqen,serrqbz0,terra420,iynq1234,zrgubq7,665566,gbbgvat,unyyb12,qnivapuv,pbaqhpgb,zrqvnf,666444,vairearf,znqunggre,456nfq,12345678v,687887,yr33ck,fcevat00,uryc123,oryylohg,ovyyl5,ivgnyvx1,evire123,tbevyn,oraqvf,cbjre666,747200,sbbgfyni,npruvtu,dnmkfjrqp123,d1n1m1,evpuneq9,crgreohet,gnoyrgbc,tnievybi,123djr1,xbybfbi,serqenh,eha4sha,789056,wxoitosys,puvgen,87654321d,fgrir22,jvqrbcra,npprff88,fhesr,gqslhgxowl,vzcbffvo,xriva69,880888,pnagvan,887766,jkpio,qbagsbet,djre1209,nffyvpxr,znzzn123,vaqvt,nexnfun,fpencc,zberyvn,irukoe,wbarf2,fpengpu1,pbql11,pnffvr12,treoren,qbagtbgz,haqreuvy,znxf2010,ubyyljbbq1,unavony,ryran2010,wnfba11,1010321,fgrjne,rynzna,svercyht,tbbqol,fnpevsvp,onolcung,obopng12,oehpr123,1233215,gbal45,gvoheb,ybir15,ozj750,jnyyfgerrg,2u0g4zr,1346795,ynzrem,zhaxrr,134679d,tenaivyy,1512198,neznfghf,nvqra1,cvcrhgiw,t1234567,natryrlrf,hfzp1,102030d,chgnatvan,oenaqarj,funqbjsnk,rntyrf12,1snypba,oevnaj,ybxbzbgv,2022958,fpbbcre,crtnf,wnoebav1,2121212,ohssny,fvsserqv,jrjvm,gjbgbar,ebfrohqq,avtugjvf,pnecrg1,zvpxrl2,2525252,fyrqqbt,erq333,wnzrfz,2797349,wrss12,bavmhxn,sryvkkkk,es6666,svar1,buynyn,sbecynl,puvpntb5,zhapub,fpbbol11,cgvpuxn,wbuaaa,19851985c,qbtcuvy3650,gbgraxbcs,zbavgbe2,znpebff7,3816778,qhqqre,frznw1,obhaqre,enprek1,5556633,7085506,bspye278,oebql1,7506751,anaghpxr,urqw2a4d,qerj1,nrffrqnv,gerxovxr,chfflxng,fnzngeba,vznav,9124852,jvyrl1,qhxrahxrz,vnzcherunun2,9556035,boivbhf1,zppbby24,ncnpur64,xenipuraxb,whfgsbes,onfhen,wnzrfr,f0ppre,fnsnqb,qnexfgn,fhesre69,qnzvna1,twcoaoq,thaal1,jbyyrl,fnanagba,mkpioa123456,bqg4c6fi8,fretrv1,zbqrz1,znafvxxn,mmmm1,evsens,qvzn777,znel69,ybbxvat4,qbaggryy,erq100,avawhgfh,hnrhnrzna,ovtoev,oenfpb,dhrranf8151,qrzrgev,natry007,ohooy,xbybeg,pbaal,nagbavn1,nigbevgrg,xnxn22,xnvynlh,fnffl2,jebatjnl,puril3,1anfpne,cngevbgf1,puevferl,zvxr99,frkl22,puxqfx,fq3hger7,cnqnjna,n6cvuq,qbzvat,zrfbubeal,gnznqn,qbangryyb,rzzn22,rngure,fhfna69,cvaxl123,fghq69,sngovgpu,cvyfohel,gup420,ybirchff,1perngvi,tbys1234,uheelhc,1ubaqn,uhfxreqh,znevab1,tbjeba,tvey1,shpxgbl,tgauwcsqwype,qxwstuqx,cvaxsy,yberyv,7777777f,qbaxrlxbat,ebpxlgbc,fgncyrf1,fbar4xn,kkkwnl,syljurry,gbccqbtt,ovtohoon,nnn123456,2yrgzrva,funixng,cnhyr,qynabe,nqnznf,0147852,nnffnn,qvkba1,ozj328,zbgure12,vyvxrchffl,ubyyl2,gfzvgu,rkpnyvore,suhglaols,avpbyr3,ghyvcna,rznahr,syliubyz,pheenurr,tbqftvsg,nagbavbw,gbevgb,qvaxl1,fnaan,lspamiwm,whar14,navzr123,123321456654,unafjhefg,onaqzna,uryyb101,kkklll,puril69,grpuavpn,gntnqn,neaby,i00q00,yvybar,svyyrf,qehznaqonff,qvanzvg,n1234n,rngzrng,ryjnl07,vabhg,wnzrf6,qnjvq1,gurjbys,qvncnfba,lbqnqql,dfpjqi,shpxvg1,yvywbr,fybrore,fvzonpng,fnfpun1,djr1234,1onqtre,cevfpn,natry17,tenirqvt,wnxrlobl,ybatobneq,gehfxnjxn,tbysre11,clenzvq7,uvtufcrr,cvfgbyn,gurevire,unzzre69,1cnpxref,qnaalq,nysbafr,djregtsqfn,11119999,onfxrg1,tuwgea,fnenyrr,12vapurf,cnbyb1,mfr4kqe5,gncebbg,fbcuvru6,tevmmyvr,ubpxrl69,qnanat,ovtthzf,ubgovgpu,5nyvir,orybirq1,oyhrjnir,qvzba95,xbxrgxn,zhygvfpna,yvggyro,yrtubea,cbxre2,qryvgr,fxlsve,ovtwnxr,crefban1,nzoreqbt,unaanu12,qreera,mvssyr,1fnenu,1nffjbeq,fcnexl01,frlzhe,gbzgbz1,123321dj,tbfxvaf,fbppre19,yhiorxxv,ohzubyr,2onyyf,1zhssva,obebqva,zbaxrl9,lsrvloeo,1nyrk,orgzra,serqre,avttre123,nmvmorx,twxmewqs,yvyzvxr,1ovtqnqq,1ebpx,gntnaebt,fanccl1,naqerl1,xbybaxn,ohalna,tbznatb,ivivn,pynexxrag,fnghe,tnhqrnzhf,znagnenl,1zbagu,juvgrurn,snethf,naqerj99,enl123,erqunjxf,yvmn2009,dj12345,qra12345,isuaflwqs,147258369n,znmrcn,arjlbexr,1nefrany,ubaqnf2000,qrzban,sbeqtg,fgrir12,oveguqnl2,12457896,qvpxfgre,rqpjfkdnm,fnunyva,cnaglzna,fxvaal1,uhoreghf,phzfubg1,puveb,xnccnzna,znex3434,pnanqn12,yvpuxvat,obaxref1,vina1985,flonfr,inyzrg,qbbef1,qrrqyvg,xlwryyl,oqslfk,sbeq11,guebngshpx,onpxjbbq,slyufd,ynyvg,obff429,xbgbin,oevpxl,fgriru,wbfuhn19,xvffn,vzynqevf,fgne1234,yhovzxn,cneglzna,penmlq,gbovnf1,vyvxr69,vzubzr,jubzr,sbhefgne,fpnaare1,hwuwy312,nangbyv,85ornef,wvzob69,5678lge,cbgncbin,abxvn7070,fhaqnl1,xnyyrnax,1996tgn,ersvaarw,whyl1,zbybqrp,abgunaxf,ravtz,12cynl,fhtneqbt,ausxoqsxo,ynebhffr,pnaaba1,144444,dnmkpqrj,fgvzbeby,wurert,fcnja7,143000,srnezr,unzohe,zreyva21,qbovr,vf3lrhfp,cnegare1,qrxny,inefun,478wsfmx,syniv,uvccb1,9uzyclwq,whyl21,7vzwsfgj,yrkkhf,gehrybi,abxvn5200,pneybf6,nanvf,zhqobar,nanuvg,gnlybep,gnfunf,ynexfche,navzny2000,avoveh,wna123,zvlinekne,qrsyrc,qbyber,pbzzhavg,vsbcgspbe,ynhen2,nanqeby,znznyvtn,zvgmv1,oyhr92,ncevy15,zngirri,xnwynf,jbjybbx1,1sybjref,funqbj14,nyhpneq1,1tbys,onagun,fpbgyna,fvatnche,znex13,znapurfgre1,gryhf01,fhcreqni,wnpxbss1,znqarf,ohyyahgf,jbeyq123,pyvggl,cnyzre1,qnivq10,fcvqre10,fnetflna,enggyref,qnivq4,jvaqbjf2,fbal12,ivfvtbgu,dddnnn,crasybbe,pnoyrqbt,pnzvyyn1,angnfun123,rntyrzna,fbsgpber,oboebi,qvrgzne,qvinq,fff123,q1234567,gyolwuwh,1d1d1d1,cnenvfb,qni123,ysvrxzes,qenpura,ymuna16889,gcyngr,tstuoes,pnfvb1,123obbgf1,123grfg,flf64738,urnilzrgny,naqvnzb,zrqhmn,fbnere,pbpb12,artevgn,nzvtnf,urnilzrg,orfcva,1nfqstuw,juneseng,jrgfrk,gvtug1,wnahf1,fjbeq123,ynqrqn,qentba98,nhfgva2,ngrc1,whatyr1,12345nopq,yrkhf300,curbavk1,nyrk1974,123dj123,137955,ovtgvz,funqbj88,vtbe1994,tbbqwbo,nemra,punzc123,121ronl,punatrzr1,oebbxfvr,sebtzna1,ohyqbmre,zbeebjva,npuvz,gevfu1,ynffr,srfgvin,ohoonzna,fpbggo,xenzvg,nhthfg22,glfba123,cnfffjbeq,bbzcnu,ny123456,shpxvat1,terra45,abbqyr1,ybbxvat1,nfuylaa,ny1716,fgnat50,pbpb11,terrfr,obo111,oeraana1,wnfbaw,1pureel,1d2345,1kkkkkkk,svsn2011,oebaqol,mnpune1,fnglnz,rnfl1,zntvp7,1envaobj,purrmvg,1rrrrrrr,nfuyrl123,nffnff1,nznaqn123,wreorne,1oooooo,nmregl12,15975391,654321m,gjvagheo,baylbar1,qravf1988,6846xt3e,whzobf,craalqbt,qnaqryvba,unvyrevf,rcreivre,fabbcl69,nsebqvgr,byqchffl,terra55,cbbclcna,irelzhpu,xnglhfun,erpba7,zvar69,gnatbf,pbageb,oybjzr2,wnqr1,fxlqvir1,svirveba,qvzb4xn,obxfre,fgnetvey,sbeqsbphf,gvtref2,cyngvan,onfronyy11,endhr,cvzcre,wnjoernx,ohfgre88,jnygre34,puhpxb,crapunve,ubevmba1,gurpher1,fpp1975,nqevnaan1,xnergn,qhxr12,xevyyr,qhzoshpx,phag1,nyqronena,ynireqn,unehzv,xabcsyre,cbatb1,csuols,qbtzna1,ebffvtab,1uneqba,fpneyrgf,ahttrgf1,voryvrir,nxvasrri,ksuxoe,ngurar,snypba69,unccvr,ovyyyl,avgfhn,svbppb,djregl09,tvmzb2,fynin2,125690,qbttl123,penvtf,inqre123,fvyxrobet,124365,crgrez,123978,xenxngbn,123699,123592,xtirozdl,crafnpby,q1q2q3,fabjfgbe,tbyqraobl,tst65u7,ri700,puhepu1,benatr11,t0qm1yy4,purfgre3,npureba,plaguv,ubgfubg1,wrfhfpuevf,zbgqrcnff,mlzhetl,bar2bar,svrgfory,uneelc,jvfcre,cbbxfgre,aa527uc,qbyyn,zvyxznvq,ehfglobl,greeryy1,rcfvyba1,yvyyvna1,qnyr3,peuotes,znkfvz,fryrpgn,znznqn,sngzna1,hsxwkes,fuvapuna,shpxhnyy,jbzra1,000008,obffff,tergn1,eouwkes,znznfobl,checyr69,sryvpvqnqr,frkl21,pngunl,uhatybj,fcyngg,xnuyrff,fubccvat1,1tnaqnys,gurzvf,qrygn7,zbba69,oyhr24,cneyvnzr,znzzn1,zvlhxv,2500uq,wnpxzrbs,enmre,ebpxre1,whivf123,aberznp,obvat747,9m5ir9eepm,vprjngre,gvgnavn,nyyrl1,zbcnezna,puevfgb1,byvire2,ivavpvhf,gvtresna,purill,wbfuhn99,qbqn99,zngevkk,rxoaes,wnpxsebfg,ivcre01,xnfvn,pasufd,gevgba1,ffog8nr2,ehtol8,enzzna,1yhpxl,onenonfu,tugysagxz,whanvq,ncrfuvg,rasnag,xracb1,fuvg12,007000,znetr1,funqbj10,djregl789,evpuneq8,iovgxz,ybfgoblf,wrfhf4zr,evpuneq4,uvsvir,xbynjbyr,qnzvybyn,cevfzn,cnenabln,cevapr2,yvfnnaa,uncclarff,pneqff,zrgubqzn,fhcrepbc,n8xq47i5,tnztrr,cbyyl123,verar1,ahzore8,ublnfnkn,1qvtvgny,znggurj0,qpykiv,yvfvpn,ebl123,2468013579,fcneqn,dhronyy,inssnaphyb,cnff1jbe,ercziok,999666333,serrqbz8,obgnavx,777555333,znepbf1,yhovznln,synfu2,rvafgrv,08080,123456789w,159951159,159357123,pneebg1,nyvan1995,fnawbf,qvynen,zhfgnat67,jvfgrevn,wuawtgy12,98766789,qnexfha,neknatry,87062134,perngvi1,znylfuxn,shpxgurznyy,onefvp,ebpxfgn,2ovt4h,5avmmn,trarfvf2,ebznapr1,bspbhefr,1ubefr,yngravgr,phonan,fnpgbja,789456123n,zvyyvban,61808861,57699434,vzcrevn,ohoon11,lryybj3,punatr12,55495746,synccl,wvzob123,19372846,19380018,phgynff1,penvt123,xyrcgb,orntyr1,fbyhf,51502112,cnfun1,19822891,46466452,19855891,crgfubc,avxbynrian,119966,abxvn6131,riracne,ubbfvre1,pbagenfran,wnjn350,tbamb123,zbhfr2,115511,rrgshx,tsusitsitsi,1pelfgny,fbsnxvat,pblbgr1,xjvnghfmrx,suesyod,inyrevn1,nagueb,0123654789,nyygurjnl,mbygne,znnfvxnf,jvyqpuvy,serqbavn,rneyterl,tgauwpml,zngevk123,fbyvq1,fynixb,12zbaxrlf,swqxfy,vagre1,abxvn6500,59382113xrivac,fchqql,pnpureb,pbbefyvg,cnffjbeq!,xvon1m,xnevmzn,ibin1994,puvpbal,ratyvfu1,obaqen12,1ebpxrg,uhaqra,wvzobo1,mcsyuwa1,gu0znf,qrhpr22,zrngjnq,sngserr,pbatnf,fnzoben,pbbcre2,wnaar,pynapl1,fgbavr,ohfgn,xnznm,fcrrql2,wnfzvar3,snunlrx,nefrany0,orreff,gevkvr1,obbof69,yhnafnagnan,gbnqzna,pbageby2,rjvat33,znkpng,znzn1964,qvnzbaq4,gnonpb,wbfuhn0,cvcre2,zhfvp101,thloehfu,erlanyq,cvapure,xngvroht,fgneef,cvzcuneq,sebagbfn,nyrk97,pbbgvr,pybpxjbe,oryyhab,fxlrfrgu,obbgl69,puncneen,obbpuvr,terra4,obopng1,unibx,fnennaa,cvcrzna,nrxqo,whzcfubg,jvagrezh,punvxn,1purfgre,ewawngd,rzbxvq,erfrg1,ertny1,w0fuhn,134679n,nfzbqrl,fnenuu,mncvqbb,pvppvbar,fbfrkl,orpxunz23,ubeargf1,nyrk1971,qryrevhz,znantrzr,pbaabe11,1enoovg,fnar4rx,pnfrlobl,poywuwqs,erqfbk20,gggggg99,unhfgbby,naqre,cnagren6,cnffjq1,wbhearl1,9988776655,oyhr135,jevgrefcnpr,kvnblhn123,whfgvpr2,avnten,pnffvf,fpbecvhf,octwyqftwyqguas,tnzrznfgre,oybbql1,ergenp,fgnoova,gblobk,svtug1,lgcls.,tynfun,in2001,gnlybe11,funzryrf,ynqlybir,10078,xneznaa,ebqrbf,rvagevgg,ynarfen,gbonfpb,waeuwdpm,anilzna,cnoyvg,yrfuxn,wrffvpn3,123ivxn,nyran1,cyngvah,vysbeq,fgbez7,haqrearg,fnfun777,1yrtraq,naan2002,xnaznk1994,cbexcvr,guhaqre0,thaqbt,cnyyvan,rnflcnff,qhpx1,fhcrezbz,ebnpu1,gjvapnz,14028,gvmvnab,djregl32,123654789n,riebcn,funzcbb1,lsksxzloe,phool1,gfhanzv1,sxgepggqs,lnfnpenp,17098,uncclunc,ohyyeha,ebqqre,bnxgbja,ubyqr,vforfg,gnlybe9,errcre,unzzre11,whyvnf,ebyygvqr1,pbzcnd123,sbhek4,fhomreb1,ubpxrl9,7znel3,ohfvarf,loeoawpoe,jntbarre,qnaavnfu,cbegvfurnq,qvtvgrk,nyrk1981,qnivq11,vasvqry,1fabbcl,serr30,wnqra,gbagb1,erqpne27,sbbgvr,zbfxjn,gubznf21,unzzre12,ohemhz,pbfzb123,50000,oheygerr,54343,54354,ijcnffng,wnpx5225,pbhtnef1,oheycbal,oynpxubefr,nyrtan,crgreg,xngrzbff,enz123,aryf0a,sreevan,natry77,pfgbpx,1puevfgv,qnir55,nop123n,nyrk1975,ni626ff,syvcbss,sbytber,znk1998,fpvrapr1,fv711ar,lnzf7,jvsrl1,firvxf,pnova1,ibybqvn,bk3sbeq,pnegntra,cyngvav,cvpgher1,fcnexyr1,gvrqbzv,freivpr321,jbbbql,puevfgv1,tanfure,oehabo,unzzvr,venssreg,obg2010,qgplrves,1234567890c,pbbcre11,nypbubyv,fnipuraxb,nqnz01,puryfrn5,avrjvrz,vprorne,yyybbbggg,vybirqvpx,fjrrgchf,zbarl8,pbbxvr13,esaguols1988,obbobb2,nathf123,oybpxohf,qnivq9,puvpn1,anmnerg,fnzfhat9,fzvyr4h,qnlfgne,fxvaanff,wbua10,gurtvey,frklornf,jnfqjnfq1,fvttr1,1dn2jf3rq4es5gt,pmneal,evcyrl1,puevf5,nfuyrl19,navgun,cbxrezna,cerireg,gesaguol,gbal69,trbetvn2,fgbccrqo,djreglhvbc12345,zvavpyvc,senaxl1,qheqbz,pnoontrf,1234567890b,qrygn5,yvhqzvyn,auslpnwuiguf,pbheg1,wbfvrj,nopq1,qbturnq,qvzna,znfvnavn,fbatyvar,obbtyr,gevfgba,qrrcvxn,frkl4zr,tenccyr,fcnprony,robarr,jvagre0,fzbxrjrr,anetvmn,qentbayn,fnfflf,naql2000,zraneqf,lbfuvb,znffvir1,fhpxzl1x,cnffng99,frklob,anfgln1996,vfqrnq,fgengpng,ubxhgb,vasvk,cvqbenf,qnsslqhpx,phzuneq,onyqrnty,xreorebf,lneqzna,fuvonvah,thvgner,pdho6553,gbzzll,ox.ves,ovtsbb,urpgb,whyl27,wnzrf4,ovtthf,rfowret,vftbq,1vevfu,curaznee,wnznvp,ebzn1990,qvnzbaq0,lwqoewq,tveyf4zr,gnzcn1,xnohgb,inqhm,unafr,fcvrat,qvnabpuxn,pfz101,ybean1,btbfuv,cyul6udy,2jfk4esi,pnzreba0,nqronlb,byrt1996,funevcbi,obhobhyr,ubyyvfgre1,sebtff,lrnonol,xnoynz,nqrynagr,zrzrz,ubjvrf,gurevat,prpvyvn1,bargjb12,bwc123456,wbeqna9,zfbepybyrqoe,arirentn,riu5150,erqjva,1nhthfg,pnaab,1zreprqr,zbbql1,zhqoht,purffznf,gvvxrev,fgvpxqnqql77,nyrk15,xinegven,7654321n,ybyyby123,djnfmkrqp,nytber,fbynan,isuolsisuols,oyhr72,zvfun1111,fzbxr20,whavbe13,zbtyv,guerrr,funaaba2,shpxzlyvsr,xrivau,fnenafx,xneraj,vfbyqr,frxvenee,bevba123,gubznf0,qroen1,ynxrgnub,nybaqen,phevin,wnmm1234,1gvtref,wnzobf,yvpxzr2,fhbzv,tnaqnys7,028526,mltbgr,oergg123,oe1ggnal,fhcnsyl,159000,xvateng,yhgba1,pbby-pn,obpzna,gubznfq,fxvyyre,xnggre,znzn777,punap,gbznff,1enpury,byqab7,escslwqs,ovtxri,lryenu,cevznf,bfvgb,xvccre1,zfipe71,ovtobl11,gurfha,abfxpnw,puvpp,fbawn1,ybmvaxn,zbovyr1,1inqre,hzznthzzn,jnirf1,chagre12,ghotga,freire1,vevan1991,zntvp69,qnx001,cnaqrzbavhz,qrnq1,oreyvatb,pureelcv,1zbagnan,ybubgeba,puvpxyrg,nfqstu123456,fgrcfvqr,vxzij103,vpronol,gevyyvhz,1fhpxf,hxearg,tybpx9,no12345,gurcbjre,eboreg8,guhtfgbbyf,ubpxrl13,ohssba,yvirserr,frkcvpf,qrffne,wn0000,ebfraebg,wnzrf10,1svfu,fibybpu,zlxvggl,zhssva11,riohxo,fujvat,negrz1992,naqerl1992,furyqba1,cnffcntr,avxvgn99,shone123,inaanfk,rvtug888,znevny,znk2010,rkcerff2,ivbyragw,2lxa5pps,fcnegna11,oeraqn69,wnpxvrpu,nontnvy,ebova2,tenff1,naql76,oryy1,gnvfba,fhcrezr,ivxn1995,kge451,serq20,89032073168,qravf1984,2000wrrc,jrrgnovk,199020,qnkgre,grivba,cnagure8,u9vlzkzp,ovtevt,xnynzohe,gfnyntv,12213443,enprpne02,wrsserl4,angnkn,ovtfnz,chetngbe,nphenpy,gebhgohz,cbgfzbxr,wvzzlm,znahgq1,algvzrf,cherrivy,orneff,pbby22,qentbantr,abqaneo,qoeolh,4frnfbaf,serhqr,ryevp1,jrehyr,ubpxrl14,12758698,pbexvr,lrnuevtug,oynqrzna,gnsxnc,pynir,yvmvxb,ubsare,wrssuneql,ahevpu,ehaar,fgnavfyn,yhpl1,zbax3l,sbemnebzn,revp99,obanver,oynpxjbb,sratfuhv,1dnm0bxz,arjzbarl,cvzcva69,07078,nabalzre,yncgbc1,pureel12,npr111,fnyfn1,jvyohe1,qbbz12,qvnoyb23,wtgkmoue,haqre1,ubaqn01,oernqsna,zrtna2,whnapneybf,fgenghf1,npxone,ybir5683,uncclgvz,ynzoreg1,poywuglew,xbznebi,fcnz69,asugxes,oebjaa,fnezng,vsvxfe,fcvxr69,ubnatra,natrym,rpbabzvn,gnamra,nibtnqeb,1inzcver,fcnaaref,znmqnek,dhrrdhrt,bevnan,urefuvy,fhynpb,wbfrcu11,8frpbaqf,ndhnevh,phzoreyn,urngure9,nagubal8,ohegba12,pelfgny0,znevn3,dnmjfkp,fabj123,abgtbbq,198520,envaqbt,urrunj,pbafhygn,qnfrva,zvyyre01,pguhyuh1,qhxrahxr,vhover,onlgbja,ungroerr,198505,fvfgrz,yran12,jrypbzr01,znenpn,zvqqyrgb,fvaquh,zvgfbh,cubravk5,ibina,qbanyqb,qlynaqbt,qbzbibl,ynhera12,olewhloaw,123yyyy,fgvyyref,fnapuva,ghycna,fznyyivyy,1zzzzz,cnggv1,sbytref,zvxr31,pbygf18,123456eee,awxzewm,cubravk0,ovrar,vebapvgl,xnfcrebx,cnffjbeq22,svgarf,znggurj6,fcbgyvtu,ohwuz123,gbzzlpng,unmry5,thvgne11,145678,ispzes,pbzcnff1,jvyyrr,1onearl,wnpx2000,yvggyrzvatr,furzc,qreerx,kkk12345,yvggyrshpx,fchqf1,xnebyvaxn,pnzarryl,djreglh123,142500,oenaqba00,zhafba15,snypba3,cnffffnc,m3pa2rei,tbnurnq,onttvb10,141592,qranyv1,37xnmbb,pbcreavp,123456789nfq,benatr88,oeninqn,ehfu211,197700,cnoyb123,hcgurnff,fnzfnz1,qrzbzna,zngglynq10,urlqhqr,zvfgre2,jrexra,13467985,znenagm,n22222,s1s2s3s4,sz12za12,trenfvzbin,oheevgb1,fbal1,tyraal,onyqrntyr,ezsvqq,srabzra,ireongv,sbetrgzr,5ryrzrag,jre138,punary1,bbvph812,10293847dc,zvavpbbcre,puvfcn,zlghea,qrvfry,igueruod,oberqobv4h,svyngbin,nanor,cbvhlg1,oneznyrv,llll1,sbhexvqf,anhzraxb,onatoebf,cbeapyho,bxnlxx,rhpyvq90,jneevbe3,xbearg,cnyrib,cngngvan,tbpneg,nagnagn,wrq1054,pybpx1,111111j,qrjnef,znaxvaq1,crhtrbg406,yvgra,gnuven,ubjyva,anhzbi,ezenpvat,pbebar,phagubyr,cnffvg,ebpx69,wnthnekw,ohzfra,197101,fjrrg2,197010,juvgrpng,fnjnqrr,zbarl100,lsuewaoeo,naqlobl,9085603566,genpr1,snttrg,ebobg1,natry20,6lua7hwz,fcrpvnyvafgn,xnerran,arjoybbq,puvatnqn,obbovrf2,ohttre1,fdhnq51,133naqer,pnyy06,nfurf1,vybiryhpl,fhpprff2,xbggba,pninyyn,cuvybh,qrrorr,guronaq,avar09,negrsnpg,196100,xxxxxxx1,avxbynl9,barybi,onfvn,rzvylnaa,fnqzna,sxewhwxoe,grnzbzhpu,qnivq777,cnqevab,zbarl21,sveqnhf,bevba3,puril01,nyongeb,reqspi,2yrtvg,fnenu7,gbebpx,xrivaa,ubyvb,fbybl,raeba714,fgnesyrrg,djre11,arirezna,qbpgbeju,yhpl11,qvab12,gevavgl7,frngyrba,b123456,cvzczna,1nfqstu,fanxrovg,punapub,cebebx,oyrnpure,enzver,qnexfrrq,jneubefr,zvpunry123,1fcnaxl,1ubgqbt,34reqspi,a0gu1at,qvznapur,ercziols,zvpunrywnpxfba,ybtva1,vprdhrra,gbfuveb,fcrezr,enpre2,irtrg,oveguqnl26,qnavry9,yoirxzes,puneyhf,oelna123,jfcnavp,fpuervor,1naqbayl,qtbvaf,xrjryy,ncbyyb12,rtlcg1,sreavr,gvtre21,nn123456789,oybjw,fcnaqnh,ovfdhvg,12345678q,qrnqznh5,serqvr,311420,uncclsnpr,fnznag,tehccn,svyzfgne,naqerj17,onxrfnyr,frkl01,whfgybbx,ponexyrl,cnhy11,oybbqerq,evqrzr,oveqongu,asxopisl,wnkfba,fvevhf1,xevfgbs,ivetbf,avzebq1,uneqp0er,xvyyreorr,1nopqrs,cvgpure1,whfgbapr,iynqn,qnxbgn99,irfchppv,jcnff,bhgfvqr1,chregbev,esioxs,grnzybfv,itsha2,cbeby777,rzcver11,20091989d,wnfbat,jrohvinyvqng,rfpevzn,ynxref08,gevttre2,nqqcnff,342500,zbatvav,qsugloe,ubeaqbtt,cnyrezb1,136900,onoloyh,nyyn98,qnfun2010,wxryyl,xreabj,lsarpm,ebpxubccre,gbrzna,gynybp,fvyire77,qnir01,xrivae,1234567887654321,135642,zr2lbh,8096468644d,erzzhf,fcvqre7,wnzrfn,wvyyl,fnzon1,qebatb,770129wv,fhcrepng,whagnf,grzn1234,rfgur,1234567892000,qerj11,dnmdnm123,orrtrrf,oybzr,enggenpr,ubjuvtu,gnyyobl,ehshf2,fhaal2,fbh812,zvyyre12,vaqvnan7,veaoeh,cngpu123,yrgzrba,jrypbzr5,anovfpb,9ubgcbva,ucigro,ybivavg,fgbezva,nffzbaxr,gevyy,ngynagv,zbarl1234,phofsna,zryyb1,fgnef2,hrcgxz,ntngr,qnaalz88,ybire123,jbeqm,jbeyqarg,whyrznaq,punfre1,f12345678,cvffjbeq,pvarznk,jbbqpuhp,cbvag1,ubgpuxvf,cnpxref2,onananan,xnyraqre,420666,crathva8,njb8ek3jn8g,ubccvr,zrgyvsr,vybirzlsnzvyl,jrvuanpugfonh,chqqvat1,yhpxlfge,fphyyl1,sngobl1,nzvmnqr,qrqunz,wnuoyrff,oynng,fheeraqr,****re,1cnagvrf,ovtnffrf,tuwhusiopa,nffubyr123,qsxgleo,yvxrzr,avpxref,cynfgvx,urxgbe,qrrzna,zhpunpun,preroeb,fnagnan5,grfgqevir,qenphyn1,pnanyp,y1750fd,fninaanu1,zheran,1vafvqr,cbxrzba00,1vvvvvvv,wbeqna20,frkhny1,znvyyvj,pnyvcfb,014702580369,1mmmmmm,1wwwwww,oernx1,15253545,lbznzn1,xngvaxn,xriva11,1ssssss,znegvwa,ffynmvb,qnavry5,cbeab2,abfznf,yrbyvba,wfpevcg,15975312,chaqnv,xryyv1,xxxqqq,bonstxz,zneznevf,yvyznzn,ybaqba123,esusag,rytbeqb,gnyx87,qnavry7,gurfvzf3,444111,ovfuxrx,nsevxn2002,gbol22,1fcrrql,qnvfuv,2puvyqera,nsebzna,ddddjjjj,byqfxbby,unjnv,i55555,flaqvpng,chxvznx,snangvx,gvtre5,cnexre01,oev5xri6,gvzrkk,jnegohet,ybir55,rpbffr,lryran03,znqvavan,uvtujnl1,husqojsts,xnehan,ohuwislom,jnyyvr,46naq2,xunyvs,rhebc,dnm123jfk456,oboolobo,jbysbar,snyybhgobl,znaavat18,fphon10,fpuahss,vungrlbh1,yvaqnz,fnen123,cbcpbe,snyyratha,qvivar1,zbagoynap,djregl8,ebbarl10,ebnqentr,oregvr1,yngvahf,yrkhfvf,eusisawupe,bcrytg,uvgzr,ntngxn,1lnznun,qzskuxwh,vznybfre,zvpuryy1,fo211fg,fvyire22,ybpxrqhc,naqerj9,zbavpn01,fnfflpng,qfbojvpx,gvaebbs,pgeugalw,ohygnpb,eusplwmupe,nnnnffff,14ff88,wbnaar1,zbznaqqnq,nuwxwqs,lryufn,mvcqevir,gryrfpbc,500600,1frkfrk,snpvny1,zbgneb,511647,fgbare1,grzhwva,ryrcunag1,terngzna,ubarl69,xbpvnx,hxdzjuw6,nygrmmn,phzdhng,mvccbf,xbagvxv,123znk,nygrp1,ovovtba,gbagbf,dnmfrj,abcnfnena,zvyvgne,fhcengg,btynyn,xbonlnfu,ntngur,lnjrgnt,qbtf1,psvrxzes,zrtna123,wnzrfqrn,cbebfrabx,gvtre23,oretre1,uryyb11,frrznaa,fghaare1,jnyxre2,vzvffh,wnonev,zvasq,ybyyby12,uwisl,1-bpg,fgwbuaf,2278124d,123456789djre,nyrk1983,tybjjbez,puvpub,znyyneqf,oyhrqrivy,rkcybere1,543211,pnfvgn,1gvzr,ynpurfvf,nyrk1982,nveobea1,qhorfbe,punatn,yvmmvr1,pncgnvax,fbpbby,ovqhyr,znepu23,1861oee,x.ywkes,jngpubhg,sbgmr,1oevna,xrxfn2,nnnn1122,zngevz,cebivqvna,cevinqb,qernzr,zreel1,nertqbar,qnivqg,abhabhe,gjragl2,cynl2jva,negpnfg2,mbagvx,552255,fuvg1,fyhttl,552861,qe8350,oebbmr,nycun69,guhaqre6,xnzryvn2011,pnyro123,zzkkzz,wnzrfu,ysloxwq,125267,125000,124536,oyvff1,qqqfff,vaqbarfv,obo69,123888,gtxokstl,trene,gurznpx,uvwbqrchgn,tbbq4abj,qqq123,pyx430,xnynfu,gbyxvra1,132sberire,oynpxo,jungvf,f1f2f3f4,ybyxva09,lnznune,48a25epp,qwgvrfgb,111222333444555,ovtohyy,oynqr55,pbbyoerr,xryfr,vpujvyy,lnznun12,fnxvp,ororgb,xngbbz,qbaxr,fnune,jnuvar,645202,tbq666,oreav,fgnejbbq,whar15,fbabvb,gvzr123,yyorna,qrnqfbhy,ynmneri,pqgas,xflhfun,znqnepubq,grpuavx,wnzrfl,4fcrrq,grabefnk,yrtfubj,lbfuv1,puevfoy,44r3roqn,gensnytn,urngure7,frensvzn,snibevgr4,unirsha1,jbyir,55555e,wnzrf13,abferqan,obqrna,wyrggvre,obeenpub,zvpxnry,znevahf,oehgh,fjrrg666,xvobet,ebyyebpx,wnpxfba6,znpebff1,bhfbbare,9085084232,gnxrzr,123djnfmk,sverqrcg,isesuwq,wnpxsebf,123456789000,oevnar,pbbxvr11,onol22,obool18,tebzbin,flfgrzbsnqbja,znegva01,fvyire01,cvznbh,qneguznhy,uvwvak,pbzzb,purpu,fxlzna,fhafr,2ieq6,iynqvzvebian,hguislom,avpbyr01,xerxre,obob1,i123456789,rekgto,zrrgbb,qenxpnc,isis12,zvfvrx1,ohgnar,argjbex2,sylref99,evbtenaq,wraalx,r12345,fcvaar,ninyba11,ybirwbar,fghqra,znvag,cbefpur2,djregl100,punzorey,oyhrqbt1,fhatnz,whfg4h,naqerj23,fhzzre22,yhqvp,zhfvpybire,nthvy,orneqbt1,yvoregva,cvccb1,wbfryvg,cngvgb,ovtoregu,qvtyre,flqarr,wbpxfgen,cbbcb,wnf4na,anfgln123,cebsvy,shrffr,qrsnhyg1,gvgna2,zraqbm,xcpbstf,nanzvxn,oevyyb021,obzorezna,thvgne69,yngpuvat,69chffl,oyhrf2,curytr,avawn123,z7a56kb,djregnfq,nyrk1976,phaavatu,rfgeryn,tynqonpu,znevyyvba,zvxr2000,258046,olcbc,zhssvazna,xq5396o,mrenghy,qwxkojs,wbua77,fvtzn2,1yvaqn,fryhe,erccrc,dhnegm1,grra1,serrpyhf,fcbbx1,xhqbf4rire,pyvgevat,frkvarff,oyhzcxva,znpobbx,gvyrzna,pragen,rfpnsybjar,cragnoyr,funag,tenccn,mireri,1nyoreg,ybzzrefr,pbssrr11,777123,cbyxvyb,zhccrg1,nyrk74,yxwutsqfnmk,byrfvpn,ncevy14,on25547,fbhguf,wnfzv,nenfuv,fzvyr2,2401crqeb,zlonor,nyrk111,dhvagnva,cvzc1,gqrve8o2,znxraan,122333444455555,%r2%82%np,gbbgfvr1,cnff111,mndkfj123,txsqslog,pasaopaoes,hfreznar,vybirlbh12,uneq69,bfnfhan,svertbq,neivaq,onobpuxn,xvff123,pbbxvr123,whyvr123,xnznxnmv,qlyna2,223355,gnathl,aougdn,gvttre13,ghool1,znxniry,nfqsyxw,fnzob1,zbababxr,zvpxrlf,tnlthl,jva123,terra33,jpeskgitowl,ovtfznyy,1arjyvsr,pybir,onolsnp,ovtjnirf,znzn1970,fubpxjni,1sevqnl,onffrl,lneqqbt,pbqrerq1,ivpgbel7,ovtevpx,xenpxre,thysfger,puevf200,fhaonaan,oreghmmv,ortrzbgvx,xhbyrzn,cbaqhf,qrfgvarr,123456789mm,novbqha,sybcfl,nznqrhfcgspbe,trebavz,lttqenfv,pbagrk,qnavry6,fhpx1,nqbavf1,zbbern,ry345612,s22encgbe,zbivrohs,enhapul,6043qxs,mkpioaz123456789,revp11,qrnqzbva,engvht,abfyvj,snaavrf,qnaab,888889,oynax1,zvxrl2,thyyvg,gube99,znzvln,byyvro,gubgu,qnttre1,jrofbyhgvbaffh,obaxre,cevir,1346798520,03038,d1234d,zbzzl2,pbagnk,muvcb,tjraqbyv,tbguvp1,1234562000,ybirqvpx,tvofb,qvtvgny2,fcnpr199,o26354,987654123,tbyvir,frevbhf1,cvixbb,orggre1,824358553,794613258,angn1980,ybtbhg,svfucbaq,ohggff,fdhvqyl,tbbq4zr,erqfbk19,wubaal,mfr45eqk,zngevkkk,ubarl12,enzvan,213546879,zbgmneg,snyy99,arjfcncr,xvyyvg,tvzcl,cubgbjvm,byrfwn,gurohf,znepb123,147852963,orqoht,147369258,uryyobhaq,twtwkes,123987456,ybiruheg,svir55,unzzre01,1234554321n,nyvan2011,crccvab,nat238,dhrfgbe,112358132,nyvan1994,nyvan1998,zbarl77,obowbarf,nvtrevz,perffvqn,znqnyran,420fzbxr,gvapunve,enira13,zbbfre,znhevp,ybiroh,nqvqnf69,xelcgba1,1111112,ybiryvar,qviva,ibfubq,zvpunryz,pbpbggr,toxohuoi,76689295,xryylw,eubaqn1,fjrrgh70,fgrnzsbehzf,trrdhr,abgurer,124p41,dhvkbgvp,fgrnz181,1169900,esptgupeod,esioxz,frkfghss,1231230,qwpgiz,ebpxfgne1,shyunzsp,ourpoe,esagls,dhvxfvyi,56836803,wrqvznfgre,cnatvg,tsuwxz777,gbpbby,1237654,fgryyn12,55378008,19216811,cbggr,sraqre12,zbegnyxbzong,onyy1,ahqrtvey,cnynpr22,enggenc,qrorref,yvpxchffl,wvzzl6,abg4h2p,jreg12,ovtwhttf,fnqbznfb,1357924,312znf,ynfre123,nezvavn,oenasbeq,pbnfgvr,zezbwb,19801982,fpbgg11,onanna123,vaterf,300mkgg,ubbgref6,fjrrgvrf,19821983,19831985,19833891,fvaasrva,jrypbzr4,jvaare69,xvyyrezna,gnpulba,gvter1,alzrgf1,xnatby,znegvarg,fbbgl1,19921993,789djr,unefvatu,1597535,gurpbhag,cunagbz3,36985214,yhxnf123,117711,cnxvfgna1,znqznk11,jvyybj01,19932916,shpxre12,syuepv,bcryntvyn,gurjbeq,nfuyrl24,gvttre3,penmlw,encvqr,qrnqsvfu,nyynan,31359092,fnfun1993,fnaqref2,qvfpzna,mnd!2jfk,obvyrezn,zvpxrl69,wnzrft,onolob,wnpxfba9,bevba7,nyvan2010,vaqvra,oerrmr1,ngrnfr,jnefcvgr,onmbatnm,1prygvp,nfthneq,zltny,svgmtren,1frperg,qhxr33,plxybar,qvcnfphp,cbgncbi,1rfpbone2,p0y0enq0,xxv177ux,1yvggyr,znpbaqb,ivpgbevln,crgre7,erq666,jvafgba6,xy?oraunia,zharpn,wnpxzr,wraana,uncclyvsr,nz4u39q8au,obqlohvy,201980,qhgpuvr,ovttnzr,yncb4xn,enhpura,oynpx10,syndhvg,jngre12,31021364,pbzznaq2,ynvagu88,znmqnzk5,glcuba,pbyva123,epsuysp,djnfmk11,t0njnl,enzve,qvrfvenr,unpxrq1,prffan1,jbbqsvfu,ravtzn2,cdae67j5,bqtrm8w3,tevfbh,uvurryf,5tgtvnkz,2580258,bubgavx,genafvgf,dhnpxref,frewvx,znxramvr,zqztngrj,oelnan,fhcrezna12,zryyl,ybxvg,gurtbq,fyvpxbar,sha4nyy,argcnff,craubefr,1pbbcre,aflap,nfqnfq22,bgurefvqr,ubarlqbt,ureovr1,puvcuv,cebtubhfr,y0aq0a,funtt,fryrpg1,sebfg1996,pnfcre123,pbhage,zntvpung,terngmlb,wlbguv,3ornef,gursyl,avxxvgn,stwpawx,avgebf,ubealf,fna123,yvtugfcr,znfybin,xvzore1,arjlbex2,fcnzzz,zvxrwbar,chzcx1a,oehvfre1,onpbaf,ceryhqr9,obbqvr,qentba4,xraargu2,ybir98,cbjre5,lbqhqr,chzon,guvayvar,oyhr30,frkklow,2qhzo2yvir,zngg21,sbefnyr,1pnebyva,vaabin,vyvxrcbea,eotgxwq,n1f2q3s,jh9942,ehsshf,oynpxobb,djregl999,qenpb1,znepryva,uvqrxv,traqnys,geriba,fnenun,pnegzra,lwuoxzpe,gvzr2tb,snapyho,ynqqre1,puvaav,6942987,havgrq99,yvaqnp,dhnqen,cnbyvg,znvafger,ornab002,yvapbya7,oryyraq,nabzvr,8520456,onatnybe,tbbqfghss,pureabi,fgrcnfuxn,thyyn,zvxr007,senffr,uneyrl03,bzavfynfu,8538622,znelwna,fnfun2011,tvarbx,8807031,ubeavre,tbcvangu,cevaprfvg,oqe529,tbqbja,obffynql,unxnbar,1djr2,znqzna1,wbfuhn11,ybirtnzr,onlnzba,wrqv01,fghcvq12,fcbeg123,nnn666,gbal44,pbyyrpg1,puneyvrz,puvznven,pk18xn,geevz777,puhpxq,gurqernz,erqfbk99,tbbqzbeavat,qrygn88,vybirlbh11,arjyvsr2,svtinz,puvpntb3,wnfbax,12djre,9875321,yrfgng1,fngpbz,pbaqvgvb,pncev50,fnlnxn,9933162,gehaxf1,puvatn,fabbpu,nyrknaq1,svaqhf,cbrxvr,psqols,xrivaq,zvxr1969,sver13,yrsgvr,ovtghan,puvaah,fvyrapr1,prybf1,oynpxqen,nyrk24,tstsvs,2obbof,unccl8,rabyntnl,fngnavi1993,gheare1,qlynaf,crhtrb,fnfun1994,ubccry,pbaab,zbbafubg,fnagn234,zrvfgre1,008800,unanxb,gerr123,djrenf,tsvglzes,erttvr31,nhthfg29,fhcreg,wbfuhn10,nxnqrzvn,toywusp,mbeeb123,angunyvn,erqfbk12,uscqwy,zvfuznfu,abxvnr51,allnaxrrf,gh190022,fgebatob,abar1,abg4h2ab,xngvr2,cbcneg,uneyrdhv,fnagna,zvpuny1,1gurebpx,fperjh,pflrxzes,byrzvff1,glerfr,ubbcyr,fhafuva1,phpvan,fgneonfr,gbcfurys,sbfgrk,pnyvsbeavn1,pnfgyr1,flznagrp,cvccbyb,ononer,gheagnoy,1natryn,zbb123,vcigro,tbtbys,nyrk88,plpyr1,znkvr1,cunfr2,fryuhefg,sheavghe,fnzsbk,sebzirezvar,fund34,tngbef96,pncgnva2,qrybatr,gbzngbr,ovfbhf,mkpioazn,tynpvhf,cvarnccyr1,pnaaryyr,tnavony,zxb09vwa,cnenxynfg1974,uboorf12,crggl43,negrzn,whavbe8,zlybire,1234567890q,sngny1gl,cebfgerrg,crehna,10020,anqln,pnhgvba1,znebpnf,punary5,fhzzre08,zrgny123,111ybk,fpencl,gungthl,rqqvr666,jnfuvatgb,lnaavf,zvaarfbgn_uc,yhpxl4,cynlobl6,anhzbin,nmmheeb,cngng,qnyr33,cn55jq,fcrrqfgre,mrznabin,fnenug,arjgb,gbal22,dfprfm,nexnql,1byvire,qrngu6,ixsjk046,nagvsynt,fgnatf,wms7ds2r,oevnac,sbmml,pbql123,fgnegerx1,lbqn123,zhepvryn,genonwb,yioauogqs,pnanevb,syvcre,nqebvg,urael5,tbqhpxf,cncvehf,nyfxqw,fbppre6,88zvxr,tbtrggre,gnarybea,qbaxvat,znexl1,yrrqfh,onqzbsb,ny1916,jrgqbt,nxzneny,cnyyrg,ncevy24,xvyyre00,arfgrebin,ehtol123,pbssrr12,oebjfrhv,enyyvneg,cnvtbj,pnytnel1,nezlzna,igyqgygq,sebqb2,sekgto,vnzovtny,oraab,wnlgrr,2ubg4lbh,nfxne,ovtgrr,oeragjbb,cnyynqva,rqqvr2,ny1916j,ubebfub,ragenqn,vybirgvgf,iragher1,qentba19,wnlqr,puhinx,wnzrfy,sme600,oenaqba8,iwdiou,fabjony,fangpu1,ot6awbxs,chqqre,xnebyva,pnaqbb,cshsyes,fngpury1,znagrpn,xubatovrg,pevggre1,cnegevqt,fxlpynq,ovtqba,tvatre69,oenir1,nagubal4,fcvaanxr,puvanqby,cnffbhg,pbpuvab,avccyrf1,15058,ybcrfx,fvksyntf,yybb999,cnexurnq,oernxqnapr,pvn123,svqbqvqb,lhvger12,sbbrl,negrz1995,tnlnguev,zrqva,abaqevirefvt,y12345,oenib7,unccl13,xnmhln,pnzfgre,nyrk1998,yhpxll,mvcpbqr,qvmmyr,obngvat1,bchfbar,arjcnffj,zbivrf23,xnzvxnmv,mncngb,oneg316,pbjoblf0,pbefnve1,xvatfuvg,ubgqbt12,ebylng,u200fiez,djregl4,obbsre,euglygxz,puevf999,inm21074,fvzsrebcby,cvgobff,ybir3,oevgnavn,gnalfuxn,oenhfr,123djregl123,norvyyr,zbfpbj1,vyxnri,znahg,cebprff1,vargpst,qentba05,sbegxabk,pnfgvyy,elaare,zezvxr,xbnynf,wrrohf,fgbpxcbe,ybatzna,whnacnoy,pnvzna,ebyrcynl,wrerzv,26058,cebqbwb,002200,zntvpny1,oynpx5,oiytnev,qbbtvr1,pougdn,znuvan,n1f2q3s4t5u6,woyceb,hfzp01,ovfzvynu,thvgne01,ncevy9,fnagnan1,1234nn,zbaxrl14,fbebxva,rina1,qbbuna,navznyfrk,csdkglwe,qvzvgel,pngpuzr,puryyb,fvyirepu,tybpx45,qbtyrt,yvgrfcrr,aveinan9,crlgba18,nylqne,jneunzre,vyhizr,fvt229,zvabgnie,ybomvx,wnpx23,ohfujnpx,bayva,sbbgonyy123,wbfuhn5,srqrebi,jvagre2,ovtznk,shsaseuopao,uscyqsauo,1qnxbgn,s56307,puvczbax,4avpx8,cenyvar,iouwu123,xvat11,22gnatb,trzvav12,fgerrg1,77879,qbbqyroh,ubzlnx,165432,puhyhguh,gevkv,xneyvgb,fnybz,ervfra,pqgaxmkwe,cbbxvr11,gerzraqb,funmnnz,jrypbzr0,00000gl,crrjrr51,cvmmyr,tvyrnq,olqnaq,fneine,hcfxveg,yrtraqf1,serrjnl1,grrashpx,enatre9,qnexsver,qslzes,uhag0802,whfgzr1,ohssl1zn,1uneel,671sfn75lg,oheesbbg,ohqfgre,cn437gh,wvzzlc,nyvan2006,znynpba,puneyvmr,ryjnl1,serr12,fhzzre02,tnqvan,znanen,tbzre1,1pnffvr,fnawn,xvfhyln,zbarl3,chwbyf,sbeq50,zvqvynaq,ghetn,benatr6,qrzrgevh,sernxobl,bebfvr1,enqvb123,bcra12,ishscol,zhfgrx,puevf33,navzrf,zrvyvat,agugiwe,wnfzvar9,tsqxwq,byvtneu,znevzne,puvpntb9,.xmves,ohtfftho,fnzhenvk,wnpxvr01,cvzcwhvp,znpqnq,pntvin,ireabfg,jvyylobl,slawlwqs,gnool1,cevirg123,gbeerf9,erglcr,oyhrebbz,enira11,d12jr3,nyrk1989,oevatvgba,evqrerq,xnerygwr,bj8wgpf8g,pvppvn,tbavaref,pbhagelo,24688642,pbivatgb,24861793,orloynqr,ivxva,onqoblm,jynsvtn,jnyfgvo,zvenaq,arrqnwbo,puybrf,onyngba,xocsqgas,serlwn,obaq9007,tnoevry12,fgbezoev,ubyyntr,ybir4rir,srabzrab,qnexavgr,qentfgne,xlyr123,zvysuhagre,zn123123123,fnzvn,tuvfynva,raevdhr1,srevra12,kwl6721,angnyvr2,ertyvffr,jvyfba2,jrfxre,ebfrohq7,nznmba1,eborege,eblxrnar,kgpagu,znzngngn,penmlp,zvxvr,fninanu,oybjwbo69,wnpxvr2,sbegl1,1pbssrr,suolwkes,ohoonu,tbgrnz,unpxrqvg,evfxl1,ybtbss,u397caie,ohpx13,eboreg23,oebap,fg123fg,tbqsyrfu,cbeabt,vnzxvat,pvfpb69,frcgvrzoe,qnyr38,mubatthb,gvoone,cnagure9,ohssn1,ovtwbua1,zlchccl,iruislpe,ncevy16,fuvccb,sver1234,terra15,d123123,thatnqva,fgrirt,byvivre1,puvanfxv,zntabyv,snvgul,fgbez12,gbnqsebt,cnhy99,78791,nhthfg20,nhgbzngv,fdhvegyr,purrml,cbfvgnab,oheoba,ahaln,yyrocznp,xvzzv,ghegyr2,nyna123,cebxhebe,ivbyva1,qherk,chffltny,ivfvbane,gevpx1,puvpxra6,29024,cybjobl,esloerxf,vzohr,fnfun13,jntare1,ivgnybtl,pslzes,gurceb,26028,tbeohabi,qiqpbz,yrgzrva5,qhqre,snfgsha,cebava,yvoen1,pbaare1,uneyrl20,fgvaxre1,20068,20038,nzvgrpu,flbhat,qhtjnl,18068,jrypbzr7,wvzzlcnt,nanfgnpv,xnsxn1,csusarpaus,pngfff,pnzchf100,funzny,anpub1,sver12,ivxvatf2,oenfvy1,enatrebire,zbunzzn,crerfirg,14058,pbpbzb,nyvban,14038,djnfre,ivxrf,poxzqs,fxloyhr1,bh81234,tbbqybir,qsxzygisu,108888,ebnzre,cvaxl2,fgngvp1,mkpi4321,onezra,ebpx22,furyol2,zbetnaf,1whavbe,cnfjbeq1,ybtwnz,svsgl5,auseawuopa,punqql,cuvyyv,arzrfvf2,vatravre,qwxewq,enatre3,nvxzna8,xabgurnq,qnqql69,ybir007,iflguo,sbeq350,gvtre00,eraehg,bjra11,raretl12,znepu14,nyran123,eboreg19,pnevfzn,benatr22,zhecul11,cbqnebx,cebmnx,xstrves,jbys13,ylqvn1,funmmn,cnenfun,nxvzbi,gboovr,cvybgr,urngure4,onfgre,yrbarf,tmaskwe,zrtnzn,987654321t,ohyytbq,obkfgre1,zvaxrl,jbzongf,iretvy,pbyrtvngn,yvapby,fzbbgur,cevqr1,pnejnfu1,yngeryy,objyvat3,slyugd123,cvpxjvpx,rvqre,ohooyrobk,ohaavrf1,ybdhvg,fyvccre1,ahgfnp,chevan,kghgqsus,cybxvwh,1dnmkf,huwclfd,mkpionfqst,rawbl1,1chzcxva,cunagbz7,znzn22,fjbeqfzn,jbaqreoe,qbtqnlf,zvyxre,h23456,fvyina,qsxguoe,fyntryfr,lrnuzna,gjbguerr,obfgba11,jbys100,qnaalt,gebyy1,slawl123,tuopasq,osgrfg,onyyfqrrc,oboolbee,nycunfvt,pppqrzb,sver123,abejrfg,pynver2,nhthfg10,ygu1108,ceboyrznf,fncvgb,nyrk06,1ehfgl,znppbz,tbvevfu1,bulrf,okqhzo,anovyn,obborne1,enoovg69,cevapvc,nyrkfnaqre,geninvy,punagny1,qbtttl,terracrn,qvnoyb69,nyrk2009,oretra09,crggvpbn,pynffr,prvyvqu,iynq2011,xnznxvev,yhpvqvgl,dnm321,puvyrab,prksus,99enatre,zpvgen,rfgbccry,ibyibf60,pnegre80,jrocnff,grzc12,gbhnert,sptouol,ohoon8,fhavgun,200190eh,ovgpu2,funqbj23,vyhivg,avpbyr0,ehora1,avxxv69,ohgggg,fubpxre1,fbhfpurs,ybcbgbx01,xnagbg,pbefnab,psasls,evireng,znxnyh,fjncan,nyy4h9,pqgaxsl,agxgtrcoe,ebanyqb99,gubznfw,ozj540v,puevfj,obbzon,bcra321,m1k2p3i4o5a6z7,tnivbgn,vprzna44,sebfln,puevf100,puevf24,pbfrggr,pyrnejng,zvpnry,obbtlzna,chffl9,pnzhf1,puhzcl,urppeod,xbabcyln,purfgre8,fpbbgre5,tuwtshslys,tvbggb,xbbyxng,mreb000,obavgn1,pxsyeod,w1964,znaqbt,18a28a24n,erabo,urnq1,furetne,evatb123,gnavgn,frk4serr,wbuaal12,unyoreq,erqqrivyf,ovbybt,qvyyvatr,sngo0l,p00cre,ulcreyvg,jnyynpr2,fcrnef1,ivgnzvar,ohurves,fybobqn,nyxnfu,zbbzna,znevba1,nefrany7,fhaqre,abxvn5610,rqvsvre,cvccbar,slsawxzgqok,shwvzb,crcfv12,xhyvxbin,obyng,qhrggb,qnvzba,znqqbt01,gvzbfuxn,rmzbarl,qrfqrzba,purfgref,nvqra,uhthrf,cngevpx5,nvxzna08,eboreg4,ebravpx,alenatre,jevgre1,36169544,sbkzhyqre,118801,xhggre,funfunax,wnzwne,118811,119955,nfcvevan,qvaxhf,1fnvybe,anytrar,19891959,fanes,nyyvr1,penpxl,erfvcfn,45678912,xrzrebib,19841989,argjner1,nyuvzvx,19801984,avpbyr123,19761977,51501984,znynxn1,zbagryyn,crnpushm,wrgueb1,plcerff1,uraxvr,ubyqba,rfzvgu,55443322,1sevraq,dhvdhr,onaqvpbbg,fgngvfgvxn,terng123,qrngu13,hpug36,znfgre4,67899876,obofzvgu,avxxb1,we1234,uvyynel1,78978978,efgheob,ymymqspm,oybbqyhfg,funqbj00,fxntra,onzovan,lhzzvrf,88887777,91328378,znggurj4,vgqbrf,98256518,102938475,nyvan2002,123123789,shonerq,qnaalf,123456321,avxvsbe,fhpx69,arjzrkvpb,fphonzna,euopao,svsasl,chssqnqq,159357852,qgurlkoe,gurzna22,212009164,cebube,fuveyr,awv90bxz,arjzrqvn,tbbfr5,ebzn1995,yrgffrr,vprzna11,nxfnan,jverahg,cvzcqnql,1212312121,gnzcyvre,cryvpna1,qbzbqrqbib,1928374655,svpgvba6,qhpxcbaq,loerpm,gujnpx,bargjb34,thafzvgu,zheculqb,snyybhg1,fcrpger1,wnoorejb,wtwrfd,gheob6,obob12,erqelqre,oynpxchf,ryran1971,qnavybin,nagbva,obob1234,obobo,obooboob,qrna1,222222n,wrfhftbq,zngg23,zhfvpny1,qnexzntr,ybccby,jreerj,wbfrcun,erory12,gbfuxn,tnqsyl,unjxjbbq,nyvan12,qabzlne,frknqqvpg,qnatvg,pbby23,lbpenpx,nepuvzrq,snebhx,ausxmxm,yvaqnybh,111mmmmm,tuwngppwu,jrgurcrbcyr,z123456789,jbjfref,xoxokes,ohyyqbt5,z_ebrfry,fvffvavg,lnzbba6,123rjdnfq,qnatry,zvehibe79,xnlgrr,snypba7,onaqvg11,qbgarg,qnaavv,nefrany9,zvngnzk5,1gebhoyr,fgevc4zr,qbtcvyr,frklerq1,ewqsxgqs,tbbtyr10,fubegzna,pelfgny7,njrfbzr123,pbjqbt,unehxn,oveguqnl28,wvggre,qvnobyvx,obbzre12,qxavtug,oyhrjngr,ubpxrl123,pez0624,oyhroblf,jvyyl123,whzchc,tbbtyr2,pboen777,yynorfno,ivprybeq,ubccre1,treelore,erzznu,w10r5q4,ddddddj,nthfgv,ser_nx8lw,anuyvx,erqebova,fpbgg3,rcfba1,qhzcl,ohaqnb,navbyrx,ubyn123,wretraf,vgfnfrperg,znkfnz,oyhryvtug,zbhagnv1,obatjngre,1ybaqba,crccre14,serrhfr,qrerxf,djrdj,sbeqtg40,esusqsl,envqre12,uhaaloha,pbzcnp,fcyvpre,zrtnzba,ghsstbat,tlzanfg1,ohggre11,zbqnqql,jncoof_1,qnaqryvb,fbppre77,tuwaoqwpawmlog,123klv2,svfurnq,k002gc00,jubqnzna,555nnn,bhffnzn,oehabqbt,grpuavpv,czgtwaoy,dpkqj8el,fpujrqra,erqfbk3,gueboore,pbyyrpgb,wncna10,qoz123qz,uryyubha,grpu1,qrnqmbar,xnuyna,jbys123,qrguxybx,kmfnjd,ovtthl1,ploegup,punaqyr,ohpx01,dd123123,frpergn,jvyyvnzf1,p32649135,qrygn12,synfu33,123wbxre,fcnprwnz,cbybcb,ubylpenc,qnzna1,ghzzlorq,svanapvn,ahfeng,rhebyvar,zntvpbar,wvzxvex,nzrevgrp,qnavry26,friraa,gbcnmm,xvatcvaf,qvzn1991,znpqbt,fcrapre5,bv812,trbsser,zhfvp11,onssyr,123569,hfntv,pnffvbcr,cbyyn,yvypebjr,gurpnxrvfnyvr,iouwaqwugj,igubxvrf,byqznaf,fbcuvr01,tubfgre,craal2,129834,ybphghf1,zrrfun,zntvx,wreel69,qnqqlftvey,vebaqrfx,naqerl12,wnfzvar123,ircfesla,yvxrfqvpx,1nppbeq,wrgobng,tensvk,gbzhpu,fubjvg,cebgbmbn,zbfvnf98,gnohergxn,oynmr420,rfrava,nany69,mui84xi,chvffnag,puneyrf0,nvfujneln,onolyba6,ovggre1,yravan,enyrvtu1,yrpung,npprff01,xnzvyxn,slawl,fcnexcyh,qnvfl3112,pubccr,mbbgfhvg,1234567w,eholebfr,tbevyyn9,avtugfunqr,nygreangvin,ptusqwkloe,fahttyrf1,10121i,ibin1992,yrbaneqb1,qnir2,znggurjq,isusaoe,1986zrgf,abohyy,onpnyy,zrkvpna1,whnawb,znsvn1,obbzre22,fblyrag,rqjneqf1,wbeqna10,oynpxjvq,nyrk86,trzvav13,yhane2,qpgipwpsaz,znynxv,cyhttre,rntyrf11,fansh2,1furyyl,pvagnxh,unaanu22,goveq1,znxf5843,vevfu88,ubzre22,nznebx,sxgepslyuwqs,yvapbya2,nprff,ter69xvx,arrq4fcrrq,uvtugrpu,pber2qhb,oyhag1,hoyuwtwloes,qentba33,1nhgbcnf,nhgbcnf1,jjjj1,15935746,qnavry20,2500nn,znffvz,1ttttttt,96sbeq,uneqpbe1,pboen5,oynpxqentba,ibina_yg,bebpuvzneh,uwyoagxo,djreglhvbc12,gnyyra,cnenqbxf,sebmrasvfu,tuwhusiiopa,treev1,ahttrgg,pnzvyvg,qbevtug,genaf1,freran1,pngpu2,oxzlru,sverfgba,nsuisjgqa,checyr3,svther8,shpxln,fpnzc1,ynenawn,bagurbhgfvqr,ybhvf123,lryybj7,zbbajnyx,zrephel2,gbyxrva,envqr,nzraen,n13579,qenaero,5150iu,unevfu,genpxfgn,frkxvat,bmmzbfvf,xngvrr,nybzne,zngevk19,urnqebbz,wnuybir,evatqvat,ncbyyb8,132546,132613,12345672000,fnerggn,135798,136666,gubznf7,136913,bargjbguerr,ubpxrl33,pnyvqn,arsregvg,ovgjvfr,gnvyubbx,obbc4,xstrpoe,ohwuzohwuz,zrgny69,gurqnex,zrgrbeb,sryvpvn1,ubhfr12,gvahivry,vfgvan,inm2105,cvzc13,gbbysna,avan1,ghrfqnl2,znkzbgvirf,ytxc500,ybpxfyrl,gerrpu,qneyvat1,xhenzn,nzvaxn,enzva,erqurq,qnmmyre,wntre1,fgcvyvbg,pneqzna,esiglz,purrfre,14314314,cnenzbha,fnzpng,cyhzcl,fgvssvr,ifnwlwe,cnangun,ddd777,pne12345,098cbv,nfqmk,xrrtna1,sheryvfr,xnyvsbeavn,iouwpxsq,ornfg123,mpsismxrkvsm,uneel5,1oveqvr,96328v,rfpbyn,rkgen330,urael12,tsuslwdm,14h2ai,znk1234,grzcyne1,1qnir,02588520,pngeva,cnatbyva,zneunon,yngva1,nzbepvgb,qnir22,rfpncr1,nqinapr1,lnfhuveb,tercj,zrrgzr,benatr01,rearf,reqan,mfreta,anhgvpn1,whfgvao,fbhaqjni,zvnfzn,tert78,anqvar1,frkznq,ybironol,cebzb1,rkpry1,onolf,qentbazn,pnzel1,fbaarafpurva,snebbd,jnmmxncevirg,zntny,xngvanf,ryivf99,erqfbk24,ebbarl1,puvrsl,crttlf,nyvri,cvyfhat,zhqura,qbagqbvg,qraavf12,fhcrepny,raretvn,onyyfbhg,shabar,pynhqvh,oebja2,nzbpb,qnoy1125,cuvybf,twqgxoagxz,freirggr,13571113,juvmmre,abyyvr,13467982,hcvgre,12fgevat,oyhrwnl1,fvyxvr,jvyyvnz4,xbfgn1,143333,pbaabe12,fhfgnaba,06068,pbecbeng,ffanxr,ynhevgn,xvat10,gnubrf,nefrany123,fncngb,puneyrff,wrnaznep,yrirag,nytrevr,znevar21,wrggnf,jvafbzr,qpgitocys,1701no,kkkc455j0eq5,yyyyyyy1,bbbbbbb1,zbanyvf,xbhsnk32,nanfgnfln,qrohttre,fnevgn2,wnfba69,hsxkwlwe,twypasqs,1wreel,qnavry10,onyvabe,frkxvggra,qrngu2,djregnfqstmkpio,f9gr949s,irtrgn1,flfzna,znkknz,qvznovyna,zbbbfr,vybirgvg,whar23,vyyrfg,qbrfvg,znzbh,nool12,ybatwhzc,genafnyc,zbqrengb,yvggyrthl,zntevggr,qvyabmn,unjnvvthl,jvaovt,arzvebss,xbxnvar,nqzven,zlrznvy,qernz2,oebjarlrf,qrfgval7,qentbaff,fhpxzr1,nfn123,naqenavx,fhpxrz,syrfuobg,qnaqvr,gvzzlf,fpvgen,gvzqbt,unforra,thrfff,fzryylsr,nenpuar,qrhgfpuy,uneyrl88,oveguqnl27,abobql1,cncnfzhe,ubzr1,wbanff,ohavn3,rcngo1,rzonyz,isirxzes,ncnpre,12345656,rfgerrg,jrvuanpugfonhz,zejuvgr,nqzva12,xevfgvr1,xryrorx,lbqn69,fbpxra,gvzn123,onlrea1,sxgepslygu,gnzvln,99fgeratug,naql01,qravf2011,19qrygn,fgbxrpvg,nbgrnebn,fgnyxre2,avpanp,pbaenq1,cbcrl,nthfgn,objy36,1ovtsvfu,zbfflbnx,1fghaare,trgvaabj,wrffrwnzrf,txsawl,qenxb,1avffna,rtbe123,ubgarff,1unjnvv,mkp123456,pnagfgbc,1crnpurf,znqyra,jrfg1234,wrgre1,znexvf,whqvg,nggnpx1,negrzv,fvyire69,153246,penml2,terra9,lbfuvzv,1irggr,puvrs123,wnfcre2,1fvreen,gjraglba,qefgenat,nfcvenag,lnaavp,wraan123,obatgbxr,fyhecl,1fhtne,pvivp97,ehfgl21,fuvarba,wnzrf19,naan12345,jbaqrejbzna,1xriva,xneby1,xnanovf,jreg21,sxgvs6115,rivy1,xnxnun,54ti768,826248f,glebar1,1jvafgba,fhtne2,snypba01,nqryln,zbcne440,mnfkpq,yrrpure,xvaxlfrk,zreprqr1,genixn,11234567,eroba,trrxobl".split(","), english_wikipedia:"gur,bs,naq,va,jnf,vf,sbe,nf,ba,jvgu,ol,ur,ng,sebz,uvf,na,jrer,ner,juvpu,qbp,uggcf,nyfb,be,unf,unq,svefg,bar,gurve,vgf,nsgre,arj,jub,gurl,gjb,ure,fur,orra,bgure,jura,gvzr,qhevat,gurer,vagb,fpubby,zber,znl,lrnef,bire,bayl,lrne,zbfg,jbhyq,jbeyq,pvgl,fbzr,jurer,orgjrra,yngre,guerr,fgngr,fhpu,gura,angvbany,hfrq,znqr,xabja,haqre,znal,havirefvgl,havgrq,juvyr,cneg,frnfba,grnz,gurfr,nzrevpna,guna,svyz,frpbaq,obea,fbhgu,orpnzr,fgngrf,jne,guebhtu,orvat,vapyhqvat,obgu,orsber,abegu,uvtu,ubjrire,crbcyr,snzvyl,rneyl,uvfgbel,nyohz,nern,gurz,frevrf,ntnvafg,hagvy,fvapr,qvfgevpg,pbhagl,anzr,jbex,yvsr,tebhc,zhfvp,sbyybjvat,ahzore,pbzcnal,frireny,sbhe,pnyyrq,cynlrq,eryrnfrq,pnerre,yrnthr,tnzr,tbireazrag,ubhfr,rnpu,onfrq,qnl,fnzr,jba,hfr,fgngvba,pyho,vagreangvbany,gbja,ybpngrq,cbchyngvba,trareny,pbyyrtr,rnfg,sbhaq,ntr,znepu,raq,frcgrzore,ortna,ubzr,choyvp,puhepu,yvar,whar,evire,zrzore,flfgrz,cynpr,praghel,onaq,whyl,lbex,wnahnel,bpgbore,fbat,nhthfg,orfg,sbezre,oevgvfu,cnegl,anzrq,uryq,ivyyntr,fubj,ybpny,abirzore,gbbx,freivpr,qrprzore,ohvyg,nabgure,znwbe,jvguva,nybat,zrzoref,svir,fvatyr,qhr,nygubhtu,fznyy,byq,yrsg,svany,ynetr,vapyhqr,ohvyqvat,freirq,cerfvqrag,erprvirq,tnzrf,qrngu,sroehnel,znva,guveq,frg,puvyqera,bja,beqre,fcrpvrf,cnex,ynj,nve,choyvfurq,ebnq,qvrq,obbx,zra,jbzra,nezl,bsgra,nppbeqvat,rqhpngvba,prageny,pbhagel,qvivfvba,ratyvfu,gbc,vapyhqrq,qrirybczrag,serapu,pbzzhavgl,nzbat,jngre,cynl,fvqr,yvfg,gvzrf,arne,yngr,sbez,bevtvany,qvssrerag,pragre,cbjre,yrq,fghqragf,trezna,zbirq,pbheg,fvk,ynaq,pbhapvy,vfynaq,h.f.,erpbeq,zvyyvba,erfrnepu,neg,rfgnoyvfurq,njneq,fgerrg,zvyvgnel,gryrivfvba,tvira,ertvba,fhccbeg,jrfgrea,cebqhpgvba,aba,cbyvgvpny,cbvag,phc,crevbq,ohfvarff,gvgyr,fgnegrq,inevbhf,ryrpgvba,hfvat,ratynaq,ebyr,cebqhprq,orpbzr,cebtenz,jbexf,svryq,gbgny,bssvpr,pynff,jevggra,nffbpvngvba,enqvb,havba,yriry,punzcvbafuvc,qverpgbe,srj,sbepr,perngrq,qrcnegzrag,sbhaqrq,freivprf,zneevrq,gubhtu,cre,a'g,fvgr,bcra,npg,fubeg,fbpvrgl,irefvba,eblny,cerfrag,abegurea,jbexrq,cebsrffvbany,shyy,erghearq,wbvarq,fgbel,senapr,rhebcrna,pheeragyl,ynathntr,fbpvny,pnyvsbeavn,vaqvn,qnlf,qrfvta,fg.,shegure,ebhaq,nhfgenyvn,jebgr,fna,cebwrpg,pbageby,fbhgurea,envyjnl,obneq,cbchyne,pbagvahrq,serr,onggyr,pbafvqrerq,ivqrb,pbzzba,cbfvgvba,yvivat,unys,cynlvat,erpbeqrq,erq,cbfg,qrfpevorq,nirentr,erpbeqf,fcrpvny,zbqrea,nccrnerq,naabhaprq,nernf,ebpx,eryrnfr,ryrpgrq,bguref,rknzcyr,grez,bcrarq,fvzvyne,sbezrq,ebhgr,prafhf,pheerag,fpubbyf,bevtvanyyl,ynxr,qrirybcrq,enpr,uvzfrys,sbeprf,nqqvgvba,vasbezngvba,hcba,cebivapr,zngpu,rirag,fbatf,erfhyg,riragf,jva,rnfgrea,genpx,yrnq,grnzf,fpvrapr,uhzna,pbafgehpgvba,zvavfgre,treznal,njneqf,ninvynoyr,guebhtubhg,genvavat,fglyr,obql,zhfrhz,nhfgenyvna,urnygu,frira,fvtarq,puvrs,riraghnyyl,nccbvagrq,frn,prager,qrohg,gbhe,cbvagf,zrqvn,yvtug,enatr,punenpgre,npebff,srngherf,snzvyvrf,ynetrfg,vaqvna,argjbex,yrff,cresbeznapr,cynlref,ersre,rhebcr,fbyq,srfgviny,hfhnyyl,gnxra,qrfcvgr,qrfvtarq,pbzzvggrr,cebprff,erghea,bssvpvny,rcvfbqr,vafgvghgr,fgntr,sbyybjrq,cresbezrq,wncnarfr,crefbany,guhf,negf,fcnpr,ybj,zbaguf,vapyhqrf,puvan,fghql,zvqqyr,zntnmvar,yrnqvat,wncna,tebhcf,nvepensg,srngherq,srqreny,pvivy,evtugf,zbqry,pbnpu,pnanqvna,obbxf,erznvarq,rvtug,glcr,vaqrcraqrag,pbzcyrgrq,pncvgny,npnqrzl,vafgrnq,xvatqbz,betnavmngvba,pbhagevrf,fghqvrf,pbzcrgvgvba,fcbegf,fvmr,nobir,frpgvba,svavfurq,tbyq,vaibyirq,ercbegrq,znantrzrag,flfgrzf,vaqhfgel,qverpgrq,znexrg,sbhegu,zbirzrag,grpuabybtl,onax,tebhaq,pnzcnvta,onfr,ybjre,frag,engure,nqqrq,cebivqrq,pbnfg,tenaq,uvfgbevp,inyyrl,pbasrerapr,oevqtr,jvaavat,nccebkvzngryl,svyzf,puvarfr,njneqrq,qrterr,ehffvna,fubjf,angvir,srznyr,ercynprq,zhavpvcnyvgl,fdhner,fghqvb,zrqvpny,qngn,nsevpna,fhpprffshy,zvq,onl,nggnpx,cerivbhf,bcrengvbaf,fcnavfu,gurnger,fghqrag,erchoyvp,ortvaavat,cebivqr,fuvc,cevznel,bjarq,jevgvat,gbheanzrag,phygher,vagebqhprq,grknf,eryngrq,angheny,cnegf,tbireabe,ernpurq,verynaq,havgf,fravbe,qrpvqrq,vgnyvna,jubfr,uvture,nsevpn,fgnaqneq,vapbzr,cebsrffbe,cynprq,ertvbany,ybf,ohvyqvatf,punzcvbafuvcf,npgvir,abiry,raretl,trarenyyl,vagrerfg,ivn,rpbabzvp,cerivbhfyl,fgngrq,vgfrys,punaary,orybj,bcrengvba,yrnqre,genqvgvbany,genqr,fgehpgher,yvzvgrq,ehaf,cevbe,erthyne,snzbhf,fnvag,anil,sbervta,yvfgrq,negvfg,pngubyvp,nvecbeg,erfhygf,cneyvnzrag,pbyyrpgvba,havg,bssvpre,tbny,nggraqrq,pbzznaq,fgnss,pbzzvffvba,yvirq,ybpngvba,cynlf,pbzzrepvny,cynprf,sbhaqngvba,fvtavsvpnag,byqre,zrqny,frys,fpberq,pbzcnavrf,uvtujnl,npgvivgvrf,cebtenzf,jvqr,zhfvpny,abgnoyr,yvoenel,ahzrebhf,cnevf,gbjneqf,vaqvivqhny,nyybjrq,cynag,cebcregl,naahny,pbagenpg,jubz,uvturfg,vavgvnyyl,erdhverq,rneyvre,nffrzoyl,negvfgf,eheny,frng,cenpgvpr,qrsrngrq,raqrq,fbivrg,yratgu,fcrag,znantre,cerff,nffbpvngrq,nhgube,vffhrf,nqqvgvbany,punenpgref,ybeq,mrnynaq,cbyvpl,ratvar,gbjafuvc,abgrq,uvfgbevpny,pbzcyrgr,svanapvny,eryvtvbhf,zvffvba,pbagnvaf,avar,erprag,ercerfragrq,craaflyinavn,nqzvavfgengvba,bcravat,frpergnel,yvarf,ercbeg,rkrphgvir,lbhgu,pybfrq,gurbel,jevgre,vgnyl,natryrf,nccrnenapr,srngher,dhrra,ynhapurq,yrtny,grezf,ragrerq,vffhr,rqvgvba,fvatre,terrx,znwbevgl,onpxtebhaq,fbhepr,nagv,phygheny,pbzcyrk,punatrf,erpbeqvat,fgnqvhz,vfynaqf,bcrengrq,cnegvphyneyl,onfxrgonyy,zbagu,hfrf,cbeg,pnfgyr,zbfgyl,anzrf,sbeg,fryrpgrq,vapernfrq,fgnghf,rnegu,fhofrdhragyl,cnpvsvp,pbire,inevrgl,pregnva,tbnyf,erznvaf,hccre,pbaterff,orpbzvat,fghqvrq,vevfu,angher,cnegvphyne,ybff,pnhfrq,puneg,qe.,sbeprq,perngr,ren,ergverq,zngrevny,erivrj,engr,fvatyrf,ersreerq,ynetre,vaqvivqhnyf,fubja,cebivqrf,cebqhpgf,fcrrq,qrzbpengvp,cbynaq,cnevfu,bylzcvpf,pvgvrf,gurzfryirf,grzcyr,jvat,trahf,ubhfrubyqf,freivat,pbfg,jnyrf,fgngvbaf,cnffrq,fhccbegrq,ivrj,pnfrf,sbezf,npgbe,znyr,zngpurf,znyrf,fgnef,genpxf,srznyrf,nqzvavfgengvir,zrqvna,rssrpg,ovbtencul,genva,ratvarrevat,pnzc,bssrerq,punvezna,ubhfrf,znvayl,19gu,fhesnpr,gurersber,arneyl,fpber,napvrag,fhowrpg,cevzr,frnfbaf,pynvzrq,rkcrevrapr,fcrpvsvp,wrjvfu,snvyrq,birenyy,oryvrirq,cybg,gebbcf,terngre,fcnva,pbafvfgf,oebnqpnfg,urnil,vapernfr,envfrq,frcnengr,pnzchf,1980f,nccrnef,cerfragrq,yvrf,pbzcbfrq,erpragyl,vasyhrapr,svsgu,angvbaf,perrx,ersreraprf,ryrpgvbaf,oevgnva,qbhoyr,pnfg,zrnavat,rnearq,pneevrq,cebqhpre,ynggre,ubhfvat,oebguref,nggrzcg,negvpyr,erfcbafr,obeqre,erznvavat,arneol,qverpg,fuvcf,inyhr,jbexref,cbyvgvpvna,npnqrzvp,ynory,1970f,pbzznaqre,ehyr,sryybj,erfvqragf,nhgubevgl,rqvgbe,genafcbeg,qhgpu,cebwrpgf,erfcbafvoyr,pbirerq,greevgbel,syvtug,enprf,qrsrafr,gbjre,rzcrebe,nyohzf,snpvyvgvrf,qnvyl,fgbevrf,nffvfgnag,znantrq,cevznevyl,dhnyvgl,shapgvba,cebcbfrq,qvfgevohgvba,pbaqvgvbaf,cevmr,wbheany,pbqr,ivpr,arjfcncre,pbecf,uvtuyl,pbafgehpgrq,znlbe,pevgvpny,frpbaqnel,pbecbengvba,ehtol,ertvzrag,buvb,nccrnenaprf,freir,nyybj,angvba,zhygvcyr,qvfpbirerq,qverpgyl,fprar,yriryf,tebjgu,ryrzragf,npdhverq,1990f,bssvpref,culfvpny,20gu,yngva,ubfg,wrefrl,tenqhngrq,neevirq,vffhrq,yvgrengher,zrgny,rfgngr,ibgr,vzzrqvngryl,dhvpxyl,nfvna,pbzcrgrq,rkgraqrq,cebqhpr,heona,1960f,cebzbgrq,pbagrzcbenel,tybony,sbezreyl,nccrne,vaqhfgevny,glcrf,bcren,zvavfgel,fbyqvref,pbzzbayl,znff,sbezngvba,fznyyre,glcvpnyyl,qenzn,fubegyl,qrafvgl,frangr,rssrpgf,vena,cbyvfu,cebzvarag,aniny,frggyrzrag,qvivqrq,onfvf,erchoyvpna,ynathntrf,qvfgnapr,gerngzrag,pbagvahr,cebqhpg,zvyr,fbheprf,sbbgonyyre,sbezng,pyhof,yrnqrefuvc,vavgvny,bssref,bcrengvat,nirahr,bssvpvnyyl,pbyhzovn,tenqr,fdhnqeba,syrrg,creprag,snez,yrnqref,nterrzrag,yvxryl,rdhvczrag,jrofvgr,zbhag,terj,zrgubq,genafsreerq,vagraqrq,eranzrq,veba,nfvn,erfreir,pncnpvgl,cbyvgvpf,jvqryl,npgvivgl,nqinaprq,eryngvbaf,fpbggvfu,qrqvpngrq,perj,sbhaqre,rcvfbqrf,ynpx,nzbhag,ohvyq,rssbegf,pbaprcg,sbyybjf,beqrerq,yrnirf,cbfvgvir,rpbabzl,ragregnvazrag,nssnvef,zrzbevny,novyvgl,vyyvabvf,pbzzhavgvrf,pbybe,grkg,envyebnq,fpvragvsvp,sbphf,pbzrql,freirf,rkpunatr,raivebazrag,pnef,qverpgvba,betnavmrq,svez,qrfpevcgvba,ntrapl,nanylfvf,checbfr,qrfgeblrq,erprcgvba,cynaarq,erirnyrq,vasnagel,nepuvgrpgher,tebjvat,srnghevat,ubhfrubyq,pnaqvqngr,erzbirq,fvghngrq,zbqryf,xabjyrqtr,fbyb,grpuavpny,betnavmngvbaf,nffvtarq,pbaqhpgrq,cnegvpvcngrq,ynetryl,chepunfrq,ertvfgre,tnvarq,pbzovarq,urnqdhnegref,nqbcgrq,cbgragvny,cebgrpgvba,fpnyr,nccebnpu,fcernq,vaqrcraqrapr,zbhagnvaf,gvgyrq,trbtencul,nccyvrq,fnsrgl,zvkrq,npprcgrq,pbagvahrf,pncgherq,envy,qrsrng,cevapvcny,erpbtavmrq,yvrhgranag,zragvbarq,frzv,bjare,wbvag,yvoreny,npgerff,genssvp,perngvba,onfvp,abgrf,havdhr,fhcerzr,qrpynerq,fvzcyl,cynagf,fnyrf,znffnpuhfrggf,qrfvtangrq,cnegvrf,wnmm,pbzcnerq,orpbzrf,erfbheprf,gvgyrf,pbapreg,yrneavat,erznva,grnpuvat,irefvbaf,pbagrag,nybatfvqr,eribyhgvba,fbaf,oybpx,cerzvre,vzcnpg,punzcvbaf,qvfgevpgf,trarengvba,rfgvzngrq,ibyhzr,vzntr,fvgrf,nppbhag,ebyrf,fcbeg,dhnegre,cebivqvat,mbar,lneq,fpbevat,pynffrf,cerfrapr,cresbeznaprf,ercerfragngvirf,ubfgrq,fcyvg,gnhtug,bevtva,bylzcvp,pynvzf,pevgvpf,snpvyvgl,bppheerq,fhssrerq,zhavpvcny,qnzntr,qrsvarq,erfhygrq,erfcrpgviryl,rkcnaqrq,cyngsbez,qensg,bccbfvgvba,rkcrpgrq,rqhpngvbany,bagnevb,pyvzngr,ercbegf,ngynagvp,fheebhaqvat,cresbezvat,erqhprq,enaxrq,nyybjf,ovegu,abzvangrq,lbhatre,arjyl,xbat,cbfvgvbaf,gurngre,cuvynqrycuvn,urevgntr,svanyf,qvfrnfr,fvkgu,ynjf,erivrjf,pbafgvghgvba,genqvgvba,fjrqvfu,gurzr,svpgvba,ebzr,zrqvpvar,genvaf,erfhygvat,rkvfgvat,qrchgl,raivebazragny,ynobhe,pynffvpny,qrirybc,snaf,tenagrq,erprvir,nygreangvir,ortvaf,ahpyrne,snzr,ohevrq,pbaarpgrq,vqragvsvrq,cnynpr,snyyf,yrggref,pbzong,fpvraprf,rssbeg,ivyyntrf,vafcverq,ertvbaf,gbjaf,pbafreingvir,pubfra,navznyf,ynobe,nggnpxf,zngrevnyf,lneqf,fgrry,ercerfragngvir,bepurfgen,crnx,ragvgyrq,bssvpvnyf,ergheavat,ersrerapr,abegujrfg,vzcrevny,pbairagvba,rknzcyrf,bprna,choyvpngvba,cnvagvat,fhofrdhrag,serdhragyl,eryvtvba,oevtnqr,shyyl,fvqrf,npgf,przrgrel,eryngviryl,byqrfg,fhttrfgrq,fhpprrqrq,npuvrirq,nccyvpngvba,cebtenzzr,pryyf,ibgrf,cebzbgvba,tenqhngr,nezrq,fhccyl,sylvat,pbzzhavfg,svtherf,yvgrenel,argureynaqf,xbern,jbeyqjvqr,pvgvmraf,1950f,snphygl,qenj,fgbpx,frngf,bpphcvrq,zrgubqf,haxabja,negvpyrf,pynvz,ubyqf,nhgubevgvrf,nhqvrapr,fjrqra,vagreivrj,bognvarq,pbiref,frggyrq,genafsre,znexrq,nyybjvat,shaqvat,punyyratr,fbhgurnfg,hayvxr,pebja,evfr,cbegvba,genafcbegngvba,frpgbe,cunfr,cebcregvrf,rqtr,gebcvpny,fgnaqneqf,vafgvghgvbaf,cuvybfbcul,yrtvfyngvir,uvyyf,oenaq,shaq,pbasyvpg,hanoyr,sbhaqvat,ershfrq,nggrzcgf,zrgerf,creznarag,fgneevat,nccyvpngvbaf,perngvat,rssrpgvir,nverq,rkgrafvir,rzcyblrq,rarzl,rkcnafvba,ovyyobneq,enax,onggnyvba,zhygv,iruvpyr,sbhtug,nyyvnapr,pngrtbel,cresbez,srqrengvba,cbrgel,oebamr,onaqf,ragel,iruvpyrf,ohernh,znkvzhz,ovyyvba,gerrf,vagryyvtrapr,terngrfg,fperra,ersref,pbzzvffvbarq,tnyyrel,vawhel,pbasvezrq,frggvat,gerngl,nqhyg,nzrevpnaf,oebnqpnfgvat,fhccbegvat,cvybg,zbovyr,jevgref,cebtenzzvat,rkvfgrapr,fdhnq,zvaarfbgn,pbcvrf,xberna,cebivapvny,frgf,qrsrapr,bssvprf,ntevphygheny,vagreany,pber,abegurnfg,ergverzrag,snpgbel,npgvbaf,cerirag,pbzzhavpngvbaf,raqvat,jrrxyl,pbagnvavat,shapgvbaf,nggrzcgrq,vagrevbe,jrvtug,objy,erpbtavgvba,vapbecbengrq,vapernfvat,hygvzngryl,qbphzragnel,qrevirq,nggnpxrq,ylevpf,zrkvpna,rkgreany,puhepurf,praghevrf,zrgebcbyvgna,fryyvat,bccbfrq,crefbaary,zvyy,ivfvgrq,cerfvqragvny,ebnqf,cvrprf,abejrtvna,pbagebyyrq,18gu,erne,vasyhraprq,jerfgyvat,jrncbaf,ynhapu,pbzcbfre,ybpngvbaf,qrirybcvat,pvephvg,fcrpvsvpnyyl,fghqvbf,funerq,pnany,jvfpbafva,choyvfuvat,nccebirq,qbzrfgvp,pbafvfgrq,qrgrezvarq,pbzvp,rfgnoyvfuzrag,rkuvovgvba,fbhgujrfg,shry,ryrpgebavp,pncr,pbairegrq,rqhpngrq,zryobhear,uvgf,jvaf,cebqhpvat,abejnl,fyvtugyl,bpphe,fheanzr,vqragvgl,ercerfrag,pbafgvghrapl,shaqf,cebirq,yvaxf,fgehpgherf,nguyrgvp,oveqf,pbagrfg,hfref,cbrg,vafgvghgvba,qvfcynl,erprvivat,ener,pbagnvarq,thaf,zbgvba,cvnab,grzcrengher,choyvpngvbaf,cnffratre,pbagevohgrq,gbjneq,pngurqeny,vaunovgnagf,nepuvgrpg,rkvfg,nguyrgvpf,zhfyvz,pbhefrf,nonaqbarq,fvtany,fhpprffshyyl,qvfnzovthngvba,graarffrr,qlanfgl,urnivyl,znelynaq,wrjf,ercerfragvat,ohqtrg,jrngure,zvffbhev,vagebqhpgvba,snprq,cnve,puncry,ersbez,urvtug,ivrganz,bpphef,zbgbe,pnzoevqtr,ynaqf,sbphfrq,fbhtug,cngvragf,funcr,vainfvba,purzvpny,vzcbegnapr,pbzzhavpngvba,fryrpgvba,ertneqvat,ubzrf,ibvibqrfuvc,znvagnvarq,obebhtu,snvyher,ntrq,cnffvat,ntevphygher,bertba,grnpuref,sybj,cuvyvccvarf,genvy,friragu,cbeghthrfr,erfvfgnapr,ernpuvat,artngvir,snfuvba,fpurqhyrq,qbjagbja,havirefvgvrf,genvarq,fxvyyf,fprarf,ivrjf,abgnoyl,glcvpny,vapvqrag,pnaqvqngrf,ratvarf,qrpnqrf,pbzcbfvgvba,pbzzhar,punva,vap.,nhfgevn,fnyr,inyhrf,rzcyblrrf,punzore,ertneqrq,jvaaref,ertvfgrerq,gnfx,vairfgzrag,pbybavny,fjvff,hfre,ragveryl,synt,fgberf,pybfryl,ragenapr,ynvq,wbheanyvfg,pbny,rdhny,pnhfrf,ghexvfu,dhrorp,grpuavdhrf,cebzbgr,whapgvba,rnfvyl,qngrf,xraghpxl,fvatncber,erfvqrapr,ivbyrapr,nqinapr,fheirl,uhznaf,rkcerffrq,cnffrf,fgerrgf,qvfgvathvfurq,dhnyvsvrq,sbyx,rfgnoyvfu,rtlcg,negvyyrel,ivfhny,vzcebirq,npghny,svavfuvat,zrqvhz,cebgrva,fjvgmreynaq,cebqhpgvbaf,bcrengr,cbiregl,arvtuobeubbq,betnavfngvba,pbafvfgvat,pbafrphgvir,frpgvbaf,cnegarefuvc,rkgrafvba,ernpgvba,snpgbe,pbfgf,obqvrf,qrivpr,rguavp,enpvny,syng,bowrpgf,puncgre,vzcebir,zhfvpvnaf,pbhegf,pbagebirefl,zrzorefuvc,zretrq,jnef,rkcrqvgvba,vagrerfgf,neno,pbzvpf,tnva,qrfpevorf,zvavat,onpurybe,pevfvf,wbvavat,qrpnqr,1930f,qvfgevohgrq,unovgng,ebhgrf,neran,plpyr,qvivfvbaf,oevrsyl,ibpnyf,qverpgbef,qrterrf,bowrpg,erpbeqvatf,vafgnyyrq,nqwnprag,qrznaq,ibgrq,pnhfvat,ohfvarffrf,ehyrq,tebhaqf,fgneerq,qenja,bccbfvgr,fgnaqf,sbezny,bcrengrf,crefbaf,pbhagvrf,pbzcrgr,jnir,vfenryv,apnn,erfvtarq,oevrs,terrpr,pbzovangvba,qrzbtencuvpf,uvfgbevna,pbagnva,pbzzbajrnygu,zhfvpvna,pbyyrpgrq,nethrq,ybhvfvnan,frffvba,pnovarg,cneyvnzragnel,ryrpgbeny,ybna,cebsvg,erthyneyl,pbafreingvba,vfynzvp,chepunfr,17gu,punegf,erfvqragvny,rneyvrfg,qrfvtaf,cnvagvatf,fheivirq,zbgu,vgrzf,tbbqf,terl,naavirefnel,pevgvpvfz,vzntrf,qvfpbirel,bofreirq,haqretebhaq,cebterff,nqqvgvbanyyl,cnegvpvcngr,gubhfnaqf,erqhpr,ryrzragnel,bjaref,fgngvat,vend,erfbyhgvba,pncgher,gnax,ebbzf,ubyyljbbq,svanapr,dhrrafynaq,ervta,znvagnva,vbjn,ynaqvat,oebnq,bhgfgnaqvat,pvepyr,cngu,znahsnpghevat,nffvfgnapr,frdhrapr,tzvan,pebffvat,yrnqf,havirefny,funcrq,xvatf,nggnpurq,zrqvriny,ntrf,zrgeb,pbybal,nssrpgrq,fpubynef,bxynubzn,pbnfgny,fbhaqgenpx,cnvagrq,nggraq,qrsvavgvba,zrnajuvyr,checbfrf,gebcul,erdhver,znexrgvat,cbchynevgl,pnoyr,zngurzngvpf,zvffvffvccv,ercerfragf,fpurzr,nccrny,qvfgvapg,snpgbef,npvq,fhowrpgf,ebhtuyl,grezvany,rpbabzvpf,frangbe,qvbprfr,cevk,pbagenfg,netragvan,pmrpu,jvatf,eryvrs,fgntrf,qhgvrf,16gu,abiryf,npphfrq,juvyfg,rdhvinyrag,punetrq,zrnfher,qbphzragf,pbhcyrf,erdhrfg,qnavfu,qrsrafvir,thvqr,qrivprf,fgngvfgvpf,perqvgrq,gevrf,cnffratref,nyyvrq,senzr,chregb,cravafhyn,pbapyhqrq,vafgehzragf,jbhaqrq,qvssreraprf,nffbpvngr,sberfgf,nsgrejneqf,ercynpr,erdhverzragf,nivngvba,fbyhgvba,bssrafvir,bjarefuvc,vaare,yrtvfyngvba,uhatnevna,pbagevohgvbaf,npgbef,genafyngrq,qraznex,fgrnz,qrcraqvat,nfcrpgf,nffhzrq,vawherq,frirer,nqzvggrq,qrgrezvar,fuber,grpuavdhr,neeviny,zrnfherf,genafyngvba,qrohgrq,qryvirerq,ergheaf,erwrpgrq,frcnengrq,ivfvgbef,qnzntrq,fgbentr,nppbzcnavrq,znexrgf,vaqhfgevrf,ybffrf,thys,punegre,fgengrtl,pbecbengr,fbpvnyvfg,fbzrjung,fvtavsvpnagyl,culfvpf,zbhagrq,fngryyvgr,rkcrevraprq,pbafgnag,eryngvir,cnggrea,erfgberq,orytvhz,pbaarpgvphg,cnegaref,uneineq,ergnvarq,argjbexf,cebgrpgrq,zbqr,negvfgvp,cnenyyry,pbyynobengvba,qrongr,vaibyivat,wbhearl,yvaxrq,fnyg,nhgubef,pbzcbaragf,pbagrkg,bpphcngvba,erdhverf,bppnfvbanyyl,cbyvpvrf,gnzvy,bggbzna,eribyhgvbanel,uhatnel,cbrz,irefhf,tneqraf,nzbatfg,nhqvb,znxrhc,serdhrapl,zrgref,begubqbk,pbagvahvat,fhttrfgf,yrtvfyngher,pbnyvgvba,thvgnevfg,rvtugu,pynffvsvpngvba,cenpgvprf,fbvy,gbxlb,vafgnapr,yvzvg,pbirentr,pbafvqrenoyr,enaxvat,pbyyrtrf,pninyel,pragref,qnhtugref,gjva,rdhvccrq,oebnqjnl,aneebj,ubfgf,engrf,qbznva,obhaqnel,neenatrq,12gu,jurernf,oenmvyvna,sbezvat,engvat,fgengrtvp,pbzcrgvgvbaf,genqvat,pbirevat,onygvzber,pbzzvffvbare,vasenfgehpgher,bevtvaf,ercynprzrag,cenvfrq,qvfp,pbyyrpgvbaf,rkcerffvba,hxenvar,qevira,rqvgrq,nhfgevna,fbyne,rafher,cerzvrerq,fhpprffbe,jbbqra,bcrengvbany,uvfcnavp,pbapreaf,encvq,cevfbaref,puvyqubbq,zrrgf,vasyhragvny,ghaary,rzcyblzrag,gevor,dhnyvslvat,nqncgrq,grzcbenel,pryroengrq,nccrnevat,vapernfvatyl,qrcerffvba,nqhygf,pvarzn,ragrevat,ynobengbel,fpevcg,sybjf,ebznavn,nppbhagf,svpgvbany,cvggfohetu,npuvrir,zbanfgrel,senapuvfr,sbeznyyl,gbbyf,arjfcncref,eriviny,fcbafberq,cebprffrf,ivraan,fcevatf,zvffvbaf,pynffvsvrq,13gu,naahnyyl,oenapurf,ynxrf,traqre,znaare,nqiregvfvat,abeznyyl,znvagranapr,nqqvat,punenpgrevfgvpf,vagrtengrq,qrpyvar,zbqvsvrq,fgebatyl,pevgvp,ivpgvzf,znynlfvn,nexnafnf,anmv,erfgbengvba,cbjrerq,zbahzrag,uhaqerqf,qrcgu,15gu,pbagebirefvny,nqzveny,pevgvpvmrq,oevpx,ubabenel,vavgvngvir,bhgchg,ivfvgvat,ovezvatunz,cebterffvir,rkvfgrq,pneoba,1920f,perqvgf,pbybhe,evfvat,urapr,qrsrngvat,fhcrevbe,svyzrq,yvfgvat,pbyhza,fheebhaqrq,beyrnaf,cevapvcyrf,greevgbevrf,fgehpx,cnegvpvcngvba,vaqbarfvn,zbirzragf,vaqrk,pbzzrepr,pbaqhpg,pbafgvghgvbany,fcvevghny,nzonffnqbe,ibpny,pbzcyrgvba,rqvaohetu,erfvqvat,gbhevfz,svaynaq,ornef,zrqnyf,erfvqrag,gurzrf,ivfvoyr,vaqvtrabhf,vaibyirzrag,onfva,ryrpgevpny,hxenvavna,pbapregf,obngf,fglyrf,cebprffvat,eviny,qenjvat,irffryf,rkcrevzragny,qrpyvarq,gbhevat,fhccbegref,pbzcvyngvba,pbnpuvat,pvgrq,qngrq,ebbgf,fgevat,rkcynvarq,genafvg,genqvgvbanyyl,cbrzf,zvavzhz,ercerfragngvba,14gu,eryrnfrf,rssrpgviryl,nepuvgrpgheny,gevcyr,vaqvpngrq,terngyl,ryringvba,pyvavpny,cevagrq,10gu,cebcbfny,crnxrq,cebqhpref,ebznavmrq,encvqyl,fgernz,vaavatf,zrrgvatf,pbhagre,ubhfrubyqre,ubabhe,ynfgrq,ntrapvrf,qbphzrag,rkvfgf,fheivivat,rkcrevraprf,ubabef,ynaqfpncr,uheevpnar,uneobe,cnary,pbzcrgvat,cebsvyr,irffry,snezref,yvfgf,erirahr,rkprcgvba,phfgbzref,11gu,cnegvpvcnagf,jvyqyvsr,hgnu,ovoyr,tenqhnyyl,cerfreirq,ercynpvat,flzcubal,ortha,ybatrfg,fvrtr,cebivaprf,zrpunavpny,traer,genafzvffvba,ntragf,rkrphgrq,ivqrbf,orarsvgf,shaqrq,engrq,vafgehzragny,avagu,fvzvyneyl,qbzvangrq,qrfgehpgvba,cnffntr,grpuabybtvrf,gurernsgre,bhgre,snpvat,nssvyvngrq,bccbeghavgvrf,vafgehzrag,tbireazragf,fpubyne,ribyhgvba,punaaryf,funerf,frffvbaf,jvqrfcernq,bppnfvbaf,ratvarref,fpvragvfgf,fvtavat,onggrel,pbzcrgvgvir,nyyrtrq,ryvzvangrq,fhccyvrf,whqtrf,unzcfuver,ertvzr,cbegenlrq,cranygl,gnvjna,qravrq,fhoznevar,fpubynefuvc,fhofgnagvny,genafvgvba,ivpgbevna,uggc,arireguryrff,svyrq,fhccbegf,pbagvaragny,gevorf,engvb,qbhoyrf,hfrshy,ubabhef,oybpxf,cevapvcyr,ergnvy,qrcnegher,enaxf,cngeby,lbexfuver,inapbhire,vagre,rkgrag,nstunavfgna,fgevc,envyjnlf,pbzcbarag,betna,flzoby,pngrtbevrf,rapbhentrq,noebnq,pvivyvna,crevbqf,geniryrq,jevgrf,fgehttyr,vzzrqvngr,erpbzzraqrq,nqncgngvba,rtlcgvna,tenqhngvat,nffnhyg,qehzf,abzvangvba,uvfgbevpnyyl,ibgvat,nyyvrf,qrgnvyrq,npuvrirzrag,crepragntr,nenovp,nffvfg,serdhrag,gbherq,nccyl,naq/be,vagrefrpgvba,znvar,gbhpuqbja,guebar,cebqhprf,pbagevohgvba,rzretrq,bognva,nepuovfubc,frrx,erfrnepuref,erznvaqre,cbchyngvbaf,pyna,svaavfu,birefrnf,svsn,yvprafrq,purzvfgel,srfgvinyf,zrqvgreenarna,vawhevrf,navzngrq,frrxvat,choyvfure,ibyhzrf,yvzvgf,irahr,wrehfnyrz,trarengrq,gevnyf,vfynz,lbhatrfg,ehyvat,tynftbj,treznaf,fbatjevgre,crefvna,zhavpvcnyvgvrf,qbangrq,ivrjrq,orytvna,pbbcrengvba,cbfgrq,grpu,qhny,ibyhagrre,frggyref,pbzznaqrq,pynvzvat,nccebiny,qryuv,hfntr,grezvahf,cnegyl,ryrpgevpvgl,ybpnyyl,rqvgvbaf,cerzvrer,nofrapr,oryvrs,genqvgvbaf,fgnghr,vaqvpngr,znabe,fgnoyr,nggevohgrq,cbffrffvba,znantvat,ivrjref,puvyr,bireivrj,frrq,erthyngvbaf,rffragvny,zvabevgl,pnetb,frtzrag,raqrzvp,sbehz,qrnguf,zbaguyl,cynlbssf,rerpgrq,cenpgvpny,znpuvarf,fhoheo,eryngvba,zef.,qrfprag,vaqbbe,pbagvahbhf,punenpgrevmrq,fbyhgvbaf,pnevoorna,erohvyg,freovna,fhzznel,pbagrfgrq,cflpubybtl,cvgpu,nggraqvat,zhunzznq,graher,qeviref,qvnzrgre,nffrgf,iragher,chax,nveyvarf,pbapragengvba,nguyrgrf,ibyhagrref,cntrf,zvarf,vasyhraprf,fphycgher,cebgrfg,sreel,orunys,qensgrq,nccnerag,shegurezber,enatvat,ebznavna,qrzbpenpl,ynaxn,fvtavsvpnapr,yvarne,q.p.,pregvsvrq,ibgref,erpbirerq,gbhef,qrzbyvfurq,obhaqnevrf,nffvfgrq,vqragvsl,tenqrf,ryfrjurer,zrpunavfz,1940f,ercbegrqyl,nvzrq,pbairefvba,fhfcraqrq,cubgbtencul,qrcnegzragf,orvwvat,ybpbzbgvirf,choyvpyl,qvfchgr,zntnmvarf,erfbeg,pbairagvbany,cyngsbezf,vagreangvbanyyl,pncvgn,frggyrzragf,qenzngvp,qreol,rfgnoyvfuvat,vaibyirf,fgngvfgvpny,vzcyrzragngvba,vzzvtenagf,rkcbfrq,qvirefr,ynlre,infg,prnfrq,pbaarpgvbaf,orybatrq,vagrefgngr,hrsn,betnavfrq,nohfr,qrcyblrq,pnggyr,cnegvnyyl,svyzvat,znvafgernz,erqhpgvba,nhgbzngvp,eneryl,fhofvqvnel,qrpvqrf,zretre,pbzcerurafvir,qvfcynlrq,nzraqzrag,thvarn,rkpyhfviryl,znaunggna,pbapreavat,pbzzbaf,enqvpny,freovn,oncgvfg,ohfrf,vavgvngrq,cbegenvg,uneobhe,pubve,pvgvmra,fbyr,hafhpprffshy,znahsnpgherq,rasbeprzrag,pbaarpgvat,vapernfrf,cnggreaf,fnperq,zhfyvzf,pybguvat,uvaqh,havapbecbengrq,fragraprq,nqivfbel,gnaxf,pnzcnvtaf,syrq,ercrngrq,erzbgr,eroryyvba,vzcyrzragrq,grkgf,svggrq,gevohgr,jevgvatf,fhssvpvrag,zvavfgref,21fg,qribgrq,whevfqvpgvba,pbnpurf,vagrecergngvba,cbyr,ohfvarffzna,creh,fcbegvat,cevprf,phon,erybpngrq,bccbarag,neenatrzrag,ryvgr,znahsnpghere,erfcbaqrq,fhvgnoyr,qvfgvapgvba,pnyraqne,qbzvanag,gbhevfg,rneavat,cersrpgher,gvrf,cercnengvba,natyb,chefhr,jbefuvc,nepunrbybtvpny,punapryybe,onatynqrfu,fpberf,genqrq,ybjrfg,ubeebe,bhgqbbe,ovbybtl,pbzzragrq,fcrpvnyvmrq,ybbc,neevivat,snezvat,ubhfrq,uvfgbevnaf,'gur,cngrag,chcvyf,puevfgvnavgl,bccbaragf,nguraf,abegujrfgrea,zncf,cebzbgvat,erirnyf,syvtugf,rkpyhfvir,yvbaf,abesbyx,uroerj,rkgrafviryl,ryqrfg,fubcf,npdhvfvgvba,iveghny,erabjarq,znetva,batbvat,rffragvnyyl,venavna,nygreangr,fnvyrq,ercbegvat,pbapyhfvba,bevtvangrq,grzcrengherf,rkcbfher,frpherq,ynaqrq,evsyr,senzrjbex,vqragvpny,znegvny,sbphfrf,gbcvpf,onyyrg,svtugref,orybatvat,jrnygul,artbgvngvbaf,ribyirq,onfrf,bevragrq,nperf,qrzbpeng,urvtugf,erfgevpgrq,inel,tenqhngvba,nsgrezngu,purff,vyyarff,cnegvpvcngvat,iregvpny,pbyyrpgvir,vzzvtengvba,qrzbafgengrq,yrns,pbzcyrgvat,betnavp,zvffvyr,yrrqf,ryvtvoyr,tenzzne,pbasrqrengr,vzcebirzrag,pbaterffvbany,jrnygu,pvapvaangv,fcnprf,vaqvpngrf,pbeerfcbaqvat,ernpurf,ercnve,vfbyngrq,gnkrf,pbatertngvba,engvatf,yrnthrf,qvcybzngvp,fhozvggrq,jvaqf,njnerarff,cubgbtencuf,znevgvzr,avtrevn,npprffvoyr,navzngvba,erfgnhenagf,cuvyvccvar,vanhtheny,qvfzvffrq,nezravna,vyyhfgengrq,erfreibve,fcrnxref,cebtenzzrf,erfbhepr,trargvp,vagreivrjf,pnzcf,erthyngvba,pbzchgref,cersreerq,geniryyrq,pbzcnevfba,qvfgvapgvir,erperngvba,erdhrfgrq,fbhgurnfgrea,qrcraqrag,oevfonar,oerrqvat,cynlbss,rkcnaq,obahf,tnhtr,qrcnegrq,dhnyvsvpngvba,vafcvengvba,fuvccvat,fynirf,inevngvbaf,fuvryq,gurbevrf,zhavpu,erpbtavfrq,rzcunfvf,snibhe,inevnoyr,frrqf,haqretenqhngr,greevgbevny,vagryyrpghny,dhnyvsl,zvav,onaarq,cbvagrq,qrzbpengf,nffrffzrag,whqvpvny,rknzvangvba,nggrzcgvat,bowrpgvir,cnegvny,punenpgrevfgvp,uneqjner,cenqrfu,rkrphgvba,bggnjn,zrger,qehz,rkuvovgvbaf,jvguqerj,nggraqnapr,cuenfr,wbheanyvfz,ybtb,zrnfherq,reebe,puevfgvnaf,gevb,cebgrfgnag,gurbybtl,erfcrpgvir,ngzbfcurer,ohqquvfg,fhofgvghgr,pheevphyhz,shaqnzragny,bhgoernx,enoov,vagrezrqvngr,qrfvtangvba,tybor,yvorengvba,fvzhygnarbhfyl,qvfrnfrf,rkcrevzragf,ybpbzbgvir,qvssvphygvrf,znvaynaq,arcny,eryrtngrq,pbagevohgvat,qngnonfr,qrirybczragf,irgrena,pneevrf,enatrf,vafgehpgvba,ybqtr,cebgrfgf,bonzn,arjpnfgyr,rkcrevzrag,culfvpvna,qrfpevovat,punyyratrf,pbeehcgvba,qrynjner,nqiragherf,rafrzoyr,fhpprffvba,eranvffnapr,gragu,nygvghqr,erprvirf,nccebnpurq,pebffrf,flevn,pebngvn,jnefnj,cebsrffvbanyf,vzcebirzragf,jbea,nveyvar,pbzcbhaq,crezvggrq,cerfreingvba,erqhpvat,cevagvat,fpvragvfg,npgvivfg,pbzcevfrf,fvmrq,fbpvrgvrf,ragref,ehyre,tbfcry,rnegudhnxr,rkgraq,nhgbabzbhf,pebngvna,frevny,qrpbengrq,eryrinag,vqrny,tebjf,tenff,gvre,gbjref,jvqre,jrysner,pbyhzaf,nyhzav,qrfpraqnagf,vagresnpr,erfreirf,onaxvat,pbybavrf,znahsnpgheref,zntargvp,pybfher,cvgpurq,ibpnyvfg,cerfreir,raebyyrq,pnapryyrq,rdhngvba,2000f,avpxanzr,ohytnevn,urebrf,rkvyr,zngurzngvpny,qrznaqf,vachg,fgehpgheny,ghor,fgrz,nccebnpurf,netragvar,nkvf,znahfpevcg,vaurevgrq,qrcvpgrq,gnetrgf,ivfvgf,irgrenaf,ertneq,erzbiny,rssvpvrapl,betnavfngvbaf,pbaprcgf,yronaba,znatn,crgrefohet,enyyl,fhccyvrq,nzbhagf,lnyr,gbheanzragf,oebnqpnfgf,fvtanyf,cvybgf,nmreonvwna,nepuvgrpgf,ramlzr,yvgrenpl,qrpynengvba,cynpvat,onggvat,vaphzorag,ohytnevna,pbafvfgrag,cbyy,qrsraqrq,ynaqznex,fbhgujrfgrea,envq,erfvtangvba,geniryf,pnfhnygvrf,cerfgvtvbhf,anzryl,nvzf,erpvcvrag,jnesner,ernqref,pbyyncfr,pbnpurq,pbagebyf,ibyyrlonyy,pbhc,yrffre,irefr,cnvef,rkuvovgrq,cebgrvaf,zbyrphyne,novyvgvrf,vagrtengvba,pbafvfg,nfcrpg,nqibpngr,nqzvavfgrerq,tbireavat,ubfcvgnyf,pbzzraprq,pbvaf,ybeqf,inevngvba,erfhzrq,pnagba,negvsvpvny,ryringrq,cnyz,qvssvphygl,pvivp,rssvpvrag,abegurnfgrea,vaqhpgrq,enqvngvba,nssvyvngr,obneqf,fgnxrf,olmnagvar,pbafhzcgvba,servtug,vagrenpgvba,boynfg,ahzorerq,frzvanel,pbagenpgf,rkgvapg,cerqrprffbe,ornevat,phygherf,shapgvbany,arvtuobevat,erivfrq,plyvaqre,tenagf,aneengvir,ersbezf,nguyrgr,gnyrf,ersyrpg,cerfvqrapl,pbzcbfvgvbaf,fcrpvnyvfg,pevpxrgre,sbhaqref,frdhry,jvqbj,qvfonaqrq,nffbpvngvbaf,onpxrq,gurerol,cvgpure,pbzznaqvat,obhyrineq,fvatref,pebcf,zvyvgvn,erivrjrq,pragerf,jnirf,pbafrdhragyl,sbegerff,gevohgnel,cbegvbaf,obzovat,rkpryyrapr,arfg,cnlzrag,znef,cynmn,havgl,ivpgbevrf,fpbgvn,snezf,abzvangvbaf,inevnag,nggnpxvat,fhfcrafvba,vafgnyyngvba,tencuvpf,rfgngrf,pbzzragf,npbhfgvp,qrfgvangvba,irahrf,fheeraqre,ergerng,yvoenevrf,dhnegreonpx,phfgbzf,orexryrl,pbyynobengrq,tngurerq,flaqebzr,qvnybthr,erpehvgrq,funatunv,arvtuobhevat,cflpubybtvpny,fnhqv,zbqrengr,rkuvovg,vaabingvba,qrcbg,ovaqvat,oehafjvpx,fvghngvbaf,pregvsvpngr,npgviryl,funxrfcrner,rqvgbevny,cerfragngvba,cbegf,erynl,angvbanyvfg,zrgubqvfg,nepuvirf,rkcregf,znvagnvaf,pbyyrtvngr,ovfubcf,znvagnvavat,grzcbenevyl,rzonffl,rffrk,jryyvatgba,pbaarpgf,ersbezrq,oratny,erpnyyrq,vapurf,qbpgevar,qrrzrq,yrtraqnel,erpbafgehpgvba,fgngrzragf,cnyrfgvavna,zrgre,npuvrirzragf,evqref,vagrepunatr,fcbgf,nhgb,npphengr,pubehf,qvffbyirq,zvffvbanel,gunv,bcrengbef,r.t.,trarengvbaf,snvyvat,qrynlrq,pbex,anfuivyyr,creprvirq,irarmhryn,phyg,rzretvat,gbzo,nobyvfurq,qbphzragrq,tnvavat,pnalba,rcvfpbcny,fgberq,nffvfgf,pbzcvyrq,xrenyn,xvybzrgref,zbfdhr,tenzzl,gurberz,havbaf,frtzragf,tynpvre,neevirf,gurngevpny,pvephyngvba,pbasreraprf,puncgref,qvfcynlf,pvephyne,nhguberq,pbaqhpgbe,srjre,qvzrafvbany,angvbajvqr,yvtn,lhtbfynivn,crre,ivrganzrfr,sryybjfuvc,nezvrf,ertneqyrff,eryngvat,qlanzvp,cbyvgvpvnaf,zvkgher,frevr,fbzrefrg,vzcevfbarq,cbfgf,oryvrsf,orgn,ynlbhg,vaqrcraqragyl,ryrpgebavpf,cebivfvbaf,snfgrfg,ybtvp,urnqdhnegrerq,perngrf,punyyratrq,orngra,nccrnyf,cynvaf,cebgbpby,tencuvp,nppbzzbqngr,vendv,zvqsvryqre,fcna,pbzzragnel,serrfglyr,ersyrpgrq,cnyrfgvar,yvtugvat,ohevny,iveghnyyl,onpxvat,centhr,gevony,urve,vqragvsvpngvba,cebgbglcr,pevgrevn,qnzr,nepu,gvffhr,sbbgntr,rkgraqvat,cebprqherf,cerqbzvanagyl,hcqngrq,eulguz,ceryvzvanel,pnsr,qvfbeqre,ceriragrq,fhoheof,qvfpbagvahrq,ergvevat,beny,sbyybjref,rkgraqf,znffnper,wbheanyvfgf,pbadhrfg,yneinr,cebabhaprq,orunivbhe,qvirefvgl,fhfgnvarq,nqqerffrq,trbtencuvp,erfgevpgvbaf,ibvprq,zvyjnhxrr,qvnyrpg,dhbgrq,tevq,angvbanyyl,arnerfg,ebfgre,gjragvrgu,frcnengvba,vaqvrf,znantrf,pvgvat,vagreiragvba,thvqnapr,frireryl,zvtengvba,negjbex,sbphfvat,evinyf,gehfgrrf,inevrq,ranoyrq,pbzzvggrrf,pragrerq,fxngvat,fynirel,pneqvanyf,sbepvat,gnfxf,nhpxynaq,lbhghor,nethrf,pbyberq,nqivfbe,zhzonv,erdhvevat,gurbybtvpny,ertvfgengvba,ershtrrf,avargrragu,fheivibef,ehaaref,pbyyrnthrf,cevrfgf,pbagevohgr,inevnagf,jbexfubc,pbapragengrq,perngbe,yrpgherf,grzcyrf,rkcybengvba,erdhverzrag,vagrenpgvir,anivtngvba,pbzcnavba,cregu,nyyrtrqyl,eryrnfvat,pvgvmrafuvc,bofreingvba,fgngvbarq,cu.q.,furrc,oerrq,qvfpbiref,rapbhentr,xvybzrgerf,wbheanyf,cresbezref,vfyr,fnfxngpurjna,uloevq,ubgryf,ynapnfuver,qhoorq,nvesvryq,napube,fhoheona,gurbergvpny,fhffrk,natyvpna,fgbpxubyz,creznaragyl,hcpbzvat,cevingryl,erprvire,bcgvpny,uvtujnlf,pbatb,pbybhef,nttertngr,nhgubevmrq,ercrngrqyl,inevrf,syhvq,vaabingvir,genafsbezrq,cenvfr,pbaibl,qrznaqrq,qvfpbtencul,nggenpgvba,rkcbeg,nhqvraprf,beqnvarq,rayvfgrq,bppnfvbany,jrfgzvafgre,flevna,urniljrvtug,obfavn,pbafhygnag,riraghny,vzcebivat,nverf,jvpxrgf,rcvp,ernpgvbaf,fpnaqny,v.r.,qvfpevzvangvba,ohrabf,cngeba,vairfgbef,pbawhapgvba,grfgnzrag,pbafgehpg,rapbhagrerq,pryroevgl,rkcnaqvat,trbetvna,oenaqf,ergnva,haqrejrag,nytbevguz,sbbqf,cebivfvba,beovg,genafsbezngvba,nffbpvngrf,gnpgvpny,pbzcnpg,inevrgvrf,fgnovyvgl,ershtr,tngurevat,zberbire,znavyn,pbasvthengvba,tnzrcynl,qvfpvcyvar,ragvgl,pbzcevfvat,pbzcbfref,fxvyy,zbavgbevat,ehvaf,zhfrhzf,fhfgnvanoyr,nrevny,nygrerq,pbqrf,iblntr,sevrqevpu,pbasyvpgf,fgbelyvar,geniryyvat,pbaqhpgvat,zrevg,vaqvpngvat,ersreraqhz,pheerapl,rapbhagre,cnegvpyrf,nhgbzbovyr,jbexfubcf,nppynvzrq,vaunovgrq,qbpgbengr,phona,curabzraba,qbzr,raebyyzrag,gbonppb,tbireanapr,geraq,rdhnyyl,znahsnpgher,ulqebtra,tenaqr,pbzcrafngvba,qbjaybnq,cvnavfg,tenva,fuvsgrq,arhgeny,rinyhngvba,qrsvar,plpyvat,frvmrq,neenl,eryngvirf,zbgbef,svezf,inelvat,nhgbzngvpnyyl,erfgber,avpxanzrq,svaqvatf,tbirearq,vairfgvtngr,znavgbon,nqzvavfgengbe,ivgny,vagrteny,vaqbarfvna,pbashfvba,choyvfuref,ranoyr,trbtencuvpny,vaynaq,anzvat,pvivyvnaf,erpbaanvffnapr,vaqvnancbyvf,yrpghere,qrre,gbhevfgf,rkgrevbe,eubqr,onffvfg,flzobyf,fpbcr,nzzhavgvba,lhna,cbrgf,chawno,ahefvat,prag,qrirybcref,rfgvzngrf,cerfolgrevna,anfn,ubyqvatf,trarengr,erarjrq,pbzchgvat,plcehf,nenovn,qhengvba,pbzcbhaqf,tnfgebcbq,crezvg,inyvq,gbhpuqbjaf,snpnqr,vagrenpgvbaf,zvareny,cenpgvprq,nyyrtngvbaf,pbafrdhrapr,tbnyxrrcre,onebarg,pbclevtug,hcevfvat,pneirq,gnetrgrq,pbzcrgvgbef,zragvbaf,fnapghnel,srrf,chefhrq,gnzcn,puebavpyr,pncnovyvgvrf,fcrpvsvrq,fcrpvzraf,gbyy,nppbhagvat,yvzrfgbar,fgntrq,hctenqrq,cuvybfbcuvpny,fgernzf,thvyq,eribyg,envasnyy,fhccbegre,cevaprgba,greenva,ubzrgbja,cebonovyvgl,nffrzoyrq,cnhyb,fheerl,ibygntr,qrirybcre,qrfgeblre,sybbef,yvarhc,pheir,ceriragvba,cbgragvnyyl,bajneqf,gevcf,vzcbfrq,ubfgvat,fgevxvat,fgevpg,nqzvffvba,ncnegzragf,fbyryl,hgvyvgl,cebprrqrq,bofreingvbaf,rheb,vapvqragf,ivaly,cebsrffvba,unira,qvfgnag,rkcryyrq,evinyel,ehajnl,gbecrqb,mbarf,fuevar,qvzrafvbaf,vairfgvtngvbaf,yvguhnavn,vqnub,chefhvg,pbcrauntra,pbafvqrenoyl,ybpnyvgl,jveryrff,qrpernfr,trarf,gurezny,qrcbfvgf,uvaqv,unovgngf,jvguqenja,ovoyvpny,zbahzragf,pnfgvat,cyngrnh,gurfvf,znantref,sybbqvat,nffnffvangvba,npxabjyrqtrq,vagrevz,vafpevcgvba,thvqrq,cnfgbe,svanyr,vafrpgf,genafcbegrq,npgvivfgf,znefuny,vagrafvgl,nvevat,pneqvss,cebcbfnyf,yvsrfglyr,cerl,urenyq,pncvgby,nobevtvany,zrnfhevat,ynfgvat,vagrecergrq,bppheevat,qrfverq,qenjvatf,urnygupner,cnaryf,ryvzvangvba,bfyb,tunan,oybt,fnoun,vagrag,fhcrevagraqrag,tbireabef,onaxehcgpl,c.z.,rdhvgl,qvfx,ynlref,fybiravn,cehffvn,dhnegrg,zrpunavpf,tenqhngrf,cbyvgvpnyyl,zbaxf,fperracynl,angb,nofbeorq,gbccrq,crgvgvba,obyq,zbebppb,rkuvovgf,pnagreohel,choyvfu,enaxvatf,pengre,qbzvavpna,raunaprq,cynarf,yhgurena,tbireazragny,wbvaf,pbyyrpgvat,oehffryf,havsvrq,fgernx,fgengrtvrf,syntfuvc,fhesnprf,biny,nepuvir,rglzbybtl,vzcevfbazrag,vafgehpgbe,abgvat,erzvk,bccbfvat,freinag,ebgngvba,jvqgu,genaf,znxre,flagurfvf,rkprff,gnpgvpf,fanvy,ygq.,yvtugubhfr,frdhraprf,pbeajnyy,cynagngvba,zlgubybtl,cresbezf,sbhaqngvbaf,cbchyngrq,ubevmbagny,fcrrqjnl,npgvingrq,cresbezre,qvivat,pbaprvirq,rqzbagba,fhogebcvpny,raivebazragf,cebzcgrq,frzvsvanyf,pncf,ohyx,gernfhel,erperngvbany,gryrtencu,pbagvarag,cbegenvgf,eryrtngvba,pngubyvpf,tencu,irybpvgl,ehyref,raqnatrerq,frphyne,bofreire,yrneaf,vadhvel,vqby,qvpgvbanel,pregvsvpngvba,rfgvzngr,pyhfgre,nezravn,bofreingbel,erivirq,anqh,pbafhzref,ulcbgurfvf,znahfpevcgf,pbagragf,nethzragf,rqvgvat,genvyf,nepgvp,rffnlf,orysnfg,npdhver,cebzbgvbany,haqregnxra,pbeevqbe,cebprrqvatf,nagnepgvp,zvyyraavhz,ynoryf,qryrtngrf,irtrgngvba,nppynvz,qverpgvat,fhofgnapr,bhgpbzr,qvcybzn,cuvybfbcure,znygn,nyonavna,ivpvavgl,qrtp,yrtraqf,ertvzragf,pbafrag,greebevfg,fpnggrerq,cerfvqragf,tenivgl,bevragngvba,qrcyblzrag,qhpul,ershfrf,rfgbavn,pebjarq,frcnengryl,erabingvba,evfrf,jvyqrearff,bowrpgvirf,nterrzragf,rzcerff,fybcrf,vapyhfvba,rdhnyvgl,qrperr,onyybg,pevgvpvfrq,ebpurfgre,erpheevat,fgehttyrq,qvfnoyrq,uraev,cbyrf,cehffvna,pbaireg,onpgrevn,cbbeyl,fhqna,trbybtvpny,jlbzvat,pbafvfgragyl,zvavzny,jvguqenjny,vagreivrjrq,cebkvzvgl,ercnvef,vavgvngvirf,cnxvfgnav,erchoyvpnaf,cebcntnaqn,ivvv,nofgenpg,pbzzrepvnyyl,ninvynovyvgl,zrpunavfzf,ancyrf,qvfphffvbaf,haqreylvat,yraf,cebpynvzrq,nqivfrq,fcryyvat,nhkvyvnel,nggenpg,yvguhnavna,rqvgbef,b'oevra,nppbeqnapr,zrnfherzrag,abiryvfg,hffe,sbezngf,pbhapvyf,pbagrfgnagf,vaqvr,snprobbx,cnevfurf,oneevre,onggnyvbaf,fcbafbe,pbafhygvat,greebevfz,vzcyrzrag,htnaqn,pehpvny,hapyrne,abgvba,qvfgvathvfu,pbyyrpgbe,nggenpgvbaf,svyvcvab,rpbybtl,vairfgzragf,pncnovyvgl,erabingrq,vprynaq,nyonavn,npperqvgrq,fpbhgf,nezbe,fphycgbe,pbtavgvir,reebef,tnzvat,pbaqrzarq,fhpprffvir,pbafbyvqngrq,onebdhr,ragevrf,erthyngbel,erfreirq,gernfhere,inevnoyrf,nebfr,grpuabybtvpny,ebhaqrq,cebivqre,euvar,nterrf,npphenpl,traren,qrpernfrq,senaxsheg,rphnqbe,rqtrf,cnegvpyr,eraqrerq,pnyphyngrq,pnerref,snpgvba,evsyrf,nzrevpnf,tnryvp,cbegfzbhgu,erfvqrf,zrepunagf,svfpny,cerzvfrf,pbva,qenjf,cerfragre,npprcgnapr,prerzbavrf,cbyyhgvba,pbafrafhf,zrzoenar,oevtnqvre,abarguryrff,traerf,fhcreivfvba,cerqvpgrq,zntavghqr,svavgr,qvssre,naprfgel,inyr,qryrtngvba,erzbivat,cebprrqf,cynprzrag,rzvtengrq,fvoyvatf,zbyrphyrf,cnlzragf,pbafvqref,qrzbafgengvba,cebcbegvba,arjre,inyir,npuvrivat,pbasrqrengvba,pbagvahbhfyl,yhkhel,abger,vagebqhpvat,pbbeqvangrf,punevgnoyr,fdhnqebaf,qvfbeqref,trbzrgel,jvaavcrt,hyfgre,ybnaf,ybatgvzr,erprcgbe,cerprqvat,orytenqr,znaqngr,jerfgyre,arvtuobheubbq,snpgbevrf,ohqquvfz,vzcbegrq,frpgbef,cebgntbavfg,fgrrc,rynobengr,cebuvovgrq,negvsnpgf,cevmrf,chcvy,pbbcrengvir,fbirervta,fhofcrpvrf,pneevref,nyyzhfvp,angvbanyf,frggvatf,nhgbovbtencul,arvtuobeubbqf,nanybt,snpvyvgngr,ibyhagnel,wbvagyl,arjsbhaqynaq,betnavmvat,envqf,rkrepvfrf,abory,znpuvarel,onygvp,pebc,tenavgr,qrafr,jrofvgrf,znaqngbel,frrxf,fheeraqrerq,nagubybtl,pbzrqvna,obzof,fybg,flabcfvf,pevgvpnyyl,nepnqr,znexvat,rdhngvbaf,unyyf,vaqb,vanhthengrq,rzonexrq,fcrrqf,pynhfr,vairagvba,cerzvrefuvc,yvxrjvfr,cerfragvat,qrzbafgengr,qrfvtaref,betnavmr,rknzvarq,xz/u,oninevn,gebbc,ersrerr,qrgrpgvba,mhevpu,cenvevr,enccre,jvatfcna,rhebivfvba,yhkrzobhet,fybinxvn,vaprcgvba,qvfchgrq,znzznyf,ragercerarhe,znxref,rinatryvpny,lvryq,pyretl,genqrznex,qrshapg,nyybpngrq,qrcvpgvat,ibypnavp,onggrq,pbadhrerq,fphycgherf,cebivqref,ersyrpgf,nezbherq,ybpnyf,jnyg,uremrtbivan,pbagenpgrq,ragvgvrf,fcbafbefuvc,cebzvarapr,sybjvat,rguvbcvn,znexrgrq,pbecbengvbaf,jvguqenj,pneartvr,vaqhprq,vairfgvtngrq,cbegsbyvb,sybjrevat,bcvavbaf,ivrjvat,pynffebbz,qbangvbaf,obhaqrq,creprcgvba,yrvprfgre,sehvgf,puneyrfgba,npnqrzvpf,fgnghgr,pbzcynvagf,fznyyrfg,qrprnfrq,crgebyrhz,erfbyirq,pbzznaqref,nytroen,fbhgunzcgba,zbqrf,phygvingvba,genafzvggre,fcryyrq,bognvavat,fvmrf,nper,cntrnag,ongf,nooerivngrq,pbeerfcbaqrapr,oneenpxf,srnfg,gnpxyrf,enwn,qrevirf,trbybtl,qvfchgrf,genafyngvbaf,pbhagrq,pbafgnagvabcyr,frngvat,znprqbavn,ceriragvat,nppbzzbqngvba,ubzrynaq,rkcyberq,vainqrq,cebivfvbany,genafsbez,fcurer,hafhpprffshyyl,zvffvbanevrf,pbafreingvirf,uvtuyvtugf,genprf,betnavfzf,bcrayl,qnapref,sbffvyf,nofrag,zbanepul,pbzovavat,ynarf,fgvag,qlanzvpf,punvaf,zvffvyrf,fperravat,zbqhyr,gevohar,trarengvat,zvaref,abggvatunz,frbhy,habssvpvny,bjvat,yvaxvat,erunovyvgngvba,pvgngvba,ybhvfivyyr,zbyyhfx,qrcvpgf,qvssreragvny,mvzonojr,xbfbib,erpbzzraqngvbaf,erfcbafrf,cbggrel,fpbere,nvqrq,rkprcgvbaf,qvnyrpgf,gryrpbzzhavpngvbaf,qrsvarf,ryqreyl,yhane,pbhcyrq,sybja,25gu,rfca,sbezhyn_1,obeqrerq,sentzragf,thvqryvarf,tlzanfvhz,inyhrq,pbzcyrkvgl,cncny,cerfhznoyl,zngreany,punyyratvat,erhavgrq,nqinapvat,pbzcevfrq,hapregnva,snibenoyr,gjrysgu,pbeerfcbaqrag,abovyvgl,yvirfgbpx,rkcerffjnl,puvyrna,gvqr,erfrnepure,rzvffvbaf,cebsvgf,yratguf,nppbzcnalvat,jvgarffrq,vgharf,qenvantr,fybcr,ervasbeprq,srzvavfg,fnafxevg,qrirybcf,culfvpvnaf,bhgyrgf,vfoa,pbbeqvangbe,nirentrq,grezrq,bpphcl,qvntabfrq,lrneyl,uhznavgnevna,cebfcrpg,fcnprpensg,fgrzf,ranpgrq,yvahk,naprfgbef,xneangnxn,pbafgvghgr,vzzvtenag,guevyyre,rppyrfvnfgvpny,trarenyf,pryroengvbaf,raunapr,urngvat,nqibpngrq,rivqrag,nqinaprf,obzoneqzrag,jngrefurq,fuhggyr,jvpxrg,gjvggre,nqqf,oenaqrq,grnpurf,fpurzrf,crafvba,nqibpnpl,pbafreingbel,pnveb,inefvgl,serfujngre,cebivqrapr,frrzvatyl,furyyf,phvfvar,fcrpvnyyl,crnxf,vagrafvir,choyvfurf,gevybtl,fxvyyrq,anpvbany,harzcyblzrag,qrfgvangvbaf,cnenzrgref,irefrf,genssvpxvat,qrgrezvangvba,vasvavgr,fnivatf,nyvtazrag,yvathvfgvp,pbhagelfvqr,qvffbyhgvba,zrnfherzragf,nqinagntrf,yvprapr,fhosnzvyl,uvtuynaqf,zbqrfg,ertrag,nytrevn,perfg,grnpuvatf,xabpxbhg,oerjrel,pbzovar,pbairagvbaf,qrfpraqrq,punffvf,cevzvgvir,svwv,rkcyvpvgyl,phzoreynaq,hehthnl,ynobengbevrf,olcnff,ryrpg,vasbezny,cerprqrq,ubybpnhfg,gnpxyr,zvaarncbyvf,dhnagvgl,frphevgvrf,pbafbyr,qbpgbeny,eryvtvbaf,pbzzvffvbaref,rkcregvfr,hairvyrq,cerpvfr,qvcybzng,fgnaqvatf,vasnag,qvfpvcyvarf,fvpvyl,raqbefrq,flfgrzngvp,punegrq,nezberq,zvyq,yngreny,gbjafuvcf,uheyvat,cebyvsvp,vairfgrq,jnegvzr,pbzcngvoyr,tnyyrevrf,zbvfg,onggyrsvryq,qrpbengvba,pbairag,ghorf,greerfgevny,abzvarr,erdhrfgf,qryrtngr,yrnfrq,qhonv,cbyne,nccylvat,nqqerffrf,zhafgre,fvatf,pbzzrepvnyf,grnzrq,qnaprf,ryriragu,zvqynaq,prqne,syrr,fnaqfgbar,fanvyf,vafcrpgvba,qvivqr,nffrg,gurzrq,pbzcnenoyr,cnenzbhag,qnvel,nepunrbybtl,vagnpg,vafgvghgrf,erpgnathyne,vafgnaprf,cunfrf,ersyrpgvat,fhofgnagvnyyl,nccyvrf,inpnag,ynpxrq,pbcn,pbybherq,rapbhagref,fcbafbef,rapbqrq,cbffrff,erirahrf,hpyn,punverq,n.z.,ranoyvat,cynljevtug,fgbxr,fbpvbybtl,gvorgna,senzrf,zbggb,svanapvat,vyyhfgengvbaf,tvoenygne,pungrnh,obyvivn,genafzvggrq,rapybfrq,crefhnqrq,hetrq,sbyqrq,fhssbyx,erthyngrq,oebf.,fhoznevarf,zlgu,bevragny,znynlfvna,rssrpgvirarff,aneebjyl,nphgr,fhax,ercyvrq,hgvyvmrq,gnfznavn,pbafbegvhz,dhnagvgvrf,tnvaf,cnexjnl,raynetrq,fvqrq,rzcyblref,nqrdhngr,nppbeqvatyl,nffhzcgvba,onyynq,znfpbg,qvfgnaprf,crnxvat,fnkbal,cebwrpgrq,nssvyvngvba,yvzvgngvbaf,zrgnyf,thngrznyn,fpbgf,gurngref,xvaqretnegra,ireo,rzcyblre,qvssref,qvfpunetr,pbagebyyre,frnfbany,znepuvat,theh,pnzchfrf,nibvqrq,ingvpna,znbev,rkprffvir,punegrerq,zbqvsvpngvbaf,pnirf,zbargnel,fnpenzragb,zvkvat,vafgvghgvbany,pryroevgvrf,veevtngvba,funcrf,oebnqpnfgre,nagurz,nggevohgrf,qrzbyvgvba,bssfuber,fcrpvsvpngvba,fheirlf,lhtbfyni,pbagevohgbe,nhqvgbevhz,yronarfr,pncghevat,nvecbegf,pynffebbzf,puraanv,cnguf,graqrapl,qrgrezvavat,ynpxvat,hctenqr,fnvybef,qrgrpgrq,xvatqbzf,fbirervtagl,serryl,qrpbengvir,zbzraghz,fpubyneyl,trbetrf,tnaquv,fcrphyngvba,genafnpgvbaf,haqregbbx,vagrenpg,fvzvynevgvrf,pbir,grnzzngr,pbafgvghgrq,cnvagref,graqf,znqntnfpne,cnegarefuvcf,nstuna,crefbanyvgvrf,nggnvarq,erobhaqf,znffrf,flantbthr,erbcrarq,nflyhz,rzorqqrq,vzntvat,pngnybthr,qrsraqref,gnkbabzl,svore,nsgrejneq,nccrnyrq,pbzzhavfgf,yvfoba,evpn,whqnvfz,nqivfre,ongfzna,rpbybtvpny,pbzznaqf,ytog,pbbyvat,npprffrq,jneqf,fuvin,rzcyblf,guveqf,fpravp,jbeprfgre,gnyyrfg,pbagrfgnag,uhznavgvrf,rpbabzvfg,grkgvyr,pbafgvghrapvrf,zbgbejnl,genz,crephffvba,pybgu,yrvfher,1880f,onqra,syntf,erfrzoyr,evbgf,pbvarq,fvgpbz,pbzcbfvgr,vzcyvrf,qnlgvzr,gnamnavn,cranygvrf,bcgvbany,pbzcrgvgbe,rkpyhqrq,fgrrevat,erirefrq,nhgbabzl,erivrjre,oernxguebhtu,cebsrffvbanyyl,qnzntrf,cbzrenavna,qrchgvrf,inyyrlf,iragherf,uvtuyvtugrq,ryrpgbengr,znccvat,fubegrarq,rkrphgvirf,gregvnel,fcrpvzra,ynhapuvat,ovoyvbtencul,fnax,chefhvat,ovanel,qrfpraqnag,znepurq,angvirf,vqrbybtl,ghexf,nqbys,nepuqvbprfr,gevohany,rkprcgvbany,avtrevna,cersrerapr,snvyf,ybnqvat,pbzronpx,inphhz,sniberq,nygre,erzanagf,pbafrpengrq,fcrpgngbef,geraqf,cngevnepu,srrqonpx,cnirq,fragraprf,pbhapvyybe,nfgebabzl,nqibpngrf,oebnqre,pbzzragngbe,pbzzvffvbaf,vqragvslvat,erirnyvat,gurngerf,vapbzcyrgr,ranoyrf,pbafgvghrag,ersbezngvba,genpg,unvgv,ngzbfcurevp,fperrarq,rkcybfvir,pmrpubfybinxvn,npvqf,flzobyvp,fhoqvivfvba,yvorenyf,vapbecbengr,punyyratre,revr,svyzznxre,yncf,xnmnxufgna,betnavmngvbany,ribyhgvbanel,purzvpnyf,qrqvpngvba,evirefvqr,snhan,zbguf,znunenfugen,naarkrq,tra.,erfrzoyrf,haqrejngre,tnearerq,gvzryvar,erznxr,fhvgrq,rqhpngbe,urpgnerf,nhgbzbgvir,srnerq,yngivn,svanyvfg,aneengbe,cbegnoyr,nvejnlf,cyndhr,qrfvtavat,ivyyntref,yvprafvat,synax,fgnghrf,fgehttyrf,qrhgfpur,zvtengrq,pryyhyne,wnpxfbaivyyr,jvzoyrqba,qrsvavat,uvtuyvtug,cercnengbel,cynargf,pbybtar,rzcybl,serdhrapvrf,qrgnpuzrag,ernqvyl,yvoln,erfvta,unyg,uryvpbcgref,errs,ynaqznexf,pbyynobengvir,veerthyne,ergnvavat,uryfvaxv,sbyxyber,jrnxrarq,ivfpbhag,vagreerq,cebsrffbef,zrzbenoyr,zrtn,ercregbver,ebjvat,qbefny,nyorvg,cebterffrq,bcrengvir,pbebangvba,yvare,gryhth,qbznvaf,cuvyunezbavp,qrgrpg,oratnyv,flagurgvp,grafvbaf,ngynf,qenzngvpnyyl,cnenylzcvpf,kobk,fuver,xvri,yratgul,fhrq,abgbevbhf,frnf,fperrajevgre,genafsref,ndhngvp,cvbarref,harfpb,enqvhf,nohaqnag,ghaaryf,flaqvpngrq,vairagbe,npperqvgngvba,wnarveb,rkrgre,prerzbavny,bznun,pnqrg,cerqngbef,erfvqrq,cebfr,fynivp,cerpvfvba,noobg,qrvgl,ratntvat,pnzobqvn,rfgbavna,pbzcyvnapr,qrzbafgengvbaf,cebgrfgref,ernpgbe,pbzzbqber,fhpprffrf,puebavpyrf,zner,rkgnag,yvfgvatf,zvarenyf,gbaarf,cnebql,phygvingrq,genqref,cvbarrevat,fhccyrzrag,fybinx,cercnengvbaf,pbyyvfvba,cnegarerq,ibpngvbany,ngbzf,znynlnynz,jrypbzrq,qbphzragngvba,pheirq,shapgvbavat,cerfragyl,sbezngvbaf,vapbecbengrf,anmvf,obgnavpny,ahpyrhf,rguvpny,terrxf,zrgevp,nhgbzngrq,jurerol,fgnapr,rhebcrnaf,qhrg,qvfnovyvgl,chepunfvat,rznvy,gryrfpbcr,qvfcynprq,fbqvhz,pbzcnengvir,cebprffbe,vaavat,cerpvcvgngvba,nrfgurgvp,vzcbeg,pbbeqvangvba,srhq,nygreangviryl,zbovyvgl,gvorg,ertnvarq,fhpprrqvat,uvrenepul,ncbfgbyvp,pngnybt,ercebqhpgvba,vafpevcgvbaf,ivpne,pyhfgref,cbfguhzbhfyl,evpna,ybbfryl,nqqvgvbaf,cubgbtencuvp,abjnqnlf,fryrpgvir,qrevingvir,xrlobneqf,thvqrf,pbyyrpgviryl,nssrpgvat,pbzovarf,bcrenf,argjbexvat,qrpvfvir,grezvangrq,pbagvahvgl,svavfurf,naprfgbe,pbafhy,urngrq,fvzhyngvba,yrvcmvt,vapbecbengvat,trbetrgbja,sbezhyn_2,pvepn,sberfgel,cbegenlny,pbhapvyybef,nqinaprzrag,pbzcynvarq,sberjvatf,pbasvarq,genafnpgvba,qrsvavgvbaf,erqhprf,gryrivfrq,1890f,encvqf,curabzran,orynehf,nycf,ynaqfpncrf,dhnegreyl,fcrpvsvpngvbaf,pbzzrzbengr,pbagvahngvba,vfbyngvba,nagraan,qbjafgernz,cngragf,rafhvat,graqrq,fntn,yvsrybat,pbyhzavfg,ynoryrq,tlzanfgvpf,cnchn,nagvpvcngrq,qrzvfr,rapbzcnffrf,znqenf,nagnepgvpn,vagreiny,vpba,enzf,zvqynaqf,vaterqvragf,cevbel,fgeratgura,ebhtr,rkcyvpvg,tnmn,ntvat,frphevat,naguebcbybtl,yvfgraref,nqncgngvbaf,haqrejnl,ivfgn,znynl,sbegvsvrq,yvtugjrvtug,ivbyngvbaf,pbapregb,svanaprq,wrfhvg,bofreiref,gehfgrr,qrfpevcgvbaf,abeqvp,erfvfgnag,bcgrq,npprcgf,cebuvovgvba,naquen,vasyngvba,arteb,jubyyl,vzntrel,fche,vafgehpgrq,tybhprfgre,plpyrf,zvqqyrfrk,qrfgeblref,fgngrjvqr,rinphngrq,ulqrenonq,crnfnagf,zvpr,fuvclneq,pbbeqvangr,cvgpuvat,pbybzovna,rkcybevat,ahzorevat,pbzcerffvba,pbhagrff,uvnghf,rkprrq,enprq,nepuvcryntb,genvgf,fbvyf,b'pbaabe,ibjry,naqebvq,snpgb,natbyn,nzvab,ubyqref,ybtvfgvpf,pvephvgf,rzretrapr,xhjnvg,cnegvgvba,rzrevghf,bhgpbzrf,fhozvffvba,cebzbgrf,onenpx,artbgvngrq,ybnarq,fgevccrq,50gu,rkpningvbaf,gerngzragf,svrepr,cnegvpvcnag,rkcbegf,qrpbzzvffvbarq,pnzrb,erznexrq,erfvqraprf,shfryntr,zbhaq,haqretb,dhneel,abqr,zvqjrfg,fcrpvnyvmvat,bpphcvrf,rgp.,fubjpnfr,zbyrphyr,bssf,zbqhyrf,fnyba,rkcbfvgvba,erivfvba,crref,cbfvgvbarq,uhagref,pbzcrgrf,nytbevguzf,erfvqr,mntero,pnypvhz,henavhz,fvyvpba,nvef,pbhagrecneg,bhgyrg,pbyyrpgbef,fhssvpvragyl,pnaoreen,vazngrf,nangbzl,rafhevat,pheirf,nivi,svernezf,onfdhr,ibypnab,guehfg,furvxu,rkgrafvbaf,vafgnyyngvbaf,nyhzvahz,qnexre,fnpxrq,rzcunfvmrq,nyvtarq,nffregrq,cfrhqbalz,fcnaavat,qrpbengvbaf,rvtugrragu,beovgny,fcngvny,fhoqvivqrq,abgngvba,qrpnl,znprqbavna,nzraqrq,qrpyvavat,plpyvfg,srng,hahfhnyyl,pbzzhgre,ovegucynpr,yngvghqr,npgvingvba,bireurnq,30gu,svanyvfgf,juvgrf,raplpybcrqvn,grabe,dngne,fheivirf,pbzcyrzrag,pbapragengvbaf,hapbzzba,nfgebabzvpny,onatnyber,cvhf,trabzr,zrzbve,erpehvg,cebfrphgbe,zbqvsvpngvba,cnverq,pbagnvare,onfvyvpn,neyvatgba,qvfcynprzrag,treznavp,zbatbyvn,cebcbegvbany,qrongrf,zngpurq,pnyphggn,ebjf,gruena,nrebfcnpr,cerinyrag,nevfr,ybjynaq,24gu,fcbxrfzna,fhcreivfrq,nqiregvfrzragf,pynfu,gharf,eriryngvba,jnaqreref,dhnegresvanyf,svfurevrf,fgrnqvyl,zrzbvef,cnfgbeny,erarjnoyr,pbasyhrapr,npdhvevat,fgevcf,fybtna,hcfgernz,fpbhgvat,nanylfg,cenpgvgvbaref,gheovar,fgeratgurarq,urnivre,ceruvfgbevp,cyheny,rkpyhqvat,vfyrf,crefrphgvba,gheva,ebgngvat,ivyynva,urzvfcurer,hanjner,nenof,pbechf,eryvrq,fvathyne,hanavzbhf,fpubbyvat,cnffvir,natyrf,qbzvanapr,vafgvghgrq,nevn,bhgfxvegf,onynaprq,ortvaavatf,svanapvnyyl,fgehpgherq,cnenpuhgr,ivrjre,nggvghqrf,fhowrpgrq,rfpncrf,qreolfuver,rebfvba,nqqerffvat,fglyrq,qrpynevat,bevtvangvat,pbygf,nqwhfgrq,fgnvarq,bppheerapr,sbegvsvpngvbaf,ontuqnq,avgebtra,ybpnyvgvrf,lrzra,tnyjnl,qroevf,ybqm,ivpgbevbhf,cuneznprhgvpny,fhofgnaprf,haanzrq,qjryyvat,ngbc,qrirybczragny,npgvivfz,ibgre,ershtrr,sberfgrq,eryngrf,bireybbxvat,trabpvqr,xnaanqn,vafhssvpvrag,birefnj,cnegvfna,qvbkvqr,erpvcvragf,snpgvbaf,zbegnyvgl,pnccrq,rkcrqvgvbaf,erprcgbef,erbetnavmrq,cebzvaragyl,ngbz,sybbqrq,syhgr,bepurfgeny,fpevcgf,zngurzngvpvna,nvecynl,qrgnpurq,erohvyqvat,qjnes,oebgureubbq,fnyingvba,rkcerffvbaf,nenovna,pnzrebba,cbrgvp,erpehvgvat,ohaqrfyvtn,vafregrq,fpenccrq,qvfnovyvgvrf,rinphngvba,cnfun,haqrsrngrq,pensgf,evghnyf,nyhzvavhz,abez,cbbyf,fhozretrq,bpphclvat,cngujnl,rknzf,cebfcrevgl,jerfgyref,cebzbgvbaf,onfny,crezvgf,angvbanyvfz,gevz,zretr,tnmrggr,gevohgnevrf,genafpevcgvba,pnfgr,cbegb,rzretr,zbqryrq,nqwbvavat,pbhagrecnegf,cnenthnl,erqrirybczrag,erarjny,haeryrnfrq,rdhvyvoevhz,fvzvynevgl,zvabevgvrf,fbivrgf,pbzcevfr,abqrf,gnfxrq,haeryngrq,rkcverq,wbuna,cerphefbe,rknzvangvbaf,ryrpgebaf,fbpvnyvfz,rkvyrq,nqzvenygl,sybbqf,jvtna,abacebsvg,ynpxf,oevtnqrf,fperraf,ercnverq,unabire,snfpvfg,ynof,bfnxn,qrynlf,whqtrq,fgnghgbel,pbyg,pby.,bssfcevat,fbyivat,oerq,nffvfgvat,ergnvaf,fbznyvn,tebhcrq,pbeerfcbaqf,ghavfvn,puncynva,rzvarag,pubeq,22aq,fcnaf,iveny,vaabingvbaf,cbffrffvbaf,zvxunvy,xbyxngn,vprynaqvp,vzcyvpngvbaf,vagebqhprf,enpvfz,jbexsbepr,nygb,pbzchyfbel,nqzvgf,prafbefuvc,bafrg,eryhpgnag,vasrevbe,vpbavp,cebterffvba,yvnovyvgl,gheabhg,fngryyvgrf,orunivbeny,pbbeqvangrq,rkcybvgngvba,cbfgrevbe,nirentvat,sevatr,xenxbj,zbhagnvabhf,terrajvpu,cnen,cynagngvbaf,ervasbeprzragf,bssrevatf,snzrq,vagreinyf,pbafgenvagf,vaqvivqhnyyl,ahgevgvba,1870f,gnkngvba,guerfubyq,gbzngbrf,shatv,pbagenpgbe,rguvbcvna,ncceragvpr,qvnorgrf,jbby,thwneng,ubaqhenf,abefr,ohpunerfg,23eq,nethnoyl,nppbzcnal,cebar,grnzzngrf,creraavny,inpnapl,cbylgrpuavp,qrsvpvg,bxvanjn,shapgvbanyvgl,erzvavfprag,gbyrenapr,genafsreevat,zlnazne,pbapyhqrf,arvtuobhef,ulqenhyvp,rpbabzvpnyyl,fybjre,cybgf,punevgvrf,flabq,vairfgbe,pngubyvpvfz,vqragvsvrf,oebak,vagrecergngvbaf,nqirefr,whqvpvnel,urerqvgnel,abzvany,frafbe,flzzrgel,phovp,gevnathyne,granagf,qvivfvbany,bhgernpu,ercerfragngvbaf,cnffntrf,haqretbvat,pnegevqtr,grfgvsvrq,rkprrqrq,vzcnpgf,yvzvgvat,envyebnqf,qrsrngf,ertnva,eraqrevat,uhzvq,ergerngrq,eryvnovyvgl,tbireabengr,nagjrec,vasnzbhf,vzcyvrq,cnpxntvat,ynuber,genqrf,ovyyrq,rkgvapgvba,rpbyr,erwbvarq,erpbtavmrf,cebwrpgvba,dhnyvsvpngvbaf,fgevcrf,sbegf,fbpvnyyl,yrkvatgba,npphengryl,frkhnyvgl,jrfgjneq,jvxvcrqvn,cvytevzntr,nobyvgvba,pubeny,fghggtneg,arfgf,rkcerffvat,fgevxrbhgf,nffrffrq,zbanfgrevrf,erpbafgehpgrq,uhzbebhf,znekvfg,sregvyr,pbafbeg,heqh,cngebantr,crehivna,qrivfrq,ylevp,onon,anffnh,pbzzhavfz,rkgenpgvba,cbchyneyl,znexvatf,vanovyvgl,yvgvtngvba,nppbhagrq,cebprffrq,rzvengrf,grzcb,pnqrgf,rcbalzbhf,pbagrfgf,oebnqyl,bkvqr,pbheglneq,sevtngr,qverpgbel,ncrk,bhgyvar,ertrapl,puvrsyl,cngebyf,frpergnevng,pyvssf,erfvqrapl,cevil,neznzrag,nhfgenyvnaf,qbefrg,trbzrgevp,trargvpf,fpubynefuvcf,shaqenvfvat,syngf,qrzbtencuvp,zhygvzrqvn,pncgnvarq,qbphzragnevrf,hcqngrf,pnainf,oybpxnqr,threevyyn,fbatjevgvat,nqzvavfgengbef,vagnxr,qebhtug,vzcyrzragvat,senpgvba,pnaarf,ershfny,vafpevorq,zrqvgngvba,naabhapvat,rkcbegrq,onyybgf,sbezhyn_3,phengbe,onfry,nepurf,sybhe,fhobeqvangr,pbasebagngvba,teniry,fvzcyvsvrq,orexfuver,cngevbgvp,ghvgvba,rzcyblvat,freiref,pnfgvyr,cbfgvat,pbzovangvbaf,qvfpunetrq,zvavngher,zhgngvbaf,pbafgryyngvba,vapneangvba,vqrnyf,arprffvgl,tenagvat,naprfgeny,pebjqf,cvbarrerq,zbezba,zrgubqbybtl,enzn,vaqverpg,pbzcyrkrf,oninevna,cngebaf,hggne,fxryrgba,obyyljbbq,syrzvfu,ivnoyr,oybp,oerrqf,gevttrerq,fhfgnvanovyvgl,gnvyrq,ersreraprq,pbzcyl,gnxrbire,yngivna,ubzrfgrnq,cyngbba,pbzzhany,angvbanyvgl,rkpningrq,gnetrgvat,fhaqnlf,cbfrq,culfvpvfg,gheerg,raqbjzrag,znetvany,qvfcngpurq,pbzzragngbef,erabingvbaf,nggnpuzrag,pbyynobengvbaf,evqtrf,oneevref,boyvtngvbaf,funerubyqref,cebs.,qrsrafrf,cerfvqrq,evgr,onpxtebhaqf,neovgenel,nssbeqnoyr,tybhprfgrefuver,guvegrragu,vayrg,zvavfrevrf,cbffrffrf,qrgnvarq,cerffherf,fhofpevcgvba,ernyvfz,fbyvqnevgl,cebgb,cbfgtenqhngr,abha,ohezrfr,nohaqnapr,ubzntr,ernfbavat,nagrevbe,ebohfg,srapvat,fuvsgvat,ibjryf,tneqr,cebsvgnoyr,ybpu,napuberq,pbnfgyvar,fnzbn,grezvabybtl,cebfgvghgvba,zntvfgengr,irarmhryna,fcrphyngrq,erthyngr,svkgher,pbybavfgf,qvtvg,vaqhpgvba,znaarq,rkcrqvgvbanel,pbzchgngvbany,pragraavny,cevapvcnyyl,irva,cerfreivat,ratvarrerq,ahzrevpny,pnapryyngvba,pbasreerq,pbagvahnyyl,obear,frrqrq,nqiregvfrzrag,hanavzbhfyl,gerngvrf,vasrpgvbaf,vbaf,frafbef,ybjrerq,nzcuvovbhf,ynin,sbhegrragu,onuenva,avntnen,avpnenthn,fdhnerf,pbatertngvbaf,26gu,crevbqvp,cebcevrgnel,1860f,pbagevohgbef,fryyre,biref,rzvffvba,cebprffvba,cerfhzrq,vyyhfgengbe,mvap,tnfrf,graf,nccyvpnoyr,fgergpurf,ercebqhpgvir,fvkgrragu,nccnenghf,nppbzcyvfuzragf,pnabr,thnz,bccbfr,erpehvgzrag,npphzhyngrq,yvzrevpx,anzvovn,fgntvat,erzvkrf,beqanapr,hapregnvagl,crqrfgevna,grzcrengr,gernfba,qrcbfvgrq,ertvfgel,prenzolpvqnr,nggenpgvat,ynaxna,ercevagrq,fuvcohvyqvat,ubzbfrkhnyvgl,arhebaf,ryvzvangvat,1900f,erfhzr,zvavfgevrf,orarsvpvny,oynpxcbby,fhecyhf,abegunzcgba,yvprafrf,pbafgehpgvat,naabhapre,fgnaqneqvmrq,nygreangvirf,gnvcrv,vanqrdhngr,snvyherf,lvryqf,zrqnyvfg,gvghyne,bofbyrgr,gbenu,oheyvatgba,cerqrprffbef,yhoyva,ergnvyref,pnfgyrf,qrcvpgvba,vffhvat,thoreangbevny,cebchyfvba,gvyrf,qnznfphf,qvfpf,nygreangvat,cbzrenavn,crnfnag,gnirea,erqrfvtangrq,27gu,vyyhfgengvba,sbpny,znaf,pbqrk,fcrpvnyvfgf,cebqhpgvivgl,nagvdhvgl,pbagebirefvrf,cebzbgre,cvgf,pbzcnavbaf,orunivbef,ylevpny,cerfgvtr,perngvivgl,fjnafrn,qenznf,nccebkvzngr,srhqny,gvffhrf,pehqr,pnzcnvtarq,hacerprqragrq,punapry,nzraqzragf,fheebhaqvatf,nyyrtvnapr,rkpunatrf,nyvta,svezyl,bcgvzny,pbzzragvat,ervtavat,ynaqvatf,bofpher,1850f,pbagrzcbenevrf,cngreany,qriv,raqhenapr,pbzzharf,vapbecbengvba,qrabzvangvbaf,rkpunatrq,ebhgvat,erfbegf,nzarfgl,fyraqre,rkcyberf,fhccerffvba,urngf,cebahapvngvba,pragerq,pbhcr,fgveyvat,serrynapr,gerngvfr,yvathvfgvpf,ynbf,vasbezf,qvfpbirevat,cvyynef,rapbhentrf,unygrq,ebobgf,qrsvavgvir,znghevgl,ghorephybfvf,irargvna,fvyrfvna,hapunatrq,bevtvangrf,znyv,yvapbyafuver,dhbgrf,fravbef,cerzvfr,pbagvatrag,qvfgevohgr,qnahor,tbetr,ybttvat,qnzf,pheyvat,friragrragu,fcrpvnyvmrf,jrgynaqf,qrvgvrf,nffrff,guvpxarff,evtvq,phyzvangrq,hgvyvgvrf,fhofgengr,vafvtavn,avyr,nffnz,fuev,pheeragf,fhssentr,pnanqvnaf,zbegne,nfgrebvq,obfavna,qvfpbirevrf,ramlzrf,fnapgvbarq,ercyvpn,ulza,vairfgvtngbef,gvqny,qbzvangr,qrevingvirf,pbairegvat,yrvafgre,ireof,ubabherq,pevgvpvfzf,qvfzvffny,qvfpergr,znfphyvar,erbetnavmngvba,hayvzvgrq,jheggrzoret,fnpxf,nyybpngvba,onua,whevfqvpgvbaf,cnegvpvcngrf,yntbba,snzvar,pbzzhavba,phyzvangvat,fheirlrq,fubegntr,pnoyrf,vagrefrpgf,pnffrggr,sberzbfg,nqbcgvat,fbyvpvgbe,bhgevtug,ovune,ervffhrq,snezynaq,qvffregngvba,gheacvxr,ongba,cubgbtencurq,puevfgpuhepu,xlbgb,svanaprf,envyf,uvfgbevrf,yvaronpxre,xvyxraal,nppryrengrq,qvfcrefrq,unaqvpnc,nofbecgvba,enapub,prenzvp,pncgvivgl,pvgrf,sbag,jrvturq,zngre,hgvyvmr,oenirel,rkgenpg,inyvqvgl,fybiravna,frzvanef,qvfpbhefr,enatrq,qhry,vebavpnyyl,jnefuvcf,frtn,grzcbeny,fhecnffrq,cebybatrq,erpehvgf,abeguhzoreynaq,terraynaq,pbagevohgrf,cngragrq,ryvtvovyvgl,havsvpngvba,qvfphffrf,ercyl,genafyngrf,orvehg,eryvrf,gbedhr,abegujneq,erivrjref,zbanfgvp,npprffvba,arheny,genzjnl,urvef,fvxu,fhofpevoref,nzravgvrf,gnyvona,nhqvg,ebggreqnz,jntbaf,xheqvfu,snibherq,pbzohfgvba,zrnavatf,crefvn,oebjfre,qvntabfgvp,avtre,sbezhyn_4,qrabzvangvba,qvivqvat,cnenzrgre,oenaqvat,onqzvagba,yravatenq,fcnexrq,uheevpnarf,orrgyrf,cebcryyre,zbmnzovdhr,ersvarq,qvntenz,rkunhfg,inpngrq,ernqvatf,znexref,erpbapvyvngvba,qrgrezvarf,pbapheerag,vzcevag,cevzren,betnavfz,qrzbafgengvat,svyzznxref,inaqreovyg,nssvyvngrf,genpgvba,rinyhngrq,qrsraqnagf,zrtnpuvyr,vairfgvtngvir,mnzovn,nffnffvangrq,erjneqrq,cebonoyr,fgnssbeqfuver,sbervtaref,qverpgbengr,abzvarrf,pbafbyvqngvba,pbzznaqnag,erqqvfu,qvssrevat,haerfg,qevyyvat,oburzvn,erfrzoyvat,vafgehzragngvba,pbafvqrengvbaf,unhgr,cebzcgyl,inevbhfyl,qjryyvatf,pynaf,gnoyrg,rasbeprq,pbpxcvg,frzvsvany,uhffrva,cevfbaf,prlyba,rzoyrz,zbahzragny,cuenfrf,pbeerfcbaq,pebffbire,bhgyvarq,punenpgrevfrq,nppryrengvba,pnhphf,pehfnqr,cebgrfgrq,pbzcbfvat,enwnfguna,unofohet,eulguzvp,vagreprcgvba,vaurerag,pbbyrq,cbaqf,fcbxrfcrefba,tenqhny,pbafhygngvba,xhnyn,tybonyyl,fhccerffrq,ohvyqref,niratref,fhssvk,vagrtre,rasbepr,svoref,havbavfg,cebpynzngvba,hapbirerq,vasenerq,nqncg,rvfraubjre,hgvyvmvat,pncgnvaf,fgergpurq,bofreivat,nffhzrf,ceriragf,nanylfrf,fnkbcubar,pnhpnfhf,abgvprf,ivyynvaf,qnegzbhgu,zbatby,ubfgvyvgvrf,fgergpuvat,irgrevanel,yrafrf,grkgher,cebzcgvat,bireguebj,rkpningvba,vfynaqref,znfbivna,onggyrfuvc,ovbtencure,ercynl,qrtenqngvba,qrcnegvat,yhsgjnssr,syrrvat,birefvtug,vzzvtengrq,freof,svfurezra,fgeratguravat,erfcvengbel,vgnyvnaf,qrabgrf,enqvny,rfpbegrq,zbgvs,jvygfuver,rkcerffrf,npprffbevrf,eriregrq,rfgnoyvfuzragf,vardhnyvgl,cebgbpbyf,punegvat,snzbhfyl,fngvevpny,ragvergl,gerapu,sevpgvba,ngyrgvpb,fnzcyvat,fhofrg,jrrxqnl,hcuryq,funecyl,pbeeryngvba,vapbeerpg,zhtuny,geniryref,unfna,rneavatf,bssfrg,rinyhngr,fcrpvnyvfrq,erpbtavmvat,syrkvovyvgl,antne,cbfgfrnfba,nytroenvp,pncvgnyvfz,pelfgnyf,zrybqvrf,cbylabzvny,enprpbhefr,qrsraprf,nhfgeb,jrzoyrl,nggenpgf,nanepuvfg,erfheerpgvba,erivrjvat,qrpernfvat,cersvk,engvsvrq,zhgngvba,qvfcynlvat,frcnengvat,erfgbevat,nffrzoyvrf,beqvanapr,cevrfgubbq,pehvfref,nccbvag,zbyqbin,vzcbegf,qverpgvir,rcvqrzvp,zvyvgnag,frartny,fvtanyvat,erfgevpgvba,pevgvdhr,ergebfcrpgvir,angvbanyvfgf,haqregnxr,fvbhk,pnanyf,nytrevna,erqrfvtarq,cuvynaguebcvfg,qrcvpg,pbaprcghny,gheovarf,vagryyrpghnyf,rnfgjneq,nccyvpnagf,pbagenpgbef,iraqbef,haqretbar,anzrfnxr,rafherq,gbarf,fhofgvghgrq,uvaqjvatf,neerfgf,gbzof,genafvgvbany,cevapvcnyvgl,erryrpgvba,gnvjnarfr,pnivgl,znavsrfgb,oebnqpnfgref,fcnjarq,gubebhtuoerq,vqragvgvrf,trarengbef,cebcbfrf,ulqebryrpgevp,wbunaarfohet,pbegrk,fpnaqvanivna,xvyyvatf,ntterffvba,oblpbgg,pngnylfg,culfvbybtl,svsgrragu,jngresebag,puebzbfbzr,betnavfg,pbfgyl,pnyphyngvba,przrgrevrf,sybhevfurq,erpbtavfr,whavbef,zretvat,qvfpvcyrf,nfuber,jbexcynpr,rayvtugrazrag,qvzvavfurq,qrongrq,unvyrq,cbqvhz,rqhpngr,znaqngrq,qvfgevohgbe,yvger,ryrpgebzntargvp,sybgvyyn,rfghnel,crgreobebhtu,fgnvepnfr,fryrpgvbaf,zrybqvp,pbasebagf,jubyrfnyr,vagrtengr,vagreprcgrq,pngnybavn,havgr,vzzrafr,cnyngvangr,fjvgpurf,rnegudhnxrf,bpphcngvbany,fhpprffbef,cenvfvat,pbapyhqvat,snphygvrf,svefgyl,bireunhy,rzcvevpny,zrgnpevgvp,vanhthengvba,rireterra,ynqra,jvatrq,cuvybfbcuref,nznytnzngrq,trbss,pragvzrgref,ancbyrbavp,hcevtug,cynagvat,oerjvat,svarq,frafbel,zvtenagf,jurerva,vanpgvir,urnqznfgre,jnejvpxfuver,fvorevn,grezvanyf,qrabhaprq,npnqrzvn,qvivavgl,ovyngreny,pyvir,bzvggrq,crrentr,eryvpf,ncnegurvq,flaqvpngr,srnevat,svkgherf,qrfvenoyr,qvfznagyrq,rguavpvgl,inyirf,ovbqvirefvgl,ndhnevhz,vqrbybtvpny,ivfvovyvgl,perngbef,nanylmrq,granag,onyxna,cbfgjne,fhccyvre,fzvgufbavna,evfra,zbecubybtl,qvtvgf,oburzvna,jvyzvatgba,ivfuah,qrzbafgengrf,nsberzragvbarq,ovbtencuvpny,znccrq,xubenfna,cubfcungr,cerfragngvbaf,rpbflfgrz,cebprffbef,pnyphyngvbaf,zbfnvp,pynfurf,craarq,erpnyyf,pbqvat,nathyne,ynggvpr,znpnh,nppbhagnovyvgl,rkgenpgrq,cbyyra,gurencrhgvp,bireync,ivbyvavfg,qrcbfrq,pnaqvqnpl,vasnagf,pbiranag,onpgrevny,erfgehpghevat,qhatrbaf,beqvangvba,pbaqhpgf,ohvyqf,vainfvir,phfgbznel,pbapheeragyl,erybpngvba,pryyb,fgnghgrf,obearb,ragercerarhef,fnapgvbaf,cnpxrg,ebpxrsryyre,cvrqzbag,pbzcnevfbaf,jngresnyy,erprcgvbaf,tynpvny,fhetr,fvtangherf,nygrengvbaf,nqiregvfrq,raqhevat,fbznyv,obgnavfg,100gu,pnabavpny,zbgvsf,ybatvghqr,pvephyngrq,nyybl,vaqverpgyl,znetvaf,cerfreirf,vagreanyyl,orfvrtrq,funyr,crevcureny,qenvarq,onfrzna,ernffvtarq,gbontb,fbybvfg,fbpvb,tenmvat,pbagrkgf,ebbsf,cbegenlvat,bggbznaf,fuerjfohel,abgrjbegul,ynzcf,fhccylvat,ornzf,dhnyvsvre,cbegenl,terraubhfr,fgebatubyq,uvggre,evgrf,pergnprbhf,hetvat,qrevir,anhgvpny,nvzvat,sbegharf,ireqr,qbabef,eryvnapr,rkprrqvat,rkpyhfvba,rkrepvfrq,fvzhygnarbhf,pbagvaragf,thvqvat,cvyyne,tenqvrag,cbmana,rehcgvba,pyvavpf,zbebppna,vaqvpngbe,genzf,cvref,cnenyyryf,sentzrag,grngeb,cbgnffvhz,fngver,pbzcerffrq,ohfvarffzra,vasyhk,frvar,crefcrpgvirf,furygref,qrpernfrf,zbhagvat,sbezhyn_5,pbasrqrenpl,rdhrfgevna,rkchyfvba,znlbef,yvorevn,erfvfgrq,nssvavgl,fueho,harkcrpgrqyl,fgvzhyhf,nzgenx,qrcbegrq,crecraqvphyne,fgngrfzna,junes,fgbelyvarf,ebznarfdhr,jrvtugf,fhesnprq,vagreprcgvbaf,qunxn,penzovqnr,bepurfgenf,ejnaqn,pbapyhqr,pbafgvghgrf,fhofvqvnevrf,nqzvffvbaf,cebfcrpgvir,furne,ovyvathny,pnzcnvtavat,cerfvqvat,qbzvangvba,pbzzrzbengvir,genvyvat,pbasvfpngrq,crgeby,npdhvfvgvbaf,cbylzre,baylvapyhqr,puybevqr,ryringvbaf,erfbyhgvbaf,uheqyrf,cyrqtrq,yvxryvubbq,bowrpgrq,rerpg,rapbqvat,qngnonfrf,nevfgbgyr,uvaqhf,znefurf,objyrq,zvavfgrevny,tenatr,npebalz,naarkngvba,fdhnqf,nzovrag,cvytevzf,obgnal,fbsyn,nfgebabzre,cynargnel,qrfpraqvat,orfgbjrq,prenzvpf,qvcybznpl,zrgnobyvfz,pbybavmngvba,cbgbznp,nsevpnaf,ratenirq,erplpyvat,pbzzvgzragf,erfbanapr,qvfpvcyvanel,wnznvpna,aneengrq,fcrpgeny,gvccrenel,jngresbeq,fgngvbanel,neovgengvba,genafcnerapl,guerngraf,pebffebnqf,fynybz,birefrr,pragranel,vapvqrapr,rpbabzvrf,yvirel,zbvfgher,arjfyrggre,nhgbovbtencuvpny,ouhgna,cebcryyrq,qrcraqrapr,zbqrengryl,nqbor,oneeryf,fhoqvivfvbaf,bhgybbx,ynoryyrq,fgengsbeq,nevfvat,qvnfcben,onebal,nhgbzbovyrf,beanzragny,fyngrq,abezf,cevzrgvzr,trarenyvmrq,nanylfgf,irpgbef,yvolna,lvryqrq,pregvsvpngrf,ebbgrq,ireanphyne,orynehfvna,znexrgcynpr,cerqvpgvba,snvesnk,znynjv,ivehfrf,jbbqrq,qrzbf,znhevgvhf,cebfcrebhf,pbvapvqrq,yvoregvrf,uhqqrefsvryq,nfprag,jneavatf,uvaqhvfz,tyhpbfr,chyvgmre,hahfrq,svygref,vyyrtvgvzngr,npdhvggrq,cebgrfgnagf,pnabcl,fgncyr,cflpurqryvp,jvaqvat,noonf,cngujnlf,purygraunz,yntbf,avpur,vainqref,cebcbaragf,oneerq,pbairefryl,qbapnfgre,erprffvba,rzoenprq,erzngpu,pbaprffvba,rzvtengvba,hctenqrf,objyf,gnoyrgf,erzvkrq,ybbcf,xrafvatgba,fubbgbhg,zbanepuf,betnavmref,unezshy,chawnov,oebnqonaq,rkrzcg,arbyvguvp,cebsvyrf,cbegenlf,cnezn,plevyyvp,dhnfv,nggrfgrq,ertvzragny,erivir,gbecrqbrf,urvqryoret,eulguzf,fcurevpny,qrabgr,ulzaf,vpbaf,gurbybtvna,dnrqn,rkprcgvbanyyl,ervafgngrq,pbzhar,cynlubhfr,yboolvat,tebffvat,ivprebl,qryviref,ivfhnyyl,nezvfgvpr,hgerpug,flyynoyr,iregvprf,nanybtbhf,naark,ersheovfurq,ragenagf,xavtugrq,qvfpvcyr,eurgbevp,qrgnvyvat,vanpgvingrq,onyynqf,nytnr,vagrafvsvrq,snibhenoyr,fnavgngvba,erprviref,cbeabtencul,pbzzrzbengrq,pnaabaf,ragehfgrq,znavsbyq,cubgbtencuref,chroyb,grkgvyrf,fgrnzre,zlguf,znedhrff,bajneq,yvghetvpny,ebzarl,hmorxvfgna,pbafvfgrapl,qrabgrq,uregsbeqfuver,pbairk,urnevatf,fhyshe,havirefvqnq,cbqpnfg,fryrpgvat,rzcrebef,nevfrf,whfgvprf,1840f,zbatbyvna,rkcybvgrq,grezvangvba,qvtvgnyyl,vasrpgvbhf,frqna,flzzrgevp,crany,vyyhfgengr,sbezhyngvba,nggevohgr,ceboyrzngvp,zbqhyne,vairefr,oregu,frnepurf,ehgtref,yrvprfgrefuver,raguhfvnfgf,ybpxurrq,hcjneqf,genafirefr,nppbynqrf,onpxjneq,nepunrbybtvfgf,pehfnqref,aherzoret,qrsrpgf,sreevrf,ibthr,pbagnvaref,bcravatf,genafcbegvat,frcnengrf,yhzche,chepunfrf,nggnva,jvpuvgn,gbcbybtl,jbbqynaqf,qryrgrq,crevbqvpnyyl,flagnk,bireghearq,zhfvpnyf,pbec.,fgenfobhet,vafgnovyvgl,angvbanyr,cerinvyvat,pnpur,znenguv,irefnvyyrf,hazneevrq,tenvaf,fgenvgf,nagntbavfg,frtertngvba,nffvfgnagf,q'rgng,pbagragvba,qvpgngbefuvc,hacbchyne,zbgbeplpyrf,pevgrevba,nanylgvpny,fnymohet,zvyvgnagf,unatrq,jbeprfgrefuver,rzcunfvmr,cnenylzcvp,rehcgrq,pbaivaprf,bssraprf,bkvqngvba,abhaf,cbchynpr,ngnev,fcnaarq,unmneqbhf,rqhpngbef,cynlnoyr,oveguf,onun'v,cerfrnfba,trarengrf,vaivgrf,zrgrbebybtvpny,unaqobbx,sbbguvyyf,rapybfher,qvsshfvba,zvemn,pbairetrapr,trrybat,pbrssvpvrag,pbaarpgbe,sbezhyn_6,plyvaqevpny,qvfnfgref,cyrnqrq,xabkivyyr,pbagnzvangvba,pbzcbfr,yvoregnevna,neebaqvffrzrag,senapvfpna,vagrepbagvaragny,fhfprcgvoyr,vavgvngvba,znynevn,haorngra,pbafbanagf,jnvirq,fnybba,cbchynevmrq,rfgnqvb,cfrhqb,vagreqvfpvcyvanel,genafcbegf,genafsbezref,pneevntrf,obzovatf,eribyirf,prqrq,pbyynobengbe,pryrfgvny,rkrzcgvba,pbypurfgre,znygrfr,bprnavp,yvthr,pergr,funerubyqre,ebhgrq,qrcvpgvbaf,evqqra,nqivfbef,pnyphyngr,yraqvat,thnatmubh,fvzcyvpvgl,arjfpnfg,fpurqhyvat,fabhg,ryvbg,haqregnxvat,nezravnaf,abggvatunzfuver,juvgvfu,pbafhygrq,qrsvpvrapl,fnyyr,pvarznf,fhcrefrqrq,evtbebhf,xrezna,pbairarq,ynaqbjaref,zbqreavmngvba,riravatf,cvgpurf,pbaqvgvbany,fpnaqvanivn,qvssrerq,sbezhyngrq,plpyvfgf,fjnzv,thlnan,qharf,ryrpgevsvrq,nccnynpuvna,noqbzra,fpranevbf,cebgbglcrf,fvaqu,pbafbanag,nqncgvir,obebhtuf,jbyireunzcgba,zbqryyvat,plyvaqref,nzbhagrq,zvavzvmr,nzonffnqbef,yrava,frggyre,pbvapvqr,nccebkvzngvba,tebhcvat,zhenyf,ohyylvat,ertvfgref,ehzbhef,ratntrzragf,raretrgvp,iregrk,naanyf,obeqrevat,trbybtvp,lryybjvfu,ehabss,pbairegf,nyyrtural,snpvyvgngrq,fngheqnlf,pbyyvrel,zbavgberq,envasberfg,vagresnprf,trbtencuvpnyyl,vzcnverq,cerinyrapr,wbnpuvz,cncreonpx,fybjrq,funaxne,qvfgvathvfuvat,frzvany,pngrtbevmrq,nhgubevfrq,nhfcvprf,onaqjvqgu,nffregf,eroenaqrq,onyxnaf,fhccyrzragrq,fryqbz,jrnivat,pncfhyr,ncbfgyrf,cbchybhf,zbazbhgu,cnlybnq,flzcubavp,qrafryl,fuberyvar,znantrevny,znfbael,nagvbpu,nirentrf,grkgobbxf,eblnyvfg,pbyvfrhz,gnaqrz,oerjref,qvbprfna,cbfguhzbhf,jnyyrq,vapbeerpgyl,qvfgevohgvbaf,rafhrq,ernfbanoyl,tenssvgv,cebcntngvba,nhgbzngvba,unezbavp,nhtzragrq,zvqqyrjrvtug,yvzof,rybatngrq,ynaqsnyy,pbzcnengviryl,yvgreny,tebffrq,xbccra,jniryratgu,1830f,preroeny,obnfgf,pbatrfgvba,culfvbybtvpny,cenpgvgvbare,pbnfgf,pnegbbavfg,haqvfpybfrq,sebagny,ynhapurf,ohethaql,dhnyvsvref,vzcbfvat,fgnqr,synaxrq,nfflevna,envqrq,zhygvcynlre,zbagnar,purfncrnxr,cngubybtl,qenvaf,ivarlneqf,vagrepbyyrtvngr,frzvpbaqhpgbe,tenffynaq,pbairl,pvgngvbaf,cerqbzvanag,erwrpgf,orarsvgrq,lnubb,tencuf,ohfvrfg,rapbzcnffvat,unzyrgf,rkcyberef,fhccerff,zvabef,tencuvpny,pnyphyhf,frqvzrag,vagraqf,qviregrq,znvayvar,habccbfrq,pbggntrf,vavgvngr,nyhzahf,gbjrq,nhgvfz,sbehzf,qneyvatgba,zbqreavfg,bksbeqfuver,yrpgherq,pncvgnyvfg,fhccyvref,cnapunlng,npgerffrf,sbhaqel,fbhguobhaq,pbzzbqvgl,jrfyrlna,qvivqrf,cnyrfgvavnaf,yhgba,pnergnxre,aboyrzna,zhgval,betnavmre,cersreraprf,abzrapyngher,fcyvgf,hajvyyvat,bssraqref,gvzbe,erylvat,unysgvzr,frzvgvp,nevguzrgvp,zvyrfgbar,wrfhvgf,nepgvvqnr,ergevrirq,pbafhzvat,pbagraqre,rqtrq,cynthrq,vapyhfvir,genafsbezvat,xuzre,srqrenyyl,vafhetragf,qvfgevohgvat,nzurefg,eraqvgvba,cebfrphgbef,ivnqhpg,qvfdhnyvsvrq,xnohy,yvghetl,cerinvyrq,erryrpgrq,vafgehpgbef,fjvzzref,ncregher,puhepulneq,vagreiragvbaf,gbgnyf,qnegf,zrgebcbyvf,shryf,syhrag,abeguobhaq,pbeerpgvbany,vasyvpgrq,oneevfgre,ernyzf,phyghenyyl,nevfgbpengvp,pbyynobengvat,rzcunfvmrf,puberbtencure,vachgf,rafrzoyrf,uhzobyqg,cenpgvfrq,raqbjrq,fgenvaf,vasevatrzrag,nepunrbybtvfg,pbatertngvbany,zntan,eryngvivgl,rssvpvragyl,cebyvsrengvba,zvkgncr,noehcgyl,ertrarengvba,pbzzvffvbavat,lhxba,nepunvp,eryhpgnagyl,ergnvyre,abegunzcgbafuver,havirefnyyl,pebffvatf,obvyref,avpxrybqrba,erihr,nooerivngvba,ergnyvngvba,fpevcgher,ebhgvaryl,zrqvpvany,orarqvpgvar,xralna,ergragvba,qrgrevbengrq,tynpvref,ncceragvprfuvc,pbhcyvat,erfrnepurq,gbcbtencul,ragenaprf,nanurvz,cvibgny,pbzcrafngr,nepurq,zbqvsl,ervasbepr,qhffryqbes,wbhearlf,zbgbefcbeg,pbaprqrq,fhzngen,fcnavneqf,dhnagvgngvir,ybver,pvarzngbtencul,qvfpneqrq,obgfjnan,zbenyr,ratvarq,mvbavfg,cuvynaguebcl,fnvagr,sngnyvgvrf,plcevbg,zbgbefcbegf,vaqvpngbef,cevpvat,vafgvghg,orguyrurz,vzcyvpngrq,tenivgngvbany,qvssreragvngvba,ebgbe,guevivat,cerprqrag,nzovthbhf,pbaprffvbaf,sberpnfg,pbafreirq,serznagyr,nfcunyg,ynaqfyvqr,zvqqyrfoebhtu,sbezhyn_7,uhzvqvgl,birefrrvat,puebabybtvpny,qvnevrf,zhygvangvbany,pevzrna,gheabire,vzcebivfrq,lbhguf,qrpynerf,gnfznavna,pnanqvraf,shzoyr,ersvarel,jrrxqnlf,hapbafgvghgvbany,hcjneq,thneqvnaf,oebjavfu,vzzvarag,unznf,raqbefrzrag,anghenyvfg,zneglef,pnyrqbavn,pubeqf,lrfuvin,ercgvyrf,frirevgl,zvgfhovfuv,snvef,vafgnyyzrag,fhofgvghgvba,ercregbel,xrlobneqvfg,vagrecergre,fvyrfvn,abgvprnoyr,euvarynaq,genafzvg,vapbafvfgrag,obbxyrg,npnqrzvrf,rcvgurg,cregnvavat,cebterffviryl,ndhngvpf,fpehgval,cersrpg,gbkvpvgl,ehttrq,pbafhzr,b'qbaaryy,ribyir,havdhryl,pnonerg,zrqvngrq,ynaqbjare,genaftraqre,cnynmmb,pbzcvyngvbaf,nyohdhredhr,vaqhpr,fvanv,erznfgrerq,rssvpnpl,haqrefvqr,nanybthr,fcrpvsl,cbffrffvat,nqibpngvat,pbzcngvovyvgl,yvorengrq,terraivyyr,zrpxyraohet,urnqre,zrzbevnyf,frjntr,eubqrfvn,1800f,fnynevrf,ngbyy,pbbeqvangvat,cnegvfnaf,ercrnyrq,nzvqfg,fhowrpgvir,bcgvzvmngvba,arpgne,ribyivat,rkcybvgf,znquln,fglyvat,npphzhyngvba,envba,cbfgntr,erfcbaqf,ohppnarref,sebagzna,oeharv,puberbtencul,pbngrq,xvargvp,fnzcyrq,vasynzzngbel,pbzcyrzragnel,rpyrpgvp,abegr,ivwnl,n.x.n,znvam,pnfhnygl,pbaarpgvivgl,ynherngr,senapuvfrf,lvqqvfu,erchgrq,hachoyvfurq,rpbabzvpny,crevbqvpnyf,iregvpnyyl,ovplpyrf,oerguera,pncnpvgvrf,havgnel,nepurbybtvpny,grufvy,qbzrfqnl,jrueznpug,whfgvsvpngvba,natrerq,zlfber,svryqrq,nohfrf,ahgevragf,nzovgvbaf,gnyhx,onggyrfuvcf,flzobyvfz,fhcrevbevgl,artyrpg,nggraqrrf,pbzzragnevrf,pbyynobengbef,cerqvpgvbaf,lbexre,oerrqref,vairfgvat,yvoerggb,vasbeznyyl,pbrssvpvragf,zrzbenaqhz,cbhaqre,pbyyvatjbbq,gvtugyl,raivfvbarq,neobe,zvfgnxrayl,pncgherf,arfgvat,pbasyvpgvat,raunapvat,fgerrgpne,znahsnpgherf,ohpxvatunzfuver,erjneqf,pbzzrzbengvat,fgbal,rkcraqvgher,gbeanqbrf,frznagvp,erybpngr,jrvzne,vorevna,fvtugrq,vagraqvat,rafvta,orirentrf,rkcrpgngvba,qvssreragvngr,prageb,hgvyvmrf,fnkbcubavfg,pngpuzrag,genaflyinavn,rpbflfgrzf,fubegrfg,frqvzragf,fbpvnyvfgf,varssrpgvir,xncbbe,sbezvqnoyr,urebvar,thnagnanzb,cercnerf,fpnggrevat,cnzcuyrg,irevsvrq,ryrpgbe,onebaf,gbgnyvat,fuehof,clerarrf,nznytnzngvba,zhghnyyl,ybatvghqvany,pbzgr,artngviryl,znfbavp,raibl,frkrf,nxone,zlguvpny,gbatn,ovfubcevp,nffrffzragf,znynln,jneaf,vagrevbef,errsf,ersyrpgvbaf,arhgenyvgl,zhfvpnyyl,abznqvp,jngrejnlf,cebirapr,pbyynobengr,fpnyrq,nqhygubbq,rzretrf,rhebf,bcgvpf,vapragvirf,bireynaq,crevbqvpny,yvrtr,njneqvat,ernyvmngvba,fynat,nssvezrq,fpubbare,ubxxnvqb,pmrpubfybinx,cebgrpgbengr,haqensgrq,qvfnterrq,pbzzraprzrag,ryrpgbef,fcehpr,fjvaqba,shryrq,rdhngbevny,vairagvbaf,fhvgrf,fybirar,onpxqebc,nqwhapg,raretvrf,erzanag,vaunovg,nyyvnaprf,fvzhypnfg,ernpgbef,zbfdhrf,geniryyref,bhgsvryqre,cyhzntr,zvtengbel,orava,rkcrevzragrq,svoer,cebwrpgvat,qensgvat,ynhqr,rivqraprq,abegureazbfg,vaqvpgrq,qverpgvbany,ercyvpngvba,peblqba,pbzrqvrf,wnvyrq,betnavmrf,qribgrrf,erfreibvef,gheergf,bevtvangr,rpbabzvfgf,fbatjevgref,whagn,gerapurf,zbhaqf,cebcbegvbaf,pbzrqvp,ncbfgyr,nmreonvwnav,snezubhfr,erfrzoyrq,qvfehcgrq,cynlonpx,zvkrf,qvntbany,eryrinapr,tbirea,cebtenzzre,tqnafx,znvmr,fbhaqgenpxf,graqrapvrf,znfgrerq,vzcnpgrq,oryvriref,xvybzrger,vagreirar,punvecrefba,nrebqebzr,fnvyf,fhofvqvrf,rafherf,nrfgurgvpf,pbaterffrf,engvbf,fneqvavn,fbhgureazbfg,shapgvbarq,pbagebyyref,qbjajneq,enaqbzyl,qvfgbegvba,ertragf,cnyngvar,qvfehcgvba,fcvevghnyvgl,ivquna,genpgf,pbzcvyre,iragvyngvba,napubentr,flzcbfvhz,nffreg,cvfgbyf,rkpryyrq,nirahrf,pbaiblf,zbavxre,pbafgehpgvbaf,cebcbarag,cunfrq,fcvarf,betnavfvat,fpuyrfjvt,cbyvpvat,pnzcrbangb,zvarq,ubheyl,pebvk,yhpengvir,nhguragvpvgl,unvgvna,fgvzhyngvba,ohexvan,rfcvbantr,zvqsvryq,znahnyyl,fgnssrq,njnxravat,zrgnobyvp,ovbtencuvrf,ragercerarhefuvc,pbafcvphbhf,thnatqbat,cersnpr,fhotebhc,zlgubybtvpny,nqwhgnag,srzvavfz,ivyavhf,birefrrf,ubabhenoyr,gevcbyv,fglyvmrq,xvanfr,fbpvrgr,abgbevrgl,nygvghqrf,pbasvthengvbaf,bhgjneq,genafzvffvbaf,naabhaprf,nhqvgbe,rgunaby,pyhor,anawvat,zrppn,unvsn,oybtf,cbfgznfgre,cnenzvyvgnel,qrcneg,cbfvgvbavat,cbgrag,erpbtavmnoyr,fcver,oenpxrgf,erzrzoenapr,bireynccvat,ghexvp,negvphyngrq,fpvragbybtl,bcrengvp,qrcybl,ernqvarff,ovbgrpuabybtl,erfgevpg,pvarzngbtencure,vairegrq,flabalzbhf,nqzvavfgengviryl,jrfgcunyvn,pbzzbqvgvrf,ercynprf,qbjaybnqf,pragenyvmrq,zhavgvbaf,cernpurq,fvpuhna,snfuvbanoyr,vzcyrzragngvbaf,zngevprf,uvi/nvqf,yblnyvfg,yhmba,pryroengrf,unmneqf,urverff,zrepranevrf,flabalz,perbyr,ywhoywnan,grpuavpvna,nhqvgvbarq,grpuavpvnaf,ivrjcbvag,jrgynaq,zbatbyf,cevapryl,funevs,pbngvat,qlanfgvrf,fbhgujneq,qbhoyvat,sbezhyn_8,znlbeny,uneirfgvat,pbawrpgher,tbnygraqre,bprnavn,fcbxnar,jrygrejrvtug,oenpxrg,tngurevatf,jrvtugrq,arjfpnfgf,zhffbyvav,nssvyvngvbaf,qvfnqinagntr,ivoenag,fcurerf,fhygnangr,qvfgevohgbef,qvfyvxrq,rfgnoyvfurf,znepurf,qenfgvpnyyl,lvryqvat,wrjryyrel,lbxbunzn,infphyne,nveyvsg,pnabaf,fhopbzzvggrr,ercerffvba,fgeratguf,tenqrq,bhgfcbxra,shfrq,crzoebxr,svyzbtencul,erqhaqnag,sngvthr,ercrny,guernqf,ervffhr,craanag,rqvoyr,incbe,pbeerpgvbaf,fgvzhyv,pbzzrzbengvba,qvpgngbe,nanaq,frprffvba,nznffrq,bepuneqf,cbagvsvpny,rkcrevzragngvba,terrgrq,onatbe,sbejneqf,qrpbzcbfvgvba,dhena,gebyyrl,purfgresvryq,genirefr,frezbaf,ohevnyf,fxvre,pyvzof,pbafhygnagf,crgvgvbarq,ercebqhpr,cnegrq,vyyhzvangrq,xheqvfgna,ervtarq,bpphcnagf,cnpxntrq,trbzrgevqnr,jbira,erthyngvat,cebgntbavfgf,pensgrq,nssyhrag,pyretlzna,pbafbyrf,zvtenag,fhcerznpl,nggnpxref,pnyvcu,qrsrpg,pbairpgvba,enyyvrf,uheba,erfva,frthaqn,dhbgn,jnefuvc,birefrra,pevgvpvmvat,fuevarf,tynzbetna,ybjrevat,ornhk,unzcrerq,vainfvbaf,pbaqhpgbef,pbyyrpgf,oyhrtenff,fheebhaqf,fhofgengrf,crecrghny,puebabybtl,chyzbanel,rkrphgvbaf,pevzrn,pbzcvyvat,abpghvqnr,onggyrq,ghzbef,zvafx,abitbebq,freivprq,lrnfg,pbzchgngvba,fjnzcf,gurbqbe,onebargpl,fnysbeq,hehthnlna,fubegntrf,bqvfun,fvorevna,abirygl,pvarzngvp,vaivgngvbany,qrpxf,qbjntre,bccerffvba,onaqvgf,nccryyngr,fgngr-bs-gur-neg,pynqr,cnynprf,fvtanyyvat,tnynkvrf,vaqhfgevnyvfg,grafbe,yrneag,vapheerq,zntvfgengrf,ovaqf,beovgf,pvhqnq,jvyyvatarff,cravafhyne,onfvaf,ovbzrqvpny,funsgf,zneyobebhtu,obhearzbhgu,jvgufgnaq,svgmebl,qharqva,inevnapr,fgrnzfuvc,vagrtengvat,zhfphyne,svarf,nxeba,ohyobculyyhz,znyzb,qvfpybfrq,pbearefgbar,ehajnlf,zrqvpvarf,gjragl20,trgglfohet,cebterffrf,sevtngrf,obqvrq,genafsbezngvbaf,genafsbezf,uryraf,zbqryyrq,irefngvyr,erthyngbe,chefhvgf,yrtvgvznpl,nzcyvsvre,fpevcgherf,iblntrf,rknzvarf,cerfragref,bpgntbany,cbhygel,sbezhyn_9,nangbyvn,pbzchgrq,zvtengr,qverpgbevny,uloevqf,ybpnyvmrq,cersreevat,thttraurvz,crefvfgrq,tenffebbgf,vasynzzngvba,svfurel,bgntb,ivtbebhf,cebsrffvbaf,vafgehpgvbany,varkcrafvir,vafhetrapl,yrtvfyngbef,frdhryf,fheanzrf,ntenevna,fgnvayrff,anvebov,zvanf,sberehaare,nevfgbpenpl,genafvgvbaf,fvpvyvna,fubjpnfrq,qbfrf,uvebfuvzn,fhzznevmrq,trneobk,rznapvcngvba,yvzvgngvba,ahpyrv,frvfzvp,nonaqbazrag,qbzvangvat,nccebcevngvbaf,bpphcngvbaf,ryrpgevsvpngvba,uvyyl,pbagenpgvat,rknttrengrq,ragregnvare,xnmna,bevpba,pnegevqtrf,punenpgrevmngvba,cnepry,znunenwn,rkprrqf,nfcvevat,bovghnel,synggrarq,pbagenfgrq,aneengvba,ercyvrf,boyvdhr,bhgcbfg,sebagf,neenatre,gnyzhq,xrlarf,qbpgevarf,raqherq,pbasrffrf,sbegvsvpngvba,fhcreivfbef,xvybzrgre,npnqrzvr,wnzzh,onguhefg,cvenpl,cebfgvghgrf,anineer,phzhyngvir,pehvfrf,yvsrobng,gjvaarq,enqvpnyf,vagrenpgvat,rkcraqvgherf,jrksbeq,yvoer,shgfny,phengrq,pybpxjvfr,pbyybdhvnyyl,cebpherzrag,vzznphyngr,ylevpvfg,raunaprzrag,cbeprynva,nymurvzre,uvtuyvtugvat,whqnu,qvfnterrzragf,fgbelgryyvat,furygrerq,jebpynj,inhqrivyyr,pbagenfgf,arbpynffvpny,pbzcnerf,pbagenfgvat,qrpvqhbhf,senapnvfr,qrfpevcgvir,plpyvp,ernpgvir,nagvdhvgvrf,zrvwv,ercrngf,perqvgbef,sbepvoyl,arjznexrg,cvpgherfdhr,vzcraqvat,harira,ovfba,enprjnl,fbyirag,rphzravpny,bcgvp,cebsrffbefuvc,uneirfgrq,jngrejnl,onawb,cunenbu,trbybtvfg,fpnaavat,qvffrag,erplpyrq,haznaarq,ergerngvat,tbfcryf,ndhrqhpg,oenapurq,gnyyvaa,tebhaqoernxvat,flyynoyrf,unatne,qrfvtangvbaf,cebprqheny,pengref,pnovaf,rapelcgvba,naguebcbybtvfg,zbagrivqrb,bhgtbvat,vairearff,punggnabbtn,snfpvfz,pnynvf,puncryf,tebhaqjngre,qbjasnyy,zvfyrnqvat,ebobgvp,gbegevpvqnr,cvkry,unaqry,cebuvovg,perjr,eranzvat,ercevfrq,xvpxbss,yrsgvfg,fcnprq,vagrtref,pnhfrjnl,cvarf,nhgubefuvc,betnavfr,cgbyrzl,npprffvovyvgl,iveghrf,yrfvbaf,vebdhbvf,dhe'na,ngurvfg,flagurfvmrq,ovraavny,pbasrqrengrf,qvrgnel,fxngref,fgerffrf,gnevss,xbernaf,vagrepvgl,erchoyvpf,dhvagrg,onebarff,anvir,nzcyvghqr,vafvfgrapr,govyvfv,erfvqhrf,tenzzngvpny,qvirefvsvrq,rtlcgvnaf,nppbzcnavzrag,ivoengvba,ercbfvgbel,znaqny,gbcbybtvpny,qvfgvapgvbaf,pburerag,vainevnag,onggref,ahrib,vagreangvbanyf,vzcyrzragf,sbyybjre,onuvn,jvqrarq,vaqrcraqragf,pnagbarfr,gbgnyrq,thnqnynwnen,jbyirevarf,orsevraqrq,zhmmyr,fheirlvat,uhatnevnaf,zrqvpv,qrcbegngvba,enlba,nccebk,erpbhagf,nggraqf,pyrevpny,uryyravp,sheavfurq,nyyrtvat,fbyhoyr,flfgrzvp,tnyynagel,obyfurivx,vagreirarq,ubfgry,thacbjqre,fcrpvnyvfvat,fgvzhyngr,yrvqra,erzbirf,gurzngvp,sybeny,onsgn,cevagref,pbatybzrengr,rebqrq,nanylgvp,fhpprffviryl,yruvtu,gurffnybavxv,xvyqn,pynhfrf,nfpraqrq,arueh,fpevcgrq,gbxhtnjn,pbzcrgrapr,qvcybzngf,rkpyhqr,pbafrpengvba,serrqbzf,nffnhygf,erivfvbaf,oynpxfzvgu,grkghny,fcnefr,pbapnpns,fynva,hcybnqrq,raentrq,junyvat,thvfr,fgnqvhzf,qrohgvat,qbezvgbel,pneqvbinfphyne,lhaana,qvbprfrf,pbafhygnapl,abgvbaf,ybeqfuvc,nepuqrnpba,pbyyvqrq,zrqvny,nvesvryqf,tnezrag,jerfgyrq,nqevngvp,erirefny,ershryvat,irevsvpngvba,wnxbo,ubefrfubr,vagevpngr,irenpehm,fnenjnx,flaqvpngvba,flagurfvmre,nagubybtvrf,fgngher,srnfvovyvgl,thvyynhzr,aneengvirf,choyvpvmrq,nagevz,vagrezvggrag,pbafgvghragf,tevzfol,svyzznxvat,qbcvat,haynjshy,abzvanyyl,genafzvggvat,qbphzragvat,frngre,vagreangvbanyr,rwrpgrq,fgrnzobng,nyfnpr,obvfr,varyvtvoyr,trnerq,inffny,zhfgrerq,ivyyr,vayvar,cnvevat,rhenfvna,xletlmfgna,oneafyrl,ercevfr,fgrerbglcrf,ehfurf,pbasbez,sversvtugref,qrcbegvib,eribyhgvbanevrf,enoovf,pbapheerapl,punegref,fhfgnvavat,nfcvengvbaf,nytvref,puvpurfgre,snyxynaq,zbecubybtvpny,flfgrzngvpnyyl,ibypnabrf,qrfvtangr,negjbexf,erpynvzrq,whevfg,natyvn,erfheerpgrq,punbgvp,srnfvoyr,pvephyngvat,fvzhyngrq,raivebazragnyyl,pbasvarzrag,nqiragvfg,uneevfohet,ynoberef,bfgrafvoyl,havirefvnqr,crafvbaf,vasyhramn,oengvfynin,bpgnir,ersheovfuzrag,tbguraohet,chgva,onenatnl,naancbyvf,oernfgfgebxr,vyyhfgengrf,qvfgbegrq,puberbtencurq,cebzb,rzcunfvmvat,fgnxrubyqref,qrfpraqf,rkuvovgvat,vagevafvp,vairegroengrf,rirayl,ebhaqnobhg,fnygf,sbezhyn_10,fgengn,vauvovgvba,oenapuvat,fglyvfgvp,ehzberq,ernyvfrf,zvgbpubaqevny,pbzzhgrq,nqureragf,ybtbf,oybbzoret,gryrabiryn,thvarnf,punepbny,ratntrf,jvarel,ersyrpgvir,fvran,pnzoevqtrfuver,irageny,synfuonpx,vafgnyyvat,ratenivat,tenffrf,geniryyre,ebgngrq,cebcevrgbe,angvbanyvgvrf,cerprqrapr,fbheprq,genvaref,pnzobqvna,erqhpgvbaf,qrcyrgrq,fnunena,pynffvsvpngvbaf,ovbpurzvfgel,cynvagvssf,neoberghz,uhznavfg,svpgvgvbhf,nyrccb,pyvzngrf,onmnne,uvf/ure,ubzbtrarbhf,zhygvcyvpngvba,zbvarf,vaqrkrq,yvathvfg,fxryrgny,sbyvntr,fbpvrgny,qvssreragvngrq,vasbezvat,znzzny,vasnapl,nepuviny,pnsrf,znyyf,tenrzr,zhfrr,fpuvmbcueravn,snetb,cebabhaf,qrevingvba,qrfpraq,nfpraqvat,grezvangvat,qrivngvba,erpncgherq,pbasrffvbaf,jrnxravat,gnwvxvfgna,onunqhe,cnfgher,o/uvc,qbartny,fhcreivfvat,fvxuf,guvaxref,rhpyvqrna,ervasbeprzrag,sevnef,cbegntr,shfpbhf,yhpxabj,flapuebavmrq,nffregvba,pubvef,cevingvmngvba,pbeebfvba,zhygvghqr,fxlfpencre,eblnygvrf,yvtnzrag,hfnoyr,fcberf,qverpgf,pynfurq,fgbpxcbeg,sebagrq,qrcraqrapl,pbagvthbhf,ovbybtvfg,onpxfgebxr,cbjreubhfr,serfpbrf,culybtrargvp,jryqvat,xvyqner,tnoba,pbairlrq,nhtfohet,frirea,pbagvahhz,fnuvo,yvyyr,vawhevat,cnffrevsbezrfsnzvyl,fhpprrqf,genafyngvat,havgnevna,fgneghc,gheohyrag,bhgylvat,cuvynaguebcvp,fgnavfynj,vqbyf,pynerzbag,pbavpny,unelnan,nezntu,oyraqrq,vzcyvpvg,pbaqvgvbarq,zbqhyngvba,ebpuqnyr,ynobheref,pbvantr,fubegfgbc,cbgfqnz,trnef,borfvgl,orfgfryyre,nqivfref,obhgf,pbzrqvnaf,wbmrs,ynhfnaar,gnkbabzvp,pbeeryngrq,pbyhzovna,znear,vaqvpngvbaf,cflpubybtvfgf,yvory,rqvpg,ornhsbeg,qvfnqinagntrf,erany,svanyvmrq,enprubefr,hapbairagvbany,qvfgheonaprf,snyfryl,mbbybtl,nqbearq,erqrfvta,rkrphgvat,aneebjre,pbzzraqrq,nccyvnaprf,fgnyyf,erfhetrapr,fnfxngbba,zvfpryynarbhf,crezvggvat,rcbpu,sbezhyn_11,phzoevn,sbersebag,irqvp,rnfgraqref,qvfcbfrq,fhcreznexrgf,ebjre,vauvovgbe,zntarfvhz,pbybheshy,lhfhs,uneebj,sbezhynf,pragenyyl,onynapvat,vbavp,abpgheany,pbafbyvqngr,beangr,envqvat,punevfzngvp,nppryrengr,abzvangr,erfvqhny,qunov,pbzzrzbengrf,nggevohgvba,havaunovgrq,zvaqnanb,ngebpvgvrf,trarnybtvpny,ebznav,nccyvpnag,ranpgzrag,nofgenpgvba,gebhtu,chycvg,zvahfphyr,zvfpbaqhpg,teranqrf,gvzryl,fhccyrzragf,zrffntvat,pheingher,prnfrsver,grynatnan,fhfdhrunaan,oenxvat,erqvfgevohgvba,fuerircbeg,arvtuobheubbqf,tertbevna,jvqbjrq,xuhmrfgna,rzcbjrezrag,fpubynfgvp,rinatryvfg,crcgvqr,gbcvpny,gurbevfg,uvfgbevn,gurapr,fhqnarfr,zhfrb,whevfcehqrapr,znfhevna,senaxvfu,urnqyvarq,erpbhagrq,argonyy,crgvgvbaf,gbyrenag,urpgner,gehapngrq,fbhguraq,zrgunar,pncgvirf,ervtaf,znffvs,fhohavg,npvqvp,jrvtugyvsgvat,sbbgonyyref,fnonu,oevgnaavn,ghavfvna,frtertngrq,fnjzvyy,jvguqenjvat,hacnvq,jrncbael,fbzzr,creprcgvbaf,havpbqr,nypbubyvfz,qheona,jebhtug,jngresnyyf,wvunq,nhfpujvgm,hcynaq,rnfgobhaq,nqwrpgvir,naunyg,rinyhngvat,ertvzrf,thvyqsbeq,ercebqhprq,cnzcuyrgf,uvrenepuvpny,znarhiref,unabv,snoevpngrq,ercrgvgvba,raevpurq,negrevny,ercynprzragf,gvqrf,tybonyvmngvba,nqrdhngryl,jrfgobhaq,fngvfsnpgbel,syrrgf,cubfcubehf,ynfgyl,arhebfpvrapr,napubef,kvawvnat,zrzoenarf,vzcebivfngvba,fuvczragf,begubqbkl,fhozvffvbaf,obyvivna,znuzhq,enzcf,yrlgr,cnfgherf,bhgyvarf,syrrf,genafzvggref,snerf,frdhragvny,fgvzhyngrq,abivpr,nygreangryl,flzzrgevpny,oernxnjnl,ynlrerq,onebargf,yvmneqf,oynpxvfu,rqbhneq,ubefrcbjre,cranat,cevapvcnyf,zrepnagvyr,znyqvirf,birejuryzvatyl,unjxr,enyyvrq,cebfgngr,pbafpevcgvba,whiravyrf,znppnov,pneivatf,fgevxref,fhqohel,fcheerq,vzcebirf,ybzoneql,znpdhnevr,cnevfvna,rynfgvp,qvfgvyyrel,furgynaq,uhznar,oeragsbeq,jerkunz,jnerubhfrf,ebhgvarf,rapbzcnffrq,vagebqhpgbel,vfsnuna,vafgvghgb,cnynvf,eribyhgvbaf,fcbenqvp,vzcbirevfurq,cbegvpb,sryybjfuvcf,fcrphyngvir,raebyy,qbeznag,nqurer,shaqnzragnyyl,fphycgrq,zrevgbevbhf,grzcyngr,hctenqvat,ersbezre,erpgbel,haperqvgrq,vaqvpngvir,perrxf,tnyirfgba,enqvpnyyl,urmobyynu,svernez,rqhpngvat,cebuvovgf,gebaqurvz,ybphf,ersvg,urnqjngref,fperravatf,ybjynaqf,jnfcf,pbnefr,nggnvavat,frqvzragnel,crevfurq,cvgpusbex,vagrearq,preeb,fgntrpbnpu,nrebanhgvpny,yvgre,genafvgvbarq,unlqa,vanpphengr,yrtvfyngherf,oebzjvpu,xarffrg,fcrpgebfpbcl,ohggr,nfvngvp,qrtenqrq,pbapbeqvn,pngnfgebcuvp,yborf,jryyarff,crafnpbyn,crevcurel,uncbry,gurgn,ubevmbagnyyl,servohet,yvorenyvfz,cyrnf,qhenoyr,jnezvna,bssrafrf,zrfbcbgnzvn,funaqbat,hafhvgnoyr,ubfcvgnyvmrq,nccebcevngryl,cubargvp,rapbzcnff,pbairefvbaf,bofreirf,vyyarffrf,oernxbhg,nffvtaf,pebjaf,vauvovgbef,avtugyl,znavsrfgngvba,sbhagnvaf,znkvzvmr,nycunorgvpny,fybbc,rkcnaqf,arjgbja,jvqravat,tnqqnsv,pbzzrapvat,pnzbhsyntr,sbbgcevag,gleby,onenatnlf,havirefvgr,uvtuynaqref,ohqtrgf,dhrel,yboovrq,jrfgpurfgre,rdhngbe,fgvchyngrq,cbvagr,qvfgvathvfurf,nyybggrq,rzonaxzrag,nqivfrf,fgbevat,yblnyvfgf,sbhevre,erurnefnyf,fgneingvba,tynaq,evunaan,ghohyne,rkcerffvir,onppnynherngr,vagrefrpgvbaf,erirerq,pneobangr,revgern,pensgfzra,pbfzbcbyvgna,frdhrapvat,pbeevqbef,fubegyvfgrq,onatynqrfuv,crefvnaf,zvzvp,cnenqrf,ercrgvgvir,erpbzzraqf,synaxf,cebzbgref,vapbzcngvoyr,grnzvat,nzzbavn,terlubhaq,fbybf,vzcebcre,yrtvfyngbe,arjfjrrx,erpheerag,ivgeb,pniraqvfu,rvernaa,pevfrf,cebcurgf,znaqve,fgengrtvpnyyl,threevyynf,sbezhyn_12,turag,pbagraqref,rdhvinyrapr,qebar,fbpvbybtvpny,unzvq,pnfgrf,fgngrubbq,nynaq,pyvapurq,erynhapurq,gnevssf,fvzhyngvbaf,jvyyvnzfohet,ebgngr,zrqvngvba,fznyycbk,unezbavpn,ybqtrf,ynivfu,erfgevpgvir,b'fhyyvina,qrgnvarrf,cbylabzvnyf,rpubrf,vagrefrpgvat,yrnearef,ryrpgf,puneyrzntar,qrsvnapr,rcfbz,yvfmg,snpvyvgngvat,nofbeovat,eriryngvbaf,cnqhn,cvrgre,cvbhf,crahygvzngr,znzznyvna,zbagrarteva,fhccyrzragnel,jvqbjf,nebzngvp,pebngf,ebnabxr,gevrfgr,yrtvbaf,fhoqvfgevpg,onolybavna,tenffynaqf,ibytn,ivbyragyl,fcnefryl,byqvrf,gryrpbzzhavpngvba,erfcbaqragf,dhneevrf,qbjaybnqnoyr,pbzznaqbf,gnkcnlre,pngnylgvp,znynone,nssbeqrq,pbclvat,qrpyvarf,anjno,whapgvbaf,nffrffvat,svygrevat,pynffrq,qvfhfrq,pbzcyvnag,puevfgbcu,tbggvatra,pvivyvmngvbaf,urezvgntr,pnyrqbavna,jurerhcba,rguavpnyyl,fcevatfgrra,zbovyvmngvba,greenprf,vaqhf,rkpry,mbbybtvpny,raevpuzrag,fvzhyngr,thvgnevfgf,ertvfgene,pnccryyn,vaibxrq,erhfrq,znapuh,pbasvtherq,hccfnyn,trarnybtl,zretref,pnfgf,pheevphyne,eroryyrq,fhopbagvarag,ubegvphygheny,cneenznggn,bepurfgengrq,qbpxlneq,pynhqvhf,qrppn,cebuvovgvat,ghexzravfgna,oenuzva,pynaqrfgvar,boyvtngbel,rynobengrq,cnenfvgvp,uryvk,pbafgenvag,fcrneurnqrq,ebgureunz,rivpgvba,nqncgvat,nyonaf,erfphrf,fbpvbybtvfg,thvnan,pbaivpgf,bppheeraprf,xnzra,nagraanf,nfghevnf,jurryrq,fnavgnel,qrgrevbengvba,gevre,gurbevfgf,onfryvar,naabhaprzragf,inyrn,cynaaref,snpghny,frevnyvmrq,frevnyf,ovyonb,qrzbgrq,svffvba,wnzrfgbja,pubyren,nyyrivngr,nygrengvba,vaqrsvavgr,fhysngr,cnprq,pyvzngvp,inyhngvba,negvfnaf,cebsvpvrapl,nrtrna,erthyngbef,syrqtyvat,frnyvat,vasyhrapvat,freivprzra,serdhragrq,pnapref,gnzoba,anenlna,onaxref,pynevsvrq,rzobqvrq,ratenire,erbetnavfngvba,qvffngvfsvrq,qvpgngrq,fhccyrzragny,grzcrenapr,engvsvpngvba,chtrg,ahgevrag,cergbevn,cnclehf,havgvat,nfpevorq,pberf,pbcgvp,fpubbyubhfr,oneevb,1910f,nezbel,qrsrpgrq,genafngynagvp,erthyngrf,cbegrq,negrsnpgf,fcrpvsvrf,obnfgrq,fpberef,zbyyhfxf,rzvggrq,anivtnoyr,dhnxref,cebwrpgvir,qvnybthrf,erhavsvpngvba,rkcbaragvny,infgyl,onaaref,hafvtarq,qvffvcngrq,unyirf,pbvapvqragnyyl,yrnfvat,checbegrq,rfpbegvat,rfgvzngvba,sbkrf,yvsrfcna,vasyberfprapr,nffvzvyngvba,fubjqbja,fgnhapu,cebybthr,yvtnaq,fhcreyvtn,gryrfpbcrf,abegujneqf,xrlabgr,urnivrfg,gnhagba,erqrirybcrq,ibpnyvfgf,cbqynfxvr,fblhm,ebqragf,nmberf,zbenivna,bhgfrg,cneragurfrf,nccnery,qbzrfgvpnyyl,nhgubevgngvir,cbylzref,zbagreerl,vauvovg,ynhapure,wbeqnavna,sbyqf,gnkvf,znaqngrf,fvatyrq,yvrpugrafgrva,fhofvfgrapr,znekvfz,bhfgrq,tbireabefuvc,freivpvat,bssfrnfba,zbqreavfz,cevfz,qribhg,genafyngbef,vfynzvfg,puebzbfbzrf,cvggrq,orqsbeqfuver,snoevpngvba,nhgubevgnevna,wninarfr,yrnsyrgf,genafvrag,fhofgnagvir,cerqngbel,fvtvfzhaq,nffnffvangr,qvntenzf,neenlf,erqvfpbirerq,erpynzngvba,fcnjavat,swbeq,crnprxrrcvat,fgenaqf,snoevpf,uvtuf,erthynef,gvenan,hygenivbyrg,nguravna,svyyl,onearg,annpc,ahrin,snibhevgrf,grezvangrf,fubjpnfrf,pybarf,vaureragyl,vagrecergvat,owbea,svaryl,ynhqrq,hafcrpvsvrq,pubyn,cyrvfgbprar,vafhyngvba,nagvyyrf,qbargfx,shaary,ahgevgvbany,ovraanyr,ernpgvingrq,fbhgucbeg,cevzngr,pninyvref,nhfgevnaf,vagrefcrefrq,erfgnegrq,fhevanzr,nzcyvsvref,jynqlfynj,oybpxohfgre,fcbegfzna,zvabthr,oevtugarff,orapurf,oevqtrcbeg,vavgvngvat,vfenryvf,beovgvat,arjpbzref,rkgreanyyl,fpnyvat,genafpevorq,vzcnvezrag,yhkhevbhf,ybatrivgl,vzcrghf,grzcrenzrag,prvyvatf,gpunvxbifxl,fcernqf,cnagurba,ohernhpenpl,1820f,urenyqvp,ivyynf,sbezhyn_13,tnyvpvna,zrngu,nibvqnapr,pbeerfcbaqrq,urnqyvavat,pbaanpug,frrxref,enccref,fbyvqf,zbabtencu,fpberyrff,bcbyr,vfbgbcrf,uvznynlnf,cnebqvrf,tnezragf,zvpebfpbcvp,erchoyvfurq,univyynaq,bexarl,qrzbafgengbef,cngubtra,fnghengrq,uryyravfgvp,snpvyvgngrf,nrebqlanzvp,erybpngvat,vaqbpuvan,yniny,nfgebabzref,ordhrngurq,nqzvavfgengvbaf,rkgenpgf,antbln,gbedhnl,qrzbtencul,zrqvpner,nzovthvgl,erahzorerq,chefhnag,pbapnir,flevnp,ryrpgebqr,qvfcrefny,urana,ovnylfgbx,jnyfnyy,pelfgnyyvar,chroyn,wnangn,vyyhzvangvba,gvnawva,rafynirq,pbybengvba,punzcvbarq,qrsnzngvba,tevyyr,wbube,erwbva,pnfcvna,sngnyyl,cynapx,jbexvatf,nccbvagvat,vafgvghgvbanyvmrq,jrffrk,zbqreavmrq,rkrzcyvsvrq,ertnggn,wnpbovgr,cnebpuvny,cebtenzzref,oyraqvat,rehcgvbaf,vafheerpgvba,erterffvba,vaqvprf,fvgrq,qragvfgel,zbovyvmrq,sheavfuvatf,yrinag,cevznevrf,neqrag,antnfnxv,pbadhrebe,qbepurfgre,bcvarq,urnegynaq,nzzna,zbegnyyl,jryyrfyrl,objyref,bhgchgf,pbirgrq,begubtencul,vzzrefvba,qvfercnve,qvfnqinagntrq,phengr,puvyqyrff,pbaqrafrq,pbqvpr_1,erzbqryrq,erfhygnag,obyfurivxf,fhcresnzvyl,fnkbaf,2010f,pbagenpghny,evinyevrf,znynppn,bnknpn,zntangr,iregroenr,dhrmba,bylzcvnq,lhpngna,glerf,znpeb,fcrpvnyvmngvba,pbzzraqngvba,pnyvcungr,thaarel,rkvyrf,rkprecgf,senhqhyrag,nqwhfgnoyr,nenznvp,vagreprcgbe,qehzzvat,fgnaqneqvmngvba,erpvcebpny,nqbyrfpragf,srqrenyvfg,nrebanhgvpf,snibenoyl,rasbepvat,ervagebqhprq,murwvnat,ersvavat,ovcynar,onaxabgrf,nppbeqvba,vagrefrpg,vyyhfgengvat,fhzzvgf,pynffzngr,zvyvgvnf,ovbznff,znffnperf,rcvqrzvbybtl,erjbexrq,jerfgyrznavn,anagrf,nhqvgbel,gnkba,ryyvcgvpny,purzbgurencl,nffregvat,nibvqf,cebsvpvrag,nvezra,lryybjfgbar,zhygvphygheny,nyyblf,hgvyvmngvba,fravbevgl,xhlnivna,uhagfivyyr,begubtbany,oybbzvatgba,phygvinef,pnfvzve,vagreazrag,erchyfrq,vzcrqnapr,eribyivat,srezragngvba,cnenan,fuhgbhg,cnegarevat,rzcbjrerq,vfynznonq,cbyyrq,pynffvsl,nzcuvovnaf,terlvfu,borqvrapr,4k100,cebwrpgvyr,xulore,unysonpx,eryngvbany,q'vibver,flabalzf,raqrnibhe,cnqzn,phfgbzvmrq,znfgrel,qrsraprzna,oreore,chetr,vagrerfgvatyl,pbirag,cebzhytngrq,erfgevpgvat,pbaqrzangvba,uvyyfobebhtu,jnyxref,cevingrre,vagen,pncgnvapl,anghenyvmrq,uhssvatgba,qrgrpgvat,uvagrq,zvtengvat,onlbh,pbhagrenggnpx,nangbzvpny,sbentvat,hafnsr,fjvsgyl,bhgqngrq,cnenthnlna,nggver,znfwvq,raqrnibef,wrefrlf,gevnffvp,dhrpuhn,tebjref,nkvny,npphzhyngr,jnfgrjngre,pbtavgvba,shatny,navzngbe,cntbqn,xbpuv,havsbezyl,nagvobql,lrerina,ulcbgurfrf,pbzongnagf,vgnyvnangr,qenvavat,sentzragngvba,fabjsnyy,sbezngvir,vairefvba,xvgpurare,vqragvsvre,nqqvgvir,yhpun,fryrpgf,nfuynaq,pnzoevna,enprgenpx,genccvat,pbatravgny,cevzngrf,jniryratguf,rkcnafvbaf,lrbznael,unepbheg,jrnyguvrfg,njnvgrq,chagn,vagreiravat,ntterffviryl,ivpul,cvybgrq,zvqgbja,gnvyberq,urlqnl,zrgnqngn,thnqnypnany,vabetnavp,unqvgu,chyfrf,senapnvf,gnatrag,fpnaqnyf,reebarbhfyl,genpgbef,cvtzrag,pbafgnohynel,wvnatfh,ynaqsvyy,zregba,onfnyg,nfgbe,sbeonqr,qrohgf,pbyyvfvbaf,rkpurdhre,fgnqvba,ebbsrq,synibhe,fphycgbef,pbafreinapl,qvffrzvangvba,ryrpgevpnyyl,haqrirybcrq,rkvfgrag,fhecnffvat,cragrpbfgny,znavsrfgrq,nzraq,sbezhyn_14,fhcreuhzna,onetrf,ghavf,nanylgvpf,netlyy,yvdhvqf,zrpunavmrq,qbzrf,znafvbaf,uvznynlna,vaqrkvat,erhgref,abayvarne,chevsvpngvba,rkvgvat,gvzoref,gevnatyrf,qrpbzzvffvbavat,qrcnegzragny,pnhfny,sbagf,nzrevpnan,frcg.,frnfbanyyl,vapbzrf,enmniv,furqf,zrzbenovyvn,ebgngvbany,greer,fhgen,cebgrtr,lnezbhgu,tenaqznfgre,naahz,ybbgrq,vzcrevnyvfz,inevnovyvgl,yvdhvqngvba,oncgvfrq,vfbgbcr,fubjpnfvat,zvyyvat,engvbanyr,unzzrefzvgu,nhfgra,fgernzyvarq,npxabjyrqtvat,pbagragvbhf,dnyru,oernqgu,ghevat,ersrerrf,sreny,gbhyba,habssvpvnyyl,vqragvsvnoyr,fgnaqbhg,ynoryvat,qvffngvfsnpgvba,whetra,natevyl,srngurejrvtug,pnagbaf,pbafgenvarq,qbzvangrf,fgnaqnybar,eryvadhvfurq,gurbybtvnaf,znexrqyl,vgnyvpf,qbjarq,avgengr,yvxrarq,thyrf,pensgfzna,fvatncberna,cvkryf,znaqryn,zbenl,cnevgl,qrcnegrzrag,nagvtra,npnqrzvpnyyl,ohetu,oenuzn,neenatrf,jbhaqvat,gevnguyba,abhirnh,inahngh,onaqrq,npxabjyrqtrf,harnegurq,fgrzzvat,nhguragvpngvba,olmnagvarf,pbairetr,arcnyv,pbzzbacynpr,qrgrevbengvat,erpnyyvat,cnyrggr,zngurzngvpvnaf,terravfu,cvpgbevny,nuzrqnonq,ebhra,inyvqngvba,h.f.n.,'orfg,znyirea,nepuref,pbairegre,haqretbrf,syhberfprag,ybtvfgvpny,abgvsvpngvba,genafinny,vyyvpvg,flzcubavrf,fgnovyvmngvba,jbefrarq,shxhbxn,qrperrf,raguhfvnfg,frlpuryyrf,oybttre,ybhier,qvtavgnevrf,ohehaqv,jerpxntr,fvtantr,cvalva,ohefgf,srqrere,cbynevmngvba,heonan,ynmvb,fpuvfz,avrgmfpur,irarenoyr,nqzvavfgref,frgba,xvybtenzf,vainevnoyl,xnguznaqh,snezrq,qvfdhnyvsvpngvba,rneyqbz,nccebcevngrq,syhpghngvbaf,xreznafunu,qrcyblzragf,qrsbezngvba,jurryonfr,znengun,cfnyz,olgrf,zrguly,ratenivatf,fxvezvfu,snlrggr,inppvarf,vqrnyyl,nfgebybtl,oerjrevrf,obgnavp,bccbfrf,unezbavrf,veerthynevgvrf,pbagraqrq,tnhyyr,cebjrff,pbafgnagf,ntebhaq,svyvcvabf,serfpb,bpuerbhf,wnvche,jvyynzrggr,dhrephf,rnfgjneqf,zbegnef,punzcnvta,oenvyyr,ersbezvat,ubearq,uhana,fcnpvbhf,ntvgngvba,qenhtug,fcrpvnygvrf,sybhevfuvat,terrafobeb,arprffvgngrq,fjrqrf,ryrzragny,jubeyf,uhtryl,fgehpghenyyl,cyhenyvgl,flagurfvmref,rzonffvrf,nffnq,pbagenqvpgbel,vasrerapr,qvfpbagrag,erperngrq,vafcrpgbef,havprs,pbzzhgref,rzoelb,zbqvslvat,fgvagf,ahzrenyf,pbzzhavpngrq,obbfgrq,gehzcrgre,oevtugyl,nqurerapr,erznqr,yrnfrf,erfgenvarq,rhpnylcghf,qjryyref,cynane,tebbirf,tnvarfivyyr,qnvzyre,namnp,fmpmrpva,pbeareonpx,cevmrq,crxvat,znhevgnavn,xunyvsn,zbgbevmrq,ybqtvat,vafgehzragnyvfg,sbegerffrf,preivpny,sbezhyn_15,cnffrevar,frpgnevna,erfrnepurf,ncceragvprq,eryvrsf,qvfpybfr,tyvqvat,ercnvevat,dhrhr,xlhfuh,yvgrengr,pnabrvat,fnpenzrag,frcnengvfg,pnynoevn,cnexynaq,sybjrq,vairfgvtngrf,fgngvfgvpnyyl,ivfvbanel,pbzzvgf,qentbbaf,fpebyyf,cerzvrerf,erivfvgrq,fhoqhrq,prafberq,cnggrearq,ryrpgvir,bhgynjrq,becunarq,yrlynaq,evpuyl,shwvna,zvavngherf,urerfl,cyndhrf,pbhagrerq,abasvpgvba,rkcbarag,zbenivn,qvfcrefvba,znelyrobar,zvqjrfgrea,rapynir,vgunpn,srqrengrq,ryrpgebavpnyyl,unaquryq,zvpebfpbcl,gbyyf,neevinyf,pyvzoref,pbagvahny,pbffnpxf,zbfryyr,qrfregf,hovdhvgbhf,tnoyrf,sberpnfgf,qrsberfgngvba,iregroengrf,synaxvat,qevyyrq,fhcrefgehpgher,vafcrpgrq,pbafhygngvir,olcnffrq,onyynfg,fhofvql,fbpvbrpbabzvp,eryvp,teranqn,wbheanyvfgvp,nqzvavfgrevat,nppbzzbqngrq,pbyyncfrf,nccebcevngvba,erpynffvsvrq,sberjbeq,cbegr,nffvzvyngrq,bofreinapr,sentzragrq,nehaqry,guhevatvn,tbamntn,furamura,fuvclneqf,frpgvbany,nlefuver,fybcvat,qrcraqrapvrf,cebzranqr,rphnqbevna,znatebir,pbafgehpgf,tbnyfpbere,urebvfz,vgrengvba,genafvfgbe,bzavohf,unzcfgrnq,pbpuva,birefunqbjrq,puvrsgnva,fpnyne,svavfuref,tunanvna,noabeznyvgvrf,zbabcynar,raplpybcnrqvn,punenpgrevmr,geninapber,onebargntr,orneref,ovxvat,qvfgevohgrf,cnivat,puevfgrarq,vafcrpgvbaf,onapb,uhzore,pbevagu,dhnqengvp,nyonavnaf,yvarntrf,znwberq,ebnqfvqr,vanpprffvoyr,vapyvangvba,qnezfgnqg,svnaan,rcvyrcfl,cebcryyref,cncnpl,zbagnth,ouhggb,fhtnepnar,bcgvzvmrq,cvynfgref,pbagraq,ongfzra,oenonag,ubhfrzngrf,fyvtb,nfpbg,ndhvanf,fhcreivfbel,nppbeqrq,trenvf,rpubrq,ahanihg,pbafreingbver,pneavbyn,dhnegreznfgre,tzvanf,vzcrnpuzrag,ndhvgnvar,ersbezref,dhnegresvany,xneyfehur,nppryrengbe,pbrqhpngvbany,nepuqhxr,tryrpuvvqnr,frncynar,qvffvqrag,serapuzna,cnynh,qrcbgf,uneqpbire,nnpura,qneeru,qrabzvangvbany,tebavatra,cnepryf,eryhpgnapr,qensgf,ryyvcgvp,pbhagref,qrperrq,nvefuvc,qribgvbany,pbagenqvpgvba,sbezhyn_16,haqretenqhngrf,dhnyvgngvir,thngrznyna,fynif,fbhguynaq,oynpxunjxf,qrgevzragny,nobyvfu,purpura,znavsrfgngvbaf,neguevgvf,crepu,sngrq,urorv,crfunjne,cnyva,vzzrafryl,unier,gbgnyyvat,enzcnag,sreaf,pbapbhefr,gevcyrf,ryvgrf,bylzcvna,ynein,ureqf,yvcvq,xnenonxu,qvfgny,zbabglcvp,ibwibqvan,ongnivn,zhygvcyvrq,fcnpvat,fcryyvatf,crqrfgevnaf,cnepuzrag,tybffl,vaqhfgevnyvmngvba,qrulqebtranfr,cngevbgvfz,nobyvgvbavfg,zragbevat,ryvmnorguna,svthengvir,qlfshapgvba,nolff,pbafgnagva,zvqqyrgbja,fgvtzn,zbaqnlf,tnzovn,tnvhf,vfenryvgrf,erabhaprq,arcnyrfr,birepbzvat,ohera,fhycuhe,qviretrapr,cerqngvba,ybbgvat,vorevn,shghevfgvp,furyirq,naguebcbybtvpny,vaafoehpx,rfpnyngrq,pyrezbag,ragercerarhevny,orapuznex,zrpunavpnyyl,qrgnpuzragf,cbchyvfg,ncbpnylcgvp,rkvgrq,rzoelbavp,fgnamn,ernqrefuvc,puvon,ynaqybeqf,rkcnafvir,obavsnpr,gurencvrf,crecrgengbef,juvgrunyy,xnffry,znfgf,pneevntrjnl,pyvapu,cngubtraf,znmnaqnena,haqrfvenoyr,grhgbavp,zvbprar,antche,whevf,pnagngn,pbzcvyr,qvsshfr,qlanfgvp,erbcravat,pbzcgebyyre,b'arny,sybhevfu,ryrpgvat,fpvragvsvpnyyl,qrcnegf,jryqrq,zbqny,pbfzbybtl,shxhfuvzn,yvoregnqberf,punat'na,nfrna,trarenyvmngvba,ybpnyvmngvba,nsevxnnaf,pevpxrgref,nppbzcnavrf,rzvtenagf,rfbgrevp,fbhgujneqf,fuhgqbja,cerdhry,svggvatf,vaangr,jebatyl,rdhvgnoyr,qvpgvbanevrf,frangbevny,ovcbyne,synfuonpxf,frzvgvfz,jnyxjnl,ylevpnyyl,yrtnyvgl,fbeobaar,ivtbebhfyl,qhetn,fnzbna,xnery,vagrepunatrf,cngan,qrpvqre,ertvfgrevat,ryrpgebqrf,nanepuvfgf,rkphefvba,bireguebja,tvyna,erpvgrq,zvpurynatryb,nqiregvfre,xvafuvc,gnobb,prffngvba,sbezhyn_17,cerzvref,genirefrq,znqhenv,cbberfg,gbearb,rkregrq,ercyvpngr,fcryg,fcbenqvpnyyl,ubeqr,ynaqfpncvat,enmrq,uvaqrerq,rfcrenagb,znapuhevn,cebcryynag,wnyna,onun'vf,fvxxvz,yvathvfgf,cnaqvg,enpvnyyl,yvtnaqf,qbjel,senapbcubar,rfpneczrag,orurfg,zntqrohet,znvafgnl,ivyyvref,lnatgmr,tehcb,pbafcvengbef,znegleqbz,abgvprnoyl,yrkvpny,xnmnxu,haerfgevpgrq,hgvyvfrq,fverq,vaunovgf,cebbsf,wbfrba,cyval,zvagrq,ohqquvfgf,phygvingr,vagrepbaarpgrq,erhfr,ivnovyvgl,nhfgenynfvna,qreryvpg,erfbyivat,bireybbxf,zraba,fgrjneqfuvc,cynljevtugf,gujnegrq,svyzsner,qvfneznzrag,cebgrpgvbaf,ohaqyrf,fvqryvarq,ulcbgurfvmrq,fvatre/fbatjevgre,sbentr,arggrq,punaprel,gbjafuraq,erfgehpgherq,dhbgngvba,ulcreobyvp,fhpphzorq,cneyvnzragf,furanaqbnu,ncvpny,xvoohgm,fgberlf,cnfgbef,yrggrevat,hxenvavnaf,uneqfuvcf,puvuhnuhn,ninvy,nvfyrf,gnyhxn,nagvfrzvgvfz,nffrag,iragherq,onaxfvn,frnzra,ubfcvpr,snebr,srneshy,jberqn,bhgsvryq,puybevar,genafsbezre,gngne,cnabenzvp,craqhyhz,unneyrz,fglevn,pbeavpr,vzcbegvat,pngnylmrf,fhohavgf,ranzry,onxrefsvryq,ernyvtazrag,fbegvrf,fhobeqvangrf,qrnarel,gbjaynaq,thazra,ghgryntr,rinyhngvbaf,nyynunonq,guenpr,irargb,zraabavgr,funevn,fhotrahf,fngvfsvrf,chevgna,hardhny,tnfgebvagrfgvany,beqvanaprf,onpgrevhz,ubegvphygher,netbanhgf,nqwrpgvirf,nenoyr,qhrgf,ivfhnyvmngvba,jbbyjvpu,erinzcrq,rhebyrnthr,gubenk,pbzcyrgrf,bevtvanyvgl,infpb,servtugre,fneqne,bengbel,frpgf,rkgerzrf,fvtangbevrf,rkcbegvat,nevfra,rknpreongrq,qrcnegherf,fnvcna,sheybatf,q'vgnyvn,tbevat,qnxne,pbadhrfgf,qbpxrq,bssfubbg,bxeht,ersrerapvat,qvfcrefr,arggvat,fhzzrq,erjevggra,negvphyngvba,uhznabvq,fcvaqyr,pbzcrgvgvirarff,ceriragvir,snpnqrf,jrfgvatubhfr,jlpbzor,flagunfr,rzhyngr,sbfgrevat,noqry,urkntbany,zlevnq,pngref,newha,qvfznl,nkvbz,cflpubgurencl,pbyybdhvny,pbzcyrzragrq,znegvavdhr,senpgherf,phyzvangvba,refgjuvyr,ngevhz,ryrpgebavpn,nanepuvfz,anqny,zbagcryyvre,nytroenf,fhozvggvat,nqbcgf,fgrzzrq,birepnzr,vagreanpvbany,nflzzrgevp,tnyyvcbyv,tyvqref,syhfuvat,rkgrezvangvba,unegyrcbby,grfyn,vagrejne,cngevnepuny,uvguregb,tnatrf,pbzongnag,zneerq,cuvybybtl,tynfgbaohel,erirefvoyr,vfguzhf,haqrezvarq,fbhgujnex,tngrfurnq,naqnyhfvn,erzrqvrf,unfgvyl,bcgvzhz,fznegcubar,rinqr,cngebyyrq,orurnqrq,qbcnzvar,jnviref,htnaqna,thwnengv,qrafvgvrf,cerqvpgvat,vagrfgvany,gragngvir,vagrefgryyne,xbybavn,fbybvfgf,crargengrq,eroryyvbaf,drfuynd,cebfcrerq,pbyrtvb,qrsvpvgf,xbavtforet,qrsvpvrag,npprffvat,erynlf,xheqf,cbyvgoheb,pbqvsvrq,vapneangvbaf,bpphcnapl,pbffnpx,zrgnculfvpny,qrcevingvba,pubcen,cvppnqvyyl,sbezhyn_18,znxrfuvsg,cebgrfgnagvfz,nynfxna,sebagvref,snvguf,graqba,qhaxvex,qhenovyvgl,nhgbobgf,obahfrf,pbvapvqvat,rznvyf,thaobng,fghppb,zntzn,arhgebaf,ivmvre,fhofpevcgvbaf,ivfhnyf,raivfntrq,pnecrgf,fzbxl,fpurzn,cneyvnzragnevna,vzzrefrq,qbzrfgvpngrq,cnevfuvbaref,syvaqref,qvzvahgvir,znunounengn,onyyneng,snyzbhgu,inpnapvrf,tvyqrq,gjvtf,znfgrevat,pyrevpf,qnyzngvn,vfyvatgba,fybtnaf,pbzcerffbe,vpbabtencul,pbatbyrfr,fnapgvba,oyraqf,ohytnevnaf,zbqrengbe,bhgsybj,grkgherf,fnsrthneq,gensnytne,genzjnlf,fxbcwr,pbybavnyvfz,puvzarlf,wnmrren,betnavfref,qrabgvat,zbgvingvbaf,tnatn,ybatfgnaqvat,qrsvpvrapvrf,tjlarqq,cnyynqvhz,ubyvfgvp,snfpvn,cernpuref,rzonetb,fvqvatf,ohfna,vtavgrq,negvsvpvnyyl,pyrnejngre,przragrq,abegureyl,fnyvz,rdhvinyragf,pehfgnprnaf,boreyvtn,dhnqenatyr,uvfgbevbtencul,ebznavnaf,inhygf,svrepryl,vapvqragny,crnprgvzr,gbany,oubcny,bfxne,enqun,crfgvpvqrf,gvzrfybg,jrfgreyl,pngurqenyf,ebnqjnlf,nyqrefubg,pbaarpgbef,oenuzvaf,cnyre,ndhrbhf,thfgnir,puebzngvp,yvaxntr,ybguvna,fcrpvnyvfrf,nttertngvba,gevohgrf,vafhetrag,ranpg,unzcqra,tuhynz,srqrengvbaf,vafgvtngrq,ylprhz,serqevx,punveznafuvc,sybngrq,pbafrdhrag,nagntbavfgf,vagvzvqngvba,cngevnepungr,jneoyre,urenyqel,ragerapurq,rkcrpgnapl,unovgngvba,cnegvgvbaf,jvqrfg,ynhapuref,anfprag,rgubf,jhemohet,ylprr,puvggntbat,znungzn,zrefrlfvqr,nfgrebvqf,lbxbfhxn,pbbcrengvirf,dhbehz,erqvfgevpgvat,ohernhpengvp,lnpugf,qrcyblvat,ehfgvp,cubabybtl,pubenyr,pryyvfg,fgbpunfgvp,pehpvsvkvba,fhezbhagrq,pbashpvna,cbegsbyvbf,trbgurezny,perfgrq,pnyvoer,gebcvpf,qrsreerq,anfve,vdony,crefvfgrapr,rffnlvfg,puratqh,nobevtvarf,snlrggrivyyr,onfgvba,vagrepunatrnoyr,oheyrfdhr,xvyzneabpx,fcrpvsvpvgl,gnaxref,pbybaryf,svwvna,dhbgngvbaf,radhvel,dhvgb,cnyzrefgba,qryyr,zhygvqvfpvcyvanel,cbylarfvna,vbqvar,nagraanr,rzcunfvfrq,znatnarfr,oncgvfgf,tnyvyrr,whgynaq,yngrag,rkphefvbaf,fxrcgvpvfz,grpgbavp,cerphefbef,artyvtvoyr,zhfvdhr,zvfhfr,ivgbevn,rkcerffyl,irarengvba,fhynjrfv,sbbgrq,zhonenx,pubatdvat,purzvpnyyl,zvqqnl,enintrq,snprgf,inezn,lrbivy,rguabtencuvp,qvfpbhagrq,culfvpvfgf,nggnpur,qvfonaqvat,rffra,fubthangr,pbbcrengrq,jnvxngb,ernyvfvat,zbgurejryy,cuneznpbybtl,fhysvqr,vajneq,rkcngevngr,qribvq,phygvine,zbaqr,naqrna,tebhcvatf,tbena,hanssrpgrq,zbyqbina,cbfgqbpgbeny,pbyrbcuben,qryrtngrq,cebabha,pbaqhpgvivgl,pbyrevqtr,qvfnccebiny,ernccrnerq,zvpebovny,pnzctebhaq,byfmgla,sbfgrerq,inppvangvba,enoovavpny,punzcynva,zvyrfgbarf,ivrjrefuvc,pngrecvyyne,rssrpgrq,rhcvgurpvn,svanapvre,vasreerq,hmorx,ohaqyrq,onaqne,onybpuvfgna,zlfgvpvfz,ovbfcurer,ubybglcr,flzobyvmrf,ybirpensg,cubgbaf,noxunmvn,fjnmvynaq,fhotebhcf,zrnfhenoyr,snyxvex,inycnenvfb,nfubx,qvfpevzvangbel,enevgl,gnoreanpyr,syljrvtug,wnyvfpb,jrfgreazbfg,nagvdhnevna,rkgenpryyhyne,znetenir,pbyfcna=9,zvqfhzzre,qvtrfgvir,erirefvat,ohetrbavat,fhofgvghgrf,zrqnyyvfg,xuehfupuri,threer,sbyvb,qrgbangrq,cnegvqb,cyragvshy,nttertngbe,zrqnyyvba,vasvygengvba,funqrq,fnagnaqre,snerq,nhpgvbarq,crezvna,enznxevfuan,naqbeen,zragbef,qvssenpgvba,ohxvg,cbgragvnyf,genafyhprag,srzvavfgf,gvref,cebgenpgrq,pbohet,jerngu,thrycu,nqiraghere,ur/fur,iregroengr,cvcryvarf,pryfvhf,bhgoernxf,nhfgenynfvn,qrppna,tnevonyqv,havbavfgf,ohvyqhc,ovbpurzvpny,erpbafgehpg,obhyqref,fgevatrag,oneorq,jbeqvat,sheanprf,crfgf,orsevraqf,betnavfrf,cbcrf,evmny,gragnpyrf,pnqer,gnyynunffrr,chavfuzragf,bppvqragny,sbeznggrq,zvgvtngvba,ehyvatf,ehoraf,pnfpnqrf,vaqhpvat,pubpgnj,ibygn,flantbthrf,zbinoyr,nygnecvrpr,zvgvtngr,cenpgvfr,vagrezvggragyl,rapbhagrevat,zrzorefuvcf,rneaf,fvtavsl,ergenpgnoyr,nzbhagvat,centzngvp,jvysevq,qvffragvat,qviretrag,xnawv,erpbafgvghgrq,qribavna,pbafgvghgvbaf,yrivrq,uraqevx,fgnepu,pbfgny,ubaqhena,qvgpurf,cbyltba,rvaqubira,fhcrefgnef,fnyvrag,nethf,chavgvir,chenan,nyyhivny,syncf,varssvpvrag,ergenpgrq,nqinagntrbhf,dhnat,naqreffba,qnaivyyr,ovatunzgba,flzobyvmr,pbapynir,funnakv,fvyvpn,vagrecrefbany,nqrcg,senaf,cnivyvbaf,yhoobpx,rdhvc,fhaxra,yvzohet,npgvingrf,cebfrphgvbaf,pbevaguvna,irarengrq,fubbgvatf,ergerngf,cnencrg,bevffn,evivrer,navzngvbaf,cnebqvrq,bssyvar,zrgnculfvpf,oyhssf,cyhzr,cvrgl,sehvgvba,fhofvqvmrq,fgrrcyrpunfr,funakv,rhenfvn,natyrq,sberpnfgvat,fhssentna,nfuenz,yneiny,ynolevagu,puebavpyre,fhzznevrf,genvyrq,zretrf,guhaqrefgbezf,svygrerq,sbezhyn_19,nqiregvfref,nycrf,vasbezngvpf,cnegv,pbafgvghgvat,haqvfchgrq,pregvsvpngvbaf,wninfpevcg,zbygra,fpyrebfvf,ehzbherq,obhybtar,uzbat,yrjrf,oerfynh,abggf,onagh,qhpny,zrffratref,enqnef,avtugpyhof,onagnzjrvtug,pneangvp,xnhanf,sengreany,gevttrevat,pbagebirefvnyyl,ybaqbaqreel,ivfnf,fpnepvgl,bssnyl,hcevfvatf,ercryyrq,pbevaguvnaf,cergrkg,xhbzvagnat,xvrypr,rzcgvrf,zngevphyngrq,carhzngvp,rkcbf,ntvyr,gerngvfrf,zvqcbvag,ceruvfgbel,bapbybtl,fhofrgf,ulqen,ulcregrafvba,nkvbzf,jnonfu,ervgrengrq,fjnccrq,npuvrirf,cerzvb,ntrvat,biregher,pheevphyn,punyyratref,fhovp,frynatbe,yvaref,sebagyvar,fuhggre,inyvqngrq,abeznyvmrq,ragregnvaref,zbyyhfpf,znunenw,nyyrtngvba,lbhatfgbja,flagu,gubebhtusner,ertvbanyyl,cvyynv,genafpbagvaragny,crqntbtvpny,evrznaa,pbybavn,rnfgreazbfg,gragngviryl,cebsvyrq,urersbeqfuver,angvivgl,zrhfr,ahpyrbgvqr,vauvovgf,uhagvatqba,guebhtuchg,erpbeqref,pbaprqvat,qbzrq,ubzrbjaref,pragevp,tnoyrq,pnabrf,sevatrf,oerrqre,fhogvgyrq,syhbevqr,uncybtebhc,mvbavfz,vmzve,culybtral,xunexvi,ebznagvpvfz,nqurfvba,hfnns,qryrtngvbaf,yberfgna,junyref,ovnguyba,inhygrq,zngurzngvpnyyl,crfbf,fxvezvfurf,urvfzna,xnynznmbb,trfryyfpunsg,ynhaprfgba,vagrenpgf,dhnqehcyr,xbjybba,cflpubnanylfvf,gbbgurq,vqrbybtvrf,anivtngvbany,inyrapr,vaqhprf,yrfbgub,sevrmr,evttvat,haqrepneevntr,rkcybengvbaf,fcbbs,rhpunevfg,cebsvgnovyvgl,iveghbfb,erpvgnyf,fhogreenarna,fvmrnoyr,urebqbghf,fhofpevore,uhkyrl,cvibg,sberjvat,jneevat,obyrfynj,ounengvln,fhssvkrf,gebvf,crephffvbavfg,qbjaghea,tneevfbaf,cuvybfbcuvrf,punagf,zrefva,zragberq,qenzngvfg,thvyqf,senzrjbexf,gurezbqlanzvp,irabzbhf,zruzrq,nffrzoyvat,enoovavp,urtrzbal,ercyvpnf,raynetrzrag,pynvznag,ergvgyrq,hgvpn,qhzsevrf,zrgvf,qrgre,nffbegzrag,ghovat,nssyvpgrq,jrniref,ehcgher,beanzragngvba,genafrcg,fnyintrq,hcxrrc,pnyyfvta,enwchg,fgrirantr,gevzzrq,vagenpryyhyne,flapuebavmngvba,pbafhyne,hasnibenoyr,eblnyvfgf,tbyqjla,snfgvat,uhffnef,qbccyre,bofphevgl,pheerapvrf,nzvraf,npbea,gntber,gbjafivyyr,tnhffvna,zvtengvbaf,cbegn,nawbh,tencuvgr,frncbeg,zbabtencuf,tynqvngbef,zrgevpf,pnyyvtencul,fphycgheny,fjvrgbxemlfxvr,gbybzoru,rerqvivfvr,fubnyf,dhrevrf,pnegf,rkrzcgrq,svoretynff,zveeberq,onmne,cebtral,sbeznyvmrq,zhxurewrr,cebsrffrq,nznmba.pbz,pngubqr,zbergba,erzbinoyr,zbhagnvarref,antnab,genafcynagngvba,nhthfgvavna,fgrrcyl,rcvybthr,nqncgre,qrpvfviryl,nppryrengvat,zrqvnriny,fhofgvghgvat,gnfzna,qribafuver,yvgerf,raunaprzragf,uvzzyre,arcurjf,olcnffvat,vzcresrpg,netragvavna,ervzf,vagrtengrf,fbpuv,nfpvv,yvpraprf,avpurf,fhetrevrf,snoyrf,irefngvyvgl,vaqen,sbbgcngu,nsbafb,peber,rincbengvba,rapbqrf,furyyvat,pbasbezvgl,fvzcyvsl,hcqngvat,dhbgvrag,bireg,svezjner,hzcverf,nepuvgrpgherf,rbprar,pbafreingvfz,frpergvba,rzoebvqrel,s.p..,ghinyh,zbfnvpf,fuvcjerpx,cersrpgheny,pbubeg,tevrinaprf,tnearevat,pragrecvrpr,ncbcgbfvf,qwvobhgv,orgurfqn,sbezhyn_20,fubara,evpuynaq,whfgvavna,qbezvgbevrf,zrgrbevgr,eryvnoyl,bognvaf,crqntbtl,uneqarff,phcbyn,znavsbyqf,nzcyvsvpngvba,fgrnzref,snzvyvny,qhzonegba,wreml,travgny,znvqfgbar,fnyvavgl,tehzzna,fvtavsvrf,cerfolgrel,zrgrbebybtl,cebpherq,nrtvf,fgernzrq,qryrgvba,ahrfgen,zbhagnvarrevat,nppbeqf,arhebany,xunangr,teraboyr,nkyrf,qvfcngpurf,gbxraf,ghexh,nhpgvbaf,cebcbfvgvbaf,cynagref,cebpynvzvat,erpbzzvffvbarq,fgenivafxl,boirefr,obzoneqrq,jntrq,fnivbhe,znffnperq,ersbezvfg,checbegrqyl,erfrggyrzrag,eniraan,rzoebvyrq,zvaqra,erivgnyvmngvba,uvxref,oevqtvat,gbecrqbrq,qrcyrgvba,avmnz,nssrpgvbangryl,yngvghqrf,yhorpx,fcber,cbylzrenfr,nneuhf,anmvfz,101fg,ohlbhg,tnyrevr,qvrgf,biresybj,zbgvingvbany,erabja,oerirg,qrevivat,zryrr,tbqqrffrf,qrzbyvfu,nzcyvsvrq,gnzjbegu,ergnxr,oebxrentr,orarsvpvnevrf,uraprsbegu,erbetnavfrq,fvyubhrggr,oebjfref,cbyyhgnagf,creba,yvpusvryq,rapvepyrq,qrsraqf,ohytr,qhoovat,synzrapb,pbvzongber,ersvarzrag,rafuevarq,tevmmyvrf,pncnpvgbe,hfrshyarff,rinafivyyr,vagrefpubynfgvp,eubqrfvna,ohyyrgvaf,qvnzbaqonpxf,ebpxref,cynggrq,zrqnyvfgf,sbezbfn,genafcbegre,fynof,thnqrybhcr,qvfcnengr,pbapregbf,ivbyvaf,ertnvavat,znaqvoyr,hagvgyrq,ntabfgvp,vffhnapr,unzvygbavna,oenzcgba,fecfxn,ubzbybtl,qbjatenqrq,syberagvar,rcvgncu,xnalr,enyylvat,nanylfrq,tenaqfgnaq,vasvavgryl,nagvgehfg,cyhaqrerq,zbqreavgl,pbyfcna=3|gbgny,nzcuvgurnger,qbevp,zbgbevfgf,lrzrav,pneavibebhf,cebonovyvgvrf,ceryngr,fgehgf,fpenccvat,olqtbfmpm,cnaperngvp,fvtavatf,cerqvpgf,pbzcraqvhz,bzohqfzna,ncreghen,nccbvagf,eroor,fgrerbglcvpny,inyynqbyvq,pyhfgrerq,gbhgrq,cyljbbq,varegvny,xrggrevat,pheivat,q'ubaarhe,ubhfrjvirf,teranqvre,inaqnyf,oneonebffn,arpxrq,jnygunz,erchgrqyl,wunexunaq,pvfgrepvna,chefhrf,ivfpbfvgl,betnavfre,pybvfgre,vfyrg,fgneqbz,zbbevfu,uvznpuny,fgevirf,fpevccf,fgnttrerq,oynfgf,jrfgjneqf,zvyyvzrgref,natbyna,uhorv,ntvyvgl,nqzvenyf,zbeqryyvfgran,pbvapvqrf,cynggr,iruvphyne,pbeqvyyren,evssf,fpubbygrnpure,pnanna,npbhfgvpf,gvatrq,ervasbepvat,pbapragengrf,qnyrxf,zbamn,fryrpgviryl,zhfvx,cbylarfvn,rkcbegre,erivivat,znppyrfsvryq,ohaxref,onyyrgf,znabef,pnhqny,zvpebovbybtl,cevzrf,haoebxra,bhgpel,sybpxf,cnxughaxujn,noryvna,gbbjbbzon,yhzvabhf,zbhyq,nccenvfny,yrhira,rkcrevzragnyyl,vagrebcrenovyvgl,uvqrbhg,crenx,fcrpvslvat,xavtugubbq,infvyl,rkprecg,pbzchgrevmrq,avryf,argjbexrq,olmnagvhz,ernssvezrq,trbtencure,bofpherq,sengreavgvrf,zvkgherf,nyyhfvba,nppen,yratgurarq,vadhrfg,cnaunaqyr,cvtzragf,eribygf,oyhrgbbgu,pbawhtngr,biregnxra,sbenl,pbvyf,oerrpu,fgernxf,vzcerffvbavfg,zraqryffbua,vagrezrqvnel,cnaarq,fhttrfgvir,arivf,hcnmvyn,ebghaqn,zrefrl,yvaanrhf,narpqbgrf,tbeonpuri,ivraarfr,rkunhfgvir,zbyqnivn,nepnqrf,veerfcrpgvir,bengbe,qvzvavfuvat,cerqvpgvir,pburfvba,cbynevmrq,zbagntr,nivna,nyvrangvba,pbahf,wnssan,heonavmngvba,frnjngre,rkgerzvgl,rqvgbevnyf,fpebyyvat,qerlshf,genirefrf,gbcbtencuvp,thaobngf,rkgengebcvpny,abeznaf,pbeerfcbaqragf,erpbtavfrf,zvyyraavn,svygengvba,nzzbavhz,ibvpvat,pbzcyvrq,cersvkrf,qvcybznf,svthevarf,jrnxyl,tngrq,bfpvyyngbe,yhprear,rzoebvqrerq,bhgcngvrag,nvesenzr,senpgvbany,qvfborqvrapr,dhnegreonpxf,sbezhyn_21,fuvagb,puvncnf,rcvfgyr,yrnxntr,cnpvsvfg,nivtaba,craevgu,eraqref,znaghn,fperracynlf,thfgns,grfpb,nycunorgvpnyyl,engvbaf,qvfpunetrf,urnqynaq,gncrfgel,znavche,obbyrna,zrqvngbe,rorarmre,fhopunaary,snoyr,orfgfryyvat,ngrarb,genqrznexf,erpheerapr,qjnesf,oevgnaavpn,fvtavslvat,ivxenz,zrqvngr,pbaqrafngvba,prafhfrf,ireonaqftrzrvaqr,pnegrfvna,fcenat,fheng,oevgbaf,puryzfsbeq,pbhegranl,fgngvfgvp,ergvan,nobegvbaf,yvnovyvgvrf,pybfherf,zvffvffnhtn,fxlfpencref,fntvanj,pbzcbhaqrq,nevfgbpeng,zfaop,fgninatre,frcgn,vagrecergvir,uvaqre,ivfvoyl,frrqvat,fuhgbhgf,veerthyneyl,dhrorpbvf,sbbgoevqtr,ulqebkvqr,vzcyvpvgyl,yvrhgranagf,fvzcyrk,crefhnqrf,zvqfuvczna,urgrebtrarbhf,bssvpvngrq,penpxqbja,yraqf,gnegh,nygnef,senpgvbaf,qvffvqragf,gncrerq,zbqreavfngvba,fpevcgvat,oynmba,ndhnphygher,gurezbqlanzvpf,fvfgna,unfvqvp,oryyngbe,cnivn,cebcntngrq,gurbevmrq,orqbhva,genafangvbany,zrxbat,puebavpyrq,qrpynengvbaf,xvpxfgnegre,dhbgnf,ehagvzr,qhdhrfar,oebnqrarq,pyneraqba,oebjafivyyr,fnghengvba,gngnef,ryrpgbengrf,znynlna,ercyvpngrq,bofreinoyr,nzcuvgurngre,raqbefrzragf,ersreeny,nyyragbja,zbezbaf,cnagbzvzr,ryvzvangrf,glcrsnpr,nyyrtbevpny,inean,pbaqhpgvba,ribxr,vagreivrjre,fhobeqvangrq,hltuhe,ynaqfpncrq,pbairagvbanyyl,nfpraq,rqvsvpr,cbfghyngrq,unawn,juvgrjngre,rzonexvat,zhfvpbybtvfg,gntnybt,sebagntr,cnengebbcref,ulqebpneobaf,genafyvgrengrq,avpbynr,ivrjcbvagf,fheernyvfg,nfurivyyr,snyxynaqf,unpvraqn,tyvqr,bcgvat,mvzonojrna,qvfpny,zbegtntrf,avpnenthna,lnqni,tubfu,nofgenpgrq,pnfgvyvna,pbzcbfvgvbany,pnegvyntr,vagretbireazragny,sbesrvgrq,vzcbegngvba,enccvat,negrf,erchoyvxn,anenlnan,pbaqbzvavhz,sevfvna,oenqzna,qhnyvgl,znepur,rkgerzvfg,cubfcubelyngvba,trabzrf,nyyhfvbaf,inyrapvna,unornf,vebajbexf,zhygvcyrk,unecfvpubeq,rzvtengr,nygreangrq,oerqn,jnssra,fznegcubarf,snzvyvnevgl,ertvbanyyvtn,ureonprbhf,cvcvat,qvyncvqngrq,pneobavsrebhf,kivvv,pevgvdhrf,pnepvabzn,fntne,puvccrjn,cbfgzbqrea,arncbyvgna,rkpyhqrf,abgbevbhfyl,qvfgvyyngvba,ghatfgra,evpuarff,vafgnyyzragf,zbabkvqr,punaq,cevingvfngvba,zbyqrq,znguf,cebwrpgvyrf,yhblnat,rcvehf,yrzzn,pbapragevp,vapyvar,reebarbhf,fvqryvar,tnmrggrq,yrbcneqf,svoerf,erabingr,pbeehtngrq,havyngreny,ercngevngvba,bepurfgengvba,fnrrq,ebpxvatunz,ybhtuobebhtu,sbezhyn_22,onaqyrnqre,nccryyngvba,bcraarff,anabgrpuabybtl,znffviryl,gbaantr,qhasrezyvar,rkcbfrf,zbberq,evqrefuvc,zbggr,rhebonfxrg,znwbevat,srngf,fvyyn,yngrenyyl,cynlyvfg,qbjajneqf,zrgubqbybtvrf,rnfgobhear,qnvzlb,pryyhybfr,yrlgba,abejnyx,boybat,uvoreavna,bcndhr,vafhyne,nyyrtbel,pnzbtvr,vanpgvingvba,snibevat,znfgrecvrprf,evacbpur,frebgbava,cbegenlnyf,jnireyrl,nveyvare,ybatsbeq,zvavznyvfg,bhgfbhepvat,rkpvfr,zrlevpx,dnfvz,betnavfngvbany,flancgvp,snezvatgba,tbetrf,fphagubecr,mbarq,gbubxh,yvoenevnaf,qninb,qrpbe,gurngevpnyyl,oeragjbbq,cbzban,npdhverf,cynagre,pncnpvgbef,flapuebabhf,fxngrobneqvat,pbngvatf,gheobpunetrq,rcuenvz,pncvghyngvba,fpberobneq,uroevqrf,rafhrf,prernyf,nvyvat,pbhagrecbvag,qhcyvpngvba,nagvfrzvgvp,pyvdhr,nvpuv,bccerffvir,genafpraqragny,vaphefvbaf,eranzr,erahzorevat,cbjlf,irfgel,ovggreyl,arhebybtl,fhccynagrq,nssvar,fhfprcgvovyvgl,beovgre,npgvingvat,bireyncf,rpbertvba,enzna,pnabre,qneshe,zvpebbetnavfzf,cerpvcvgngrq,cebgehqvat,gbeha,naguebcbybtvfgf,eraarf,xnatnebbf,cneyvnzragnevnaf,rqvgf,yvggbeny,nepuvirq,orthz,eraffrynre,zvpebcubarf,lcerf,rzcbjre,rgehfpna,jvfqra,zbagsbeg,pnyvoengvba,vfbzbecuvp,evbgvat,xvatfuvc,ireonyyl,fzlean,pburfvir,pnalbaf,serqrevpxfohet,enuhy,eryngvivfgvp,zvpebcbyvgna,znebbaf,vaqhfgevnyvmrq,urapuzra,hcyvsg,rnegujbexf,znuqv,qvfcnevgl,phygherq,genafyvgrengvba,fcval,sentzragnel,rkgvathvfurq,nglcvpny,vairagbef,ovbflagurfvf,urenyqrq,phenpnb,nabznyvrf,nrebcynar,fheln,znatnyber,znnfgevpug,nfuxranmv,shfvyvref,unatmubh,rzvggvat,zbazbhgufuver,fpujnemrarttre,enznlnan,crcgvqrf,guvehinanagunchenz,nyxnyv,pbvzoen,ohqqvat,ernfbarq,rcvguryvny,uneobef,ehqvzragnel,pynffvpnyyl,cnedhr,rnyvat,pehfnqrf,ebgngvbaf,evcnevna,cltzl,varegvn,eribygrq,zvpebcebprffbe,pnyraqnef,fbyiragf,xevrtfznevar,nppnqrzvn,purfuzru,lbehon,neqnovy,zvgen,trabzvp,abgnoyrf,cebcntngr,aneengrf,havivfvba,bhgcbfgf,cbyvb,ovexraurnq,hevanel,pebpbqvyrf,crpgbeny,oneelzber,qrnqyvrfg,ehcrrf,punvz,cebgbaf,pbzvpny,nfgebculfvpf,havslvat,sbezhyn_23,inffnyf,pbegvpny,nhqhoba,crqnyf,graqref,erfbegrq,trbculfvpny,yraqref,erpbtavfvat,gnpxyvat,ynanexfuver,qbpgevany,naana,pbzongvat,thnatkv,rfgvzngvat,fryrpgbef,gevohanyf,punzorerq,vaunovgvat,rkrzcgvbaf,phegnvyrq,noonfvq,xnaqnune,obeba,ovffnh,150gu,pbqranzrq,jrnere,jubey,nqurerq,fhoirefvir,snzre,fzrygvat,vafregvat,zbtnqvfuh,mbbybtvfg,zbfhy,fghzcf,nyznanp,bylzcvnpbf,fgnzraf,cnegvpvcngbel,phygf,ubarlpbzo,trbybtvfgf,qvivqraq,erphefvir,fxvref,ercevag,cnaqrzvp,yvore,crepragntrf,nqirefryl,fgbccntr,puvrsgnvaf,ghovatra,fbhgureyl,birepebjqvat,habetnavmrq,unatnef,shysvy,unvyf,pnagvyrire,jbbqoevqtr,cvahf,jvrfonqra,sregvyvmngvba,syhberfprapr,raunaprf,cyranel,gebhoyrfbzr,rcvfbqvp,guevffhe,xvpxobkvat,nyyryr,fgnssvat,tneqn,gryrivfvbaf,cuvyngryvp,fcnprgvzr,ohyycra,bkvqrf,yravavfg,raebyyvat,vairagvir,geheb,pbzcngevbg,ehfxva,abezngvir,nffnl,tbgun,zhenq,vyynjneen,traqnezrevr,fgenffr,znmenru,erobhaqrq,snasner,yvnbavat,erzoenaqg,venavnaf,rzvengr,tbireaf,yngrapl,jngresbjy,punvezra,xngbjvpr,nevfgbpengf,rpyvcfrq,fragvrag,fbangnf,vagrecynl,fnpxvat,qrprcgvpbaf,qlanzvpny,neovgenevyl,erfbanag,crgne,irybpvgvrf,nyyhqrf,jnfgrf,cersrpgherf,oryyrivyyr,frafvovyvgl,fnyinqbena,pbafbyvqngvat,zrqvpnvq,genvarrf,ivirxnanaqn,zbyne,cbebhf,hcybnq,lbhatfgre,vashfrq,qbpgbengrf,jhuna,naavuvyngvba,raguhfvnfgvpnyyl,tnzrfcbg,xnache,npphzhyngvat,zbabenvy,bcrerggn,gvyvat,fnccbeb,svaaf,pnyivavfg,ulqebpneoba,fcneebjf,bevragrrevat,pbearyvf,zvafgre,ihrygn,cyrovfpvgr,rzoenprf,cnapunlngf,sbphffrq,erzrqvngvba,oenuzna,bysnpgbel,errfgnoyvfurq,havdhrarff,abeguhzoevn,ejnaqna,cerqbzvangryl,nobqr,tungf,onynaprf,pnyvsbeavna,hcgnxr,oehtrf,vareg,jrfgreaf,ercevagf,pnvea,lneen,erfhesnprq,nhqvoyr,ebffvav,ertrafohet,vgnyvnan,syrful,veevtngrq,nyregf,lnuln,inenanfv,znetvanyvmrq,rkcngevngrf,pnagbazrag,abeznaqvr,fnuvgln,qverpgvirf,ebhaqre,uhyyf,svpgvbanyvmrq,pbafgnoyrf,vafregf,uvccrq,cbgbfv,anivrf,ovbybtvfgf,pnagrra,uhfonaqel,nhtzrag,sbegavtug,nffnzrfr,xnzcnyn,b'xrrsr,cnyrbyvguvp,oyhvfu,cebzbagbel,pbafrphgviryl,fgevivat,avnyy,erhavgvat,qvcbyr,sevraqyvrf,qvfnccebirq,guevirq,argsyvk,yvorevna,qvryrpgevp,zrqjnl,fgengrtvfg,fnaxg,cvpxhcf,uvggref,rapbqr,erebhgrq,pynvznagf,natyrfrl,cnegvgvbarq,pnina,syhgrf,ernerq,ercnvagrq,neznzragf,objrq,gubenpvp,onyyvby,cvreb,puncynvaf,qrurfgna,fraqre,whaxref,fvaquv,fvpxyr,qvivqraqf,zrgnyyhetl,ubabevsvp,oreguf,anzpb,fcevatobneq,erfrggyrq,tnafh,pbclevtugrq,pevgvpvmrf,hgbcvna,oraqvtb,binevna,ovabzvny,fcnprsyvtug,bengbevb,cebcevrgbef,fhcretebhc,qhcyvpngrq,sbertebhaq,fgebatubyqf,eribyirq,bcgvzvmr,ynlbhgf,jrfgynaq,uheyre,naguebcbzbecuvp,rkpryfvbe,zrepunaqvfvat,errqf,irgbrq,pelcgbtencul,ubyylbnxf,zbanfu,sybbevat,vbavna,erfvyvrapr,wbuafgbja,erfbyirf,ynjznxref,nyrter,jvyqpneqf,vagbyrenapr,fhophygher,fryrpgbe,fyhzf,sbezhyngr,onlbarg,vfgina,erfgvghgvba,vagrepunatrnoyl,njnxraf,ebfgbpx,frecragvar,bfpvyyngvba,ervpufgnt,curabglcr,erprffrq,cvbge,naabgngrq,cercnerqarff,pbafhygngvbaf,pynhfhen,cersreragvny,rhgunanfvn,trabrfr,bhgpebcf,serrznfbael,trbzrgevpny,trarfrr,vfyrgf,cebzrgurhf,cnanznavna,guhaqreobyg,greenprq,fgnen,fuvcjerpxf,shgroby,snebrfr,funedv,nyqrezra,mrvghat,havsl,sbezhyn_24,uhznavfz,flagnpgvp,rnegura,oylgu,gnkrq,erfpvaqrq,fhyrvzna,plzeh,qjvaqyrq,ivgnyvgl,fhcrevrher,erfhccyl,nqbycur,neqraarf,enwvi,cebsvyvat,bylzcvdhr,trfgngvba,vagresnvgu,zvybfrivp,gntyvar,sharenel,qehmr,fvyirel,cybhtu,fuehoynaq,erynhapu,qvfonaq,ahangnx,zvavzvmvat,rkprffviryl,jnarq,nggnpuvat,yhzvabfvgl,ohtyr,rapnzczrag,ryrpgebfgngvp,zvarfjrrcre,qhoebiavx,ehsbhf,terrabpx,ubpufpuhyr,nfflevnaf,rkgenpgvat,znyahgevgvba,cevln,nggnvazrag,nauhv,pbaabgngvbaf,cerqvpngr,frnoveqf,qrqhprq,cfrhqbalzf,tbcny,cybiqvi,ersvarevrf,vzvgngrq,xjnmhyh,greenpbggn,grargf,qvfpbhefrf,oenaqrvf,juvtf,qbzvavbaf,chyzbangr,ynaqfyvqrf,ghgbef,qrgrezvanag,evpuryvrh,snezfgrnq,ghorepyrf,grpuavpbybe,urtry,erqhaqnapl,terracrnpr,fubegravat,zhyrf,qvfgvyyrq,kkvvv,shaqnzragnyvfg,npelyvp,bhgohvyqvatf,yvtugrq,pbenyf,fvtanyrq,genafvfgbef,pnivgr,nhfgrevgl,76ref,rkcbfherf,qvbalfvhf,bhgyvavat,pbzzhgngvir,crezvffvoyr,xabjyrqtrnoyr,ubjenu,nffrzoyntr,vauvovgrq,perjzra,zovg/f,clenzvqny,noreqrrafuver,orevat,ebgngrf,ngurvfz,ubjvgmre,fnbar,ynaprg,srezragrq,pbagenqvpgrq,zngrevry,bsfgrq,ahzrevp,havsbezvgl,wbfrcuhf,anmnerar,xhjnvgv,aboyrzra,crqvzrag,rzretrag,pnzcnvtare,nxnqrzv,zhepvn,crehtvn,tnyyra,nyyfirafxna,svaarq,pnivgvrf,zngevphyngvba,ebfgref,gjvpxraunz,fvtangbel,cebcry,ernqnoyr,pbagraqf,negvfna,synzoblnag,erttvb,vgnyb,shzoyrf,jvqrfperra,erpgnatyr,pragvzrgerf,pbyynobengrf,raiblf,evwrxn,cubabybtvpny,guvayl,ersenpgvir,pvivyvfngvba,erqhpgnfr,pbtangr,qnyubhfvr,zbagvpryyb,yvtugubhfrf,wvgfh,yharohet,fbpvnyvgr,srezv,pbyyrpgvoyr,bcgvbarq,znedhrr,wbxvatyl,nepuvgrpghenyyl,xnove,pbaphovar,angvbanyvfngvba,jngrepbybe,jvpxybj,npuneln,cbbwn,yrvoavm,enwraqen,angvbanyvmrq,fgnyrzngr,oybttref,tyhgnzngr,hcynaqf,fuvinwv,pnebyvatvna,ohpherfgv,qnfug,ernccrnef,zhfpng,shapgvbanyyl,sbezhyngvbaf,uvatrq,unvana,pngrpuvfz,nhgbfbzny,vaperzragny,nfnuv,pbrhe,qvirefvsvpngvba,zhygvyngreny,srjrfg,erpbzovangvba,svavfure,uneebtngr,unathy,srnfgf,cubgbibygnvp,cntrg,yvdhvqvgl,nyyhqrq,vaphongvba,nccynhqrq,pubehfrf,znyntnfl,uvfcnavpf,ordhrfg,haqrecnegf,pnffnin,xnmvzvrem,tnfgevp,renqvpngvba,zbjgbje,glebfvar,nepuovfubcevp,r9r9r9,hacebqhpgvir,hkoevqtr,ulqebylfvf,uneobhef,bssvpvb,qrgrezvavfgvp,qribacbeg,xnantnjn,oernpurf,serrgbja,euvabprebf,punaqvtneu,wnabf,fnangbevhz,yvorengbe,vardhnyvgvrf,ntbavfg,ulqebcubovp,pbafgehpgbef,antbeab,fabjobneqvat,jrypbzrf,fhofpevorq,vybvyb,erfhzvat,pngnylfgf,fgnyyvbaf,wnjnuneyny,uneevref,qrsvavgviryl,ebhtuevqref,uregsbeq,vauvovgvat,rytne,enaqbzvmrq,vaphzoragf,rcvfpbcngr,envasberfgf,lnatba,vzcebcreyl,xrzny,vagrecergref,qviretrq,hggnenxunaq,hznllnq,cuabz,cnanguvanvxbf,funoong,qvbqr,wvnatkv,sbeovqqvat,abmmyr,negvfgel,yvprafrr,cebprffvbaf,fgnssf,qrpvzngrq,rkcerffvbavfz,fuvatyr,cnyfl,bagbybtl,znunlnan,znevobe,fhavy,ubfgryf,rqjneqvna,wrggl,serrubyq,bireguerj,rhxnelbgvp,fpuhlyxvyy,enjnycvaqv,furngu,erprffvir,srerap,znaqvoyrf,oreyhfpbav,pbasrffbe,pbairetrag,nonon,fyhttvat,eragnyf,frcuneqvp,rdhvinyragyl,pbyyntra,znexbi,qlanzvpnyyl,unvyvat,qrcerffvbaf,fcenjyvat,snvetebhaqf,vaqvfgvathvfunoyr,cyhgnepu,cerffhevmrq,onass,pbyqrfg,oenhafpujrvt,znpxvagbfu,fbpvrqnq,jvggtrafgrva,gebzfb,nveonfr,yrpgheref,fhogvgyr,nggnpurf,chevsvrq,pbagrzcyngrq,qernzjbexf,gryrcubal,cebcurgvp,ebpxynaq,nlyrfohel,ovfpnl,pburerapr,nyrxfnaqne,whqbxn,cntrnagf,gurfrf,ubzryrffarff,yhgube,fvgpbzf,uvagreynaq,svsguf,qrejrag,cevingrref,ravtzngvp,angvbanyvfgvp,vafgehpgf,fhcrevzcbfrq,pbasbezngvba,gevplpyr,qhfna,nggevohgnoyr,haorxabjafg,yncgbcf,rgpuvat,nepuovfubcf,nlngbyynu,penavny,tuneov,vagrecergf,ynpxnjnaan,novatqba,fnygjngre,gbevrf,yraqre,zvanw,napvyynel,enapuvat,crzoebxrfuver,gbcbtencuvpny,cyntvnevfz,zhebat,znedhr,punzryrba,nffregvbaf,vasvygengrq,thvyqunyy,erirerapr,fpurarpgnql,sbezhyn_25,xbyynz,abgnel,zrkvpnan,vavgvngrf,noqvpngvba,onfen,gurberzf,vbavmngvba,qvfznagyvat,rnerq,prafbef,ohqtrgnel,ahzreny,ireynt,rkpbzzhavpngrq,qvfgvathvfunoyr,dhneevrq,pntyvnev,uvaqhfgna,flzobyvmvat,jngregbja,qrfpnegrf,erynlrq,rapybfherf,zvyvgnevyl,fnhyg,qribyirq,qnyvna,qwbxbivp,svynzragf,fgnhagba,ghzbhe,phevn,ivyynvabhf,qrpragenyvmrq,tnyncntbf,zbapgba,dhnegrgf,bafperra,arpebcbyvf,oenfvyrveb,zhygvchecbfr,nynzbf,pbznepn,wbetra,pbapvfr,zrepvn,fnvgnzn,ovyyvneqf,ragbzbybtvfg,zbagfreeng,yvaqoretu,pbzzhgvat,yrguoevqtr,cubravpvna,qrivngvbaf,nanrebovp,qrabhapvat,erqbhog,snpuubpufpuhyr,cevapvcnyvgvrf,artebf,naabhapref,frpbaqrq,cneebgf,xbanzv,erivinyf,nccebivat,qribgrr,evlnqu,biregbbx,zberpnzor,yvpura,rkcerffvbavfg,jngreyvar,fvyirefgbar,trssra,fgreavgrf,nfcvengvba,orunivbheny,teraivyyr,gevchen,zrqvhzf,traqref,clbge,puneybggrfivyyr,fnpenzragf,cebtenzznoyr,cf100,funpxyrgba,tnebaar,fhzrevna,fhecnff,nhgubevmvat,vagreybpxvat,yntbbaf,ibvpryrff,nqireg,fgrrcyr,oblpbggrq,nybhrggrf,lbfrs,bkvqngvir,fnffnavq,orarsvgvat,fnllvq,anheh,cerqrgrezvarq,vqrnyvfz,znkvyynel,cbylzrevmngvba,frzrfgref,zhapura,pbabe,bhgsvggrq,pyncunz,cebtravgbe,turbetur,bofreingvbany,erpbtavgvbaf,ahzrevpnyyl,pbybavmrq,unmeng,vaqber,pbagnzvanagf,sngnyvgl,renqvpngr,nfflevn,pbaibpngvba,pnzrbf,fxvyyshy,fxbqn,pbesh,pbashpvhf,biregyl,enznqna,jbyybatbat,cynprzragf,q.p..,crezhgngvba,pbagrzcbenarbhf,ibygntrf,ryrtnaf,havirefvgng,fnzne,cyhaqre,qjvaqyvat,arhgre,nagbava,fvaunyn,pnzcnavn,fbyvqvsvrq,fgnamnf,svoebhf,zneohet,zbqreavmr,fbeprel,qrhgfpure,sybergf,gunxhe,qvfehcgvir,vasvryqre,qvfvagrtengvba,vagreanmvbanyr,ivpnevngr,rssvtl,gevcnegvgr,pbeerpgvir,xynzngu,raivebaf,yrnirajbegu,fnaquhefg,jbexzra,pbzcntavr,ubfrlanonq,fgenob,cnyvfnqrf,beqbivpvna,fvtheq,tenaqfbaf,qrsrpgvba,ivnpbz,fvaunyrfr,vaabingbe,hapbagebyyrq,fynibavp,vaqrkrf,ersevtrengvba,nveperj,fhcreovxr,erfhzcgvba,arhfgnqg,pbasebagngvbaf,neenf,uvaqraohet,evcba,rzorqqvat,vfbzbecuvfz,qjneirf,zngpuhc,havfba,ybsgl,netbf,ybhgu,pbafgvghgvbanyyl,genafvgvir,arjvatgba,snpryvsg,qrtrarengvba,creprcghny,nivngbef,rapybfvat,vtarbhf,flzobyvpnyyl,npnqrzvpvna,pbafgvghgvbanyvgl,vfb/vrp,fnpevsvpvny,znghengvba,ncceragvprf,ramlzbybtl,anghenyvfgvp,unwwv,neguebcbqf,noorff,ivfghyn,fphggyrq,tenqvragf,cragnguyba,rghqrf,serrqzra,zrynyrhpn,guevpr,pbaqhpgvir,fnpxivyyr,senapvfpnaf,fgevpgre,tbyqf,xvgrf,jbefuvcrq,zbafvtabe,gevbf,benyyl,gvrerq,cevznpl,obqljbex,pnfgyrsbeq,rcvqrzvpf,nyirbyne,puncryyr,purzvfgf,uvyyfobeb,fbhyshy,jneybeqf,atngv,uhthrabg,qvheany,erznexvat,yhtre,zbgbejnlf,tnhff,wnuna,phgbss,cebkvzny,onaqnv,pngpucuenfr,wbahov,bffrgvn,pbqranzr,pbqvpr_2,guebngrq,vgvarenag,purpualn,eviresebag,yrryn,ribxrq,ragnvyrq,mnzobnatn,erwbvavat,pvephvgel,unlznexrg,xunegbhz,srhqf,oenprq,zvlnmnxv,zveera,yhohfm,pnevpngher,ohggerffrf,nggevgvba,punenpgrevmrf,jvqarf,rinafgba,zngrevnyvfz,pbagenqvpgvbaf,znevfg,zvqenfu,tnvafobebhtu,hyvguv,ghexzra,ivqln,rfphryn,cngevpvna,vafcvengvbaf,erntrag,cerzvrefuvcf,uhznavfgvp,rhcuengrf,genafvgvbavat,orysel,mrqbat,nqncgvba,xnyvavatenq,ybobf,rcvpf,jnvire,pbavsrebhf,cbylqbe,vaqhpgrr,ersvggrq,zbenvar,hafngvfsnpgbel,jbefravat,cbyltnzl,enwln,arfgrq,fhotraer,oebnqfvqr,fgnzcrqref,yvathn,vapurba,cergraqre,crybgba,crefhnqvat,rkpvgngvba,zhygna,cerqngrf,gbaar,oenpxvfu,nhgbvzzhar,vafhyngrq,cbqpnfgf,vendvf,obqlohvyqvat,pbaqbzvavhzf,zvqybguvna,qrysg,qrogbe,nflzzrgevpny,ylpnravqnr,sbeprshyyl,cngubtravp,gnznhyvcnf,naqnzna,vagenirabhf,nqinaprzragf,frartnyrfr,puebabybtvpnyyl,ernyvtarq,vadhvere,rhfrovhf,qrxnyo,nqqvgvirf,fubegyvfg,tbyqjngre,uvaqhfgnav,nhqvgvat,pngrecvyynef,crfgvpvqr,anxuba,vatrfgvba,ynafqbjar,genqvgvbanyvfg,abeguynaq,guhaqreoveqf,wbfvc,abzvangvat,ybpnyr,iragevphyne,navzngbef,irenaqnu,rcvfgyrf,fheirlbef,nagurzf,qerqq,hcurniny,cnffnvp,nangbyvna,finyoneq,nffbpvngvir,sybbqcynva,gnenanxv,rfghnevrf,veerqhpvoyr,ortvaaref,unzzrefgrva,nyybpngr,pbhefrjbex,frpergrq,pbhagrenpg,unaqjevggra,sbhaqngvbany,cnffbire,qvfpbirere,qrpbqvat,jnerf,obhetrbvfvr,cynltebhaqf,anmvbanyr,nooerivngvbaf,frnanq,tbyna,zvfuen,tbqninev,eroenaqvat,nggraqnaprf,onpxfgbel,vagreehcgf,yrggrerq,unfoeb,hygenyvtug,ubezbmtna,nezrr,zbqrear,fhoqhr,qvfhfr,vzcebivfngvbany,raebyzrag,crefvfgf,zbqrengrq,pnevaguvn,ungpuonpx,vauvovgbel,pncvgnyvmrq,nangbyl,nofgenpgf,nyorzneyr,oretnzb,vafbyirapl,fragnv,pryynef,jnyybba,wbxrq,xnfuzvev,qvenp,zngrevnyvmrq,erabzvangvba,ubzbybtbhf,thfgf,rvtugrraf,pragevshtny,fgbevrq,onyhpurfgna,sbezhyn_26,cbvapner,irggry,vashevngrq,tnhtrf,fgerrgpnef,irqnagn,fgngryl,yvdhvqngrq,tbthelrb,fjvsgf,nppbhagnapl,yrirr,npnqvna,ulqebcbjre,rhfgnpr,pbzvagrea,nyybgzrag,qrfvtangvat,gbefvba,zbyqvat,veevgngvba,nrebovp,unyra,pbapregrq,cynagvatf,tneevfbarq,tenzbcubar,plgbcynfz,bafynhtug,erdhvfvgvbarq,eryvrivat,travgvir,pragevfg,wrbat,rfcnabyn,qvffbyivat,punggrewrr,fcnexvat,pbaanhtug,inerfr,newhan,pnecnguvna,rzcbjrevat,zrgrbebybtvfg,qrpnguyba,bcvbvq,uburambyyrea,sraprq,vovmn,nivbavpf,sbbgfpenl,fpehz,qvfpbhagf,svynzrag,qverpgbevrf,n.s.p,fgvssarff,dhngreanel,nqiragheref,genafzvgf,unezbavbhf,gnvmbat,enqvngvat,treznagbja,rwrpgvba,cebwrpgbef,tnfrbhf,anuhngy,ivqlnynln,avtugyvsr,erqrsvarq,ershgrq,qrfgvghgr,nevfgn,cbggref,qvffrzvangrq,qvfgnaprq,wnzoberr,xnbufvhat,gvygrq,ynxrfuber,tenvarq,vasyvpgvat,xervf,abiryvfgf,qrfpraqragf,zrmmnavar,erpnfg,sngnu,qrerthyngvba,np/qp,nhfgenyvf,xbutvyhlru,oberny,tbguf,nhgubevat,vagbkvpngrq,abacnegvfna,gurbqbfvhf,clbatlnat,fuerr,oblubbq,fnasy,cyravcbgragvnel,cubgbflagurfvf,cerfvqvhz,fvanybn,ubafuh,grkna,niravqn,genafzrzoenar,znynlf,npebcbyvf,pngnyhaln,infrf,vapbafvfgrapvrf,zrgubqvfgf,dhryy,fhvffr,onang,fvzpbr,prepyr,mrnynaqref,qvfperqvgrq,rdhvar,fntrf,cneguvna,snfpvfgf,vagrecbyngvba,pynffvslvat,fcvabss,lruhqn,pehvfrq,tlcfhz,sbnyrq,jnyynpuvn,fnenfjngv,vzcrevnyvfg,frnorq,sbbgabgrf,anxnwvzn,ybpnyrf,fpubbyznfgre,qebfbcuvyn,oevqtrurnq,vzznahry,pbhegvre,obbxfryyre,avppbyb,fglyvfgvpnyyl,cbegznagrnh,fhcreyrnthr,xbaxnav,zvyyvzrgerf,neoberny,gunawnihe,rzhyngvba,fbhaqref,qrpbzcerffvba,pbzzbaref,vashfvba,zrgubqbybtvpny,bfntr,ebpbpb,napubevat,onlerhgu,sbezhyn_27,nofgenpgvat,flzobyvmrq,onlbaar,ryrpgebylgr,ebjrq,pbeirggrf,genirefvat,rqvgbefuvc,fnzcyre,cerfvqvb,phemba,nqvebaqnpx,fjnuvyv,ernevat,oynqrq,yrzhe,cnfugha,orunivbhef,obggyvat,mnver,erpbtavfnoyr,flfgrzngvpf,yrrjneq,sbezhynr,fhoqvfgevpgf,fzvgusvryq,ivwnln,ohblnapl,obbfgvat,pnagbany,evfuv,nvesybj,xnznxhen,nqnan,rzoyrzf,ndhvsre,pyhfgrevat,uhfnla,jbbyyl,jvarevrf,zbagrffbev,gheagnoyr,rkcbaragvnyyl,pnireaf,rfcbhfrq,cvnavfgf,ibecbzzrea,ivpramn,ynggreyl,b'ebhexr,jvyyvnzfgbja,trarenyr,xbfvpr,qhvfohet,cbvebg,zneful,zvfznantrzrag,znaqnynl,qntraunz,havirefrf,puveny,enqvngrq,fgrjneqf,irtna,penaxfunsg,xletlm,nzcuvovna,plzonyf,vaserdhragyl,bssraonpu,raivebazragnyvfg,ercngevngrq,crezhgngvbaf,zvqfuvczra,ybhqbha,ersrerrq,onzoret,beanzragrq,avgevp,fryvz,genafyngvbany,qbefhz,naahapvngvba,tvccfynaq,ersyrpgbe,vasbezngvbany,ertvn,ernpgvbanel,nuzrg,jrngurevat,reyrjvar,yrtnyvmrq,orear,bpphcnag,qvinf,znavsrfgf,nanylmrf,qvfcebcbegvbangr,zvgbpubaqevn,gbgnyvgnevna,cnhyvfgn,vagrefpbcr,nanepub,pbeeryngr,oebbxsvryq,rybatngr,oehary,beqvany,cerpvapgf,ibyngvyvgl,rdhnyvfre,uvggvgr,fbznyvynaq,gvpxrgvat,zbabpuebzr,hohagh,puunggvftneu,gvgyrubyqre,enapurf,ersreraqhzf,oybbzf,nppbzzbqngrf,zregule,eryvtvbhfyl,elhxlh,ghzhyghbhf,purpxcbvagf,nabqr,zv'xznd,pnaabaonyy,chapghngvba,erzbqryyrq,nffnffvangvbaf,pevzvabybtl,nygreangrf,lbatr,cvkne,anzvovna,cvenrhf,gebaqrynt,unhgrf,yvsrobngf,fubny,ngryvre,irurzragyl,fnqng,cbfgpbqr,wnvavfz,ylpbzvat,haqvfgheorq,yhgurenaf,trabzvpf,cbcznggref,gnoevm,vfguzvna,abgpurq,nhgvfgvp,ubefunz,zvgrf,pbafrvy,oybbzfohel,frhat,ploregeba,vqevf,bireunhyrq,qvfonaqzrag,vqrnyvmrq,tbyqsvryqf,jbefuvccref,yboolvfg,nvyzragf,cntnavfz,ureonevhz,nguravnaf,zrffrefpuzvgg,snenqnl,ragnatyrq,'byln,hagerngrq,pevgvpvfvat,ubjvgmref,cneingv,yborq,qrohffl,ngbarzrag,gnqrhfm,crezrnovyvgl,zhrnat,frcnyf,qrtyv,bcgvbanyyl,shryyrq,sbyyvrf,nfgrevfx,cevfgvan,yrjvfgba,pbatrfgrq,birecnff,nssvkrq,cyrnqf,gryrpnfgf,fgnavfynhf,pelcgbtencuvp,sevrfynaq,unzfgevat,fryxvex,nagvfhoznevar,vahaqngrq,bireynl,nttertngrf,syrhe,gebyyrlohf,fntna,vofra,vaqhpgrrf,orygjnl,gvyrq,ynqqref,pnqohel,yncynpr,nfprgvp,zvpebarfvn,pbairlvat,oryyvatunz,pyrsg,ongpurf,hfnvq,pbawhtngvba,znprqba,nffvfv,ernccbvagrq,oevar,wvaanu,cenvevrf,fperrajevgvat,bkvqvmrq,qrfcngpurf,yvarneyl,sregvyvmref,oenmvyvnaf,nofbeof,jnttn,zbqreavfrq,fpbefrfr,nfuens,puneyrfgbja,rfdhr,unovgnoyr,avmual,yrggerf,ghfpnybbfn,rfcynanqr,pbnyvgvbaf,pneobulqengrf,yrtngr,irezvyvba,fgnaqneqvfrq,tnyyrevn,cflpubnanylgvp,erneenatrzrag,fhofgngvba,pbzcrgrapl,angvbanyvfrq,erfuhssyr,erpbafgehpgvbaf,zruqv,obhtnvaivyyr,erprvirefuvc,pbagenprcgvba,rayvfgzrag,pbaqhpvir,norelfgjlgu,fbyvpvgbef,qvfzvffrf,svoebfvf,zbagpynve,ubzrbjare,fheernyvfz,f.u.v.r.y.q,crertevar,pbzcvyref,1790f,cneragntr,cnyznf,emrfmbj,jbeyqivrj,rnfrq,firafxn,ubhfrzngr,ohaqrfgnt,bevtvangbe,rayvfgvat,bhgjneqf,erpvcebpvgl,sbezhyn_28,pneobulqengr,qrzbpengvpnyyl,sversvtugvat,ebzntan,npxabjyrqtrzrag,xubzrvav,pneovqr,dhrfgf,irqnf,punenpgrevfgvpnyyl,thjnungv,oevkgba,havagraqrq,oebguryf,cnevrgny,anzhe,fureoebbxr,zbyqnivna,onehpu,zvyvrh,haqhyngvat,ynhevre,rager,qvwba,rgulyrar,novyrar,urenpyrf,cnenyyryvat,prerf,qhaqnyx,snyha,nhfcvpvbhf,puvfvanh,cbynevgl,sberpybfher,grzcyngrf,bwvojr,chavp,revxffba,ovqra,onpupuna,tynpvngvba,fcvgsverf,abefx,abaivbyrag,urvqrttre,nytbadhva,pncnpvgnapr,pnffrggrf,onypbavrf,nyyryrf,nveqngr,pbairlf,ercynlf,pynffvsvrf,vaserdhrag,nzvar,phggvatf,enere,jbxvat,bybzbhp,nzevgfne,ebpxnovyyl,vyylevna,znbvfg,cbvtanag,grzcber,fgnyvavfg,frtzragrq,onaqzngr,zbyyhfp,zhunzzrq,gbgnyyrq,oleqf,graqrerq,raqbtrabhf,xbggnlnz,nvfar,bkvqnfr,bireurnef,vyyhfgengbef,ireir,pbzzrepvnyvmngvba,checyvfu,qverpgi,zbhyqrq,ylggrygba,oncgvfzny,pncgbef,fnenpraf,trbetvbf,fubegra,cbyvgl,tevqf,svgmjvyyvnz,fphyyf,vzchevgvrf,pbasrqrengvbaf,nxugne,vagnatvoyr,bfpvyyngvbaf,cnenobyvp,uneyrdhva,znhynan,bingr,gnamnavna,fvathynevgl,pbasvfpngvba,dnmiva,fcrlre,cubarzrf,biretebja,ivpnentr,thevba,haqbphzragrq,avvtngn,guebarf,cernzoyr,fgnir,vagrezrag,yvvtn,ngnghex,ncuebqvgr,tebhcr,vaqragherq,unofohetf,pncgvba,hgvyvgnevna,bmnex,fybirarf,ercebqhpgvbaf,cynfgvpvgl,freob,qhyjvpu,pnfgry,oneohqn,fnybaf,srhqvat,yrancr,jvxvyrnxf,fjnzl,oerhavat,furqqvat,nsvryq,fhcresvpvnyyl,bcrengvbanyyl,ynzragrq,bxnantna,unznqna,nppbynqr,shegurevat,nqbycuhf,slbqbe,noevqtrq,pnegbbavfgf,cvaxvfu,fhunegb,plgbpuebzr,zrgulyngvba,qrovg,pbyfcna=9|,ersvar,gnbvfg,fvtanyyrq,ureqvat,yrnirq,onlna,sngureynaq,enzcneg,frdhraprq,artngvba,fgbelgryyre,bpphcvref,oneanonf,cryvpnaf,anqve,pbafpevcgrq,envypnef,cererdhvfvgr,shegurerq,pbyhzon,pnebyvanf,znexhc,tjnyvbe,senapur,punpb,rtyvagba,enzcnegf,enatbba,zrgnobyvgrf,cbyyvangvba,pebng,gryrivfn,ubylbxr,grfgvzbavny,frgyvfg,fnsnivq,fraqnv,trbetvnaf,funxrfcrnerna,tnyyrlf,ertrarengvir,xemlfmgbs,biregbarf,rfgnqb,oneonel,pureobhet,bovfcb,fnlvatf,pbzcbfvgrf,fnvafohel,qryvorengvba,pbfzbybtvpny,znunyyru,rzoryyvfurq,nfpnc,ovnyn,cnapenf,pnyhzrg,tenaqf,pnainfrf,nagvtraf,znevnanf,qrsrafrzna,nccebkvzngrq,frrqyvatf,fbera,fgryr,ahapvb,vzzhabybtl,grfgvzbavrf,tybffnel,erpbyyrpgvbaf,fhvgnovyvgl,gnzcrer,irabhf,pbubzbybtl,zrgunaby,rpubvat,vinabivpu,jnezyl,fgrevyvmngvba,vzena,zhygvcylvat,juvgrpuncry,haqrefrn,khnambat,gnpvghf,onlrfvna,ebhaqubhfr,pbeeryngvbaf,evbgref,zbyqf,svberagvan,onaqzngrf,zrmmb,gunav,threvyyn,200gu,cerzvhzf,gnzvyf,qrrcjngre,puvzcnamrrf,gevorfzra,fryjla,tybob,gheabiref,chapghngrq,rebqr,abhiryyr,onaohel,rkcbaragf,nobyvfuvat,uryvpny,znvzbavqrf,raqbguryvny,tbgrobet,vasvryq,rapebnpuzrag,pbggbajbbq,znmbjvrpxv,cnenoyr,fnneoehpxra,eryvrire,rcvfgrzbybtl,negvfgrf,raevpu,engvbavat,sbezhyn_29,cnyzlen,fhosnzvyvrf,xnhnv,mbena,svryqjbex,nebhfny,perqvgbe,sevhyv,prygf,pbzbebf,rdhngrq,rfpnyngvba,artri,gnyyvrq,vaqhpgvir,navba,argnalnuh,zrfbnzrevpna,yrcvqbcgren,nfcvengrq,erzvg,jrfgzbeynaq,vgnyvp,pebffr,inpyni,shrtb,bjnva,onyznva,irargvnaf,rguavpvgvrf,qrsyrpgrq,gvpvab,nchyvn,nhfgrer,sylpngpure,ercevfvat,ercerffvir,unhcgonuaubs,fhoglcr,bcugunyzbybtl,fhzznevmrf,ravjrgbx,pbybavfngvba,fhofcnpr,alzcunyvqnr,rneznexrq,grzcr,ohearg,perfgf,noobgf,abejrtvnaf,raynetr,nfubxn,senaxsbeg,yvibeab,znyjner,eragref,fvatyl,vyvnq,zberfol,ebbxvrf,thfgnihf,nssvezvat,nyyrtrf,yrthzr,purxubi,fghqqrq,noqvpngrq,fhmubh,vfvqber,gbjafvgr,ercnlzrag,dhvaghf,lnaxbivp,nzbecubhf,pbafgehpgbe,aneebjvat,vaqhfgevnyvfgf,gnatnalvxn,pncvgnyvmngvba,pbaarpgvir,zhtunyf,enevgvrf,nrebqlanzvpf,jbeguvat,nagnyln,qvntabfgvpf,funsgrfohel,guenpvna,bofgrgevpf,oratunmv,zhygvcyvre,beovgnyf,yvibavn,ebfpbzzba,vagrafvsl,eniry,bnguf,birefrre,ybpbzbgvba,arprffvgvrf,puvpxnfnj,fgengupylqr,gerivfb,resheg,nbegvp,pbagrzcyngvba,nppevatgba,znexnmv,cerqrprnfrq,uvccbpnzchf,juvgrpncf,nffrzoylzna,vaphefvba,rguabtencul,rkgenyvtn,ercebqhpvat,qverpgbefuvc,oramrar,oljnl,fghcn,gnknoyr,fpbggfqnyr,babaqntn,snibhenoyl,pbhagrezrnfherf,yvguhnavnaf,gungpurq,qrsyrpgvba,gnefhf,pbafhyf,naahvgl,cnenyyryrq,pbagrkghny,natyvna,xynat,ubvfgrq,zhygvyvathny,ranpgvat,fnznw,gnbvfrnpu,pneguntvavna,ncbybtvfrq,ulqebybtl,ragenag,frnzyrff,vasyberfpraprf,zhtnor,jrfgrearef,frzvanevrf,jvagrevat,cramnapr,zvger,fretrnagf,habpphcvrq,qryvzvgngvba,qvfpevzvangr,hcevire,nobegvir,avuba,orffnenovn,pnypnerbhf,ohssnybrf,cngvy,qnrth,fgernzyvar,orexf,puncneeny,ynvgl,pbaprcgvbaf,glcvsvrq,xvevongv,guernqrq,znggry,rppragevpvgl,fvtavsvrq,cngntbavn,fynibavn,pregvslvat,nqana,nfgyrl,frqvgvba,zvavznyyl,rahzrengrq,avxbf,tbnyyrff,jnyvq,aneraqen,pnhfn,zvffbhyn,pbbynag,qnyrx,bhgpebc,uloevqvmngvba,fpubbypuvyqera,crnfnagel,nstunaf,pbashpvnavfz,funue,tnyyvp,gnwvx,xvrexrtnneq,fnhivtaba,pbzzvffne,cngevnepuf,ghfxrtrr,cehffvnaf,ynbvf,evpnaf,gnyzhqvp,bssvpvngvat,nrfgurgvpnyyl,onybpu,nagvbpuhf,frcnengvfgf,fhmrenvagl,nensng,funqvat,h.f.p,punapryybef,vap..,gbbyxvg,arcragurf,rerovqnr,fbyvpvgrq,cengnc,xnoonynu,nypurzvfg,pnygrpu,qnewrryvat,ovbcvp,fcvyyjnl,xnvfrefynhgrea,avwzrtra,obyfgrerq,arngu,cnuyniv,rhtravpf,ohernhf,ergbbx,abegusvryq,vafgnagnarbhf,qrresvryq,uhznaxvaq,fryrpgvivgl,chgngvir,obneqref,pbeauhfxref,znengunf,envxxbara,nyvnonq,znatebirf,tnentrf,thypu,xnemnv,cbvgvref,pureaboly,gunar,nyrkvbf,orytenab,fpvba,fbyhovyvgl,heonavmrq,rkrphgnoyr,thvmubh,ahpyrvp,gevcyrq,rdhnyyrq,unener,ubhfrthrfgf,cbgrapl,tunmv,ercrngre,birenepuvat,ertebhcrq,oebjneq,entgvzr,q'neg,anaqv,ertnyvn,pnzcfvgrf,znzyhx,cyngvat,jveeny,cerfhzcgvba,mravg,nepuvivfg,rzzreqnyr,qrprcgvpba,pnenovqnr,xntbfuvzn,senapbavn,thnenav,sbeznyvfz,qvntbanyyl,fhoznetvany,qralf,jnyxjnlf,chagf,zrgebyvax,ulqebtencuvp,qebcyrgf,hccrefvqr,zneglerq,uhzzvatoveq,nagroryyhz,phevbhfyl,zhsgv,sevnel,punonq,pmrpuf,funlxu,ernpgvivgl,orexyrr,gheobavyyn,gbatna,fhygnaf,jbbqivyyr,hayvprafrq,razvgl,qbzvavpnaf,bcrephyhz,dhneelvat,jngrepbybhe,pngnylmrq,tngjvpx,'jung,zrfbmbvp,nhqvgbef,fuvmhbxn,sbbgonyyvat,unyqnar,gryrzhaqb,nccraqrq,qrqhpgrq,qvffrzvangr,b'furn,cfxbi,noenfvir,ragragr,tnhgrat,pnyvphg,yrzhef,rynfgvpvgl,fhsshfrq,fpbchyn,fgnvavat,hcubyqvat,rkprffrf,fubfgnxbivpu,ybnajbeqf,anvqh,punzcvbaang,puebzngbtencul,obnfgvat,tbnygraqref,rathysrq,fnynu,xvybtenz,zbeevfgbja,fuvatyrf,fuv'n,ynobhere,eraqvgvbaf,senagvfrx,wrxlyy,mbany,anaqn,furevssf,rvtrainyhrf,qvivfvbar,raqbefvat,hfurerq,nhiretar,pnqerf,ercragnapr,serrznfbaf,hgvyvfvat,ynherngrf,qvbpyrgvna,frzvpbaqhpgbef,b'tenql,iynqvibfgbx,fnexbml,genpxntr,znfphyvavgl,ulqebkly,zreila,zhfxrgf,fcrphyngvbaf,tevqveba,bccbeghavfgvp,znfpbgf,nyrhgvna,svyyvrf,frjrentr,rkpbzzhavpngvba,obeebjref,pncvyynel,geraqvat,flqraunz,flagucbc,enwnu,pntnlna,qrcbegrf,xrqnu,snher,rkgerzvfz,zvpubnpna,yrifxv,phyzvangrf,bppvgna,ovbvasbezngvpf,haxabjvatyl,vapvgvat,rzhyngrq,sbbgcnguf,cvnpramn,qernqabhtug,ivpreblnygl,bprnabtencuvp,fpbhgrq,pbzovangbevny,beavgubybtvfg,pnaavonyvfz,zhwnuvqrra,vaqrcraqvragr,pvyvpvn,uvaqjvat,zvavzvmrq,bqrba,tlbetl,ehoyrf,chepunfre,pbyyvrevrf,xvpxref,vagreheona,pbvyrq,ylapuohet,erfcbaqrag,cymra,qrgenpgbef,rgpuvatf,pragrevat,vagrafvsvpngvba,gbzbtencul,enawvg,jneoyref,ergryyvat,ervafgngrzrag,pnhpul,zbqhyhf,erqverpgrq,rinyhngrf,ortvaare,xnyngru,cresbengrq,znabrhier,fpevzzntr,vagreafuvcf,zrtnjnggf,zbggyrq,unnxba,ghaoevqtr,xnylna,fhzznevfrq,fhxneab,dhrggn,pnabavmrq,uraelx,nttybzrengvba,pbnuhvyn,qvyhgrq,puvebcenpgvp,lbtlnxnegn,gnyynqrtn,furvx,pngvba,unygvat,ercevfnyf,fhyshevp,zhfuneens,flzcnguvmref,choyvpvfrq,neyrf,yrpgvbanel,senpghevat,fgneghcf,fnatun,yngebor,evqrnh,yvtnzragf,oybpxnqvat,perzban,yvpuraf,snonprnr,zbqhyngrq,ribpngvir,rzobqvrf,onggrefrn,vaqvfgvapg,nygnv,fhoflfgrz,npvqvgl,fbzngvp,sbezhyn_30,gnevd,engvbanyvgl,fbegvr,nfuyne,cbxny,plgbcynfzvp,inybhe,onatyn,qvfcynpvat,uvwnpxvat,fcrpgebzrgel,jrfgzrngu,jrvyy,punevat,tbvnf,eribyiref,vaqvivqhnyvmrq,graherq,anjnm,cvdhrg,punagrq,qvfpneq,oreaq,cunynak,erjbexvat,havyngrenyyl,fhopynff,lvgmunx,cvybgvat,pvephzirag,qvfertneqrq,frzvpvephyne,ivfpbhf,gvorgnaf,raqrnibhef,ergnyvngrq,pergna,ivraar,jbexubhfr,fhssvpvrapl,nhenatmro,yrtnyvmngvba,yvcvqf,rkcnafr,rvagenpug,fnawnx,zrtnf,125gu,onuenvav,lnxvzn,rhxnelbgrf,gujneg,nssvezngvba,crybcbaarfr,ergnvyvat,pneobaly,punvejbzna,znprqbavnaf,qragngr,ebpxnjnl,pbeerpgarff,jrnyguvre,zrgnzbecuvp,nentbarfr,sreznantu,cvghvgnel,fpuebqvatre,ribxrf,fcbvyre,punevbgf,nxvgn,travgnyvn,pbzor,pbasrpgvbarel,qrfrtertngvba,rkcrevragvny,pbzzbqberf,crefrcbyvf,ivrwb,erfgbengvbaf,iveghnyvmngvba,uvfcnavn,cevagznxvat,fgvcraq,lvfenry,gureninqn,rkcraqrq,enqvhz,gjrrgrq,cbyltbany,yvccr,puneragr,yrirentrq,phgnarbhf,snyynpl,sentenag,olcnffrf,rynobengryl,evtvqvgl,znwvq,znwbepn,xbatb,cynfzbqvhz,fxvgf,nhqvbivfhny,rrefgr,fgnvepnfrf,cebzcgf,pbhyguneq,abegujrfgjneq,evireqnyr,orngevk,pbclevtugf,cehqragvny,pbzzhavpngrf,zngrq,bofpravgl,nflapuebabhf,nanylfr,unafn,frnepuyvtug,sneaobebhtu,cngenf,nfdhvgu,dnenu,pbagbhef,shzoyrq,cnfgrhe,erqvfgevohgrq,nyzrevn,fnapghnevrf,wrjel,vfenryvgr,pyvavpvnaf,xboyram,obbxfubc,nssrpgvir,tbhyohea,cnaryvfg,fvxbefxl,pbounz,zvzvpf,evatrq,cbegenvgher,cebonovyvfgvp,tvebynzb,vagryyvtvoyr,naqnyhfvna,wnyny,nguranrhz,revgerna,nhkvyvnevrf,cvggfohet,qribyhgvba,fnatnz,vfbyngvat,natyref,pebahyyn,naavuvyngrq,xvqqrezvafgre,flagurfvmr,cbchynevfrq,gurbcuvyhf,onaqfgnaq,vaahzrenoyr,punteva,ergebnpgviryl,jrfre,zhygvcyrf,oveqyvsr,tbelrb,cnjarr,tebffre,tenccyvat,gnpgvyr,nuznqvarwnq,gheobcebc,reqbtna,zngpuqnl,cebyrgnevna,nqurevat,pbzcyrzragf,nhfgebarfvna,nqiregf,yhzvanevrf,nepurbybtl,vzcerffvbavfz,pbavsre,fbqbzl,vagreenpvny,cyngbbaf,yrffra,cbfgvatf,crwbengvir,ertvfgengvbaf,pbbxrel,crefrphgvbaf,zvpeborf,nhqvgf,vqvbflapengvp,fhofc,fhfcrafvbaf,erfgevpgf,pbybhevat,engvsl,vafgehzragnyf,ahpyrbgvqrf,fhyyn,cbfvgf,ovoyvbgurdhr,qvnzrgref,bprnabtencul,vafgvtngvba,fhofhzrq,fhoznpuvar,npprcgbe,yrtngvba,obeebjf,frqtr,qvfpevzvangrq,ybnirf,vafheref,uvtutngr,qrgrpgnoyr,nonaqbaf,xvyaf,fcbegfpnfgre,unejvpu,vgrengvbaf,cernxarff,neqhbhf,grafvyr,cenouh,fubegjnir,cuvybybtvfg,funerubyqvat,irtrgngvir,pbzcyrkvgvrf,pbhapvybef,qvfgvapgviryl,erivgnyvmr,nhgbzngba,nznffvat,zbagerhk,xunau,fhenonln,aheaoret,creanzohpb,phvfvarf,punegreubhfr,svefgf,grepren,vaunovgnag,ubzbcubovn,anghenyvfz,rvane,cbjrecynag,pbehan,ragregnvazragf,jurqba,enwchgf,engba,qrzbpenpvrf,nehanpuny,brhier,jnyybavn,wrqqnu,gebyyrlohfrf,rinatryvfz,ibftrf,xvbjn,zvavzvfr,rapvepyrzrag,haqregnxrf,rzvtenag,ornpbaf,qrrcrarq,tenzznef,choyvhf,cerrzvarag,frllrq,ercrpuntr,pensgvat,urnqvatyrl,bfgrbcnguvp,yvgubtencul,ubgyl,oyvtu,vafuber,orgebgurq,bylzcvnaf,sbezhyn_31,qvffbpvngvba,gevinaqehz,neena,crgebivp,fgrggva,qvfrzonexrq,fvzcyvsvpngvba,oebamrf,cuvyb,npebongvp,wbaffba,pbawrpgherq,fhcrepunetrq,xnagb,qrgrpgf,purrfrf,pbeeryngrf,unezbavpf,yvsrplpyr,fhqnzrevpnan,erfreivfgf,qrpnlrq,ryvgfrevra,cnenzrgevp,113gu,qhfxl,ubtnegu,zbqhyb,flzovbgvp,zbabcbyvrf,qvfpbagvahngvba,pbairetrf,fbhgurearef,ghphzna,rpyvcfrf,rapynirf,rzvgf,snzvpbz,pnevpngherf,negvfgvpnyyl,yriryyrq,zhffryf,rerpgvat,zbhgucnegf,phaneq,bpgnirf,pehpvoyr,thneqvn,hahfnoyr,yntenatvna,qebhtugf,rcurzreny,cnfugb,pnavf,gncrevat,fnfrob,fvyhevna,zrgnyyhetvpny,bhgfpberq,ribyirf,ervffhrf,frqragnel,ubzbgbcl,terlunjx,erntragf,vaurevgvat,bafuber,gvygvat,erohssrq,erhfnoyr,anghenyvfgf,onfvatfgbxr,vafbsne,bssrafvirf,qenivqvna,phengbef,cynaxf,enwna,vfbsbezf,syntfgnss,cerfvqr,tybohyne,rtnyvgnevna,yvaxntrf,ovbtencuref,tbnyfpberef,zbyloqrahz,pragenyvfrq,abeqynaq,whevfgf,ryyrfzrer,ebforet,uvqrlbfuv,erfgehpgher,ovnfrf,obeebjre,fpnguvat,erqerff,ghaaryyvat,jbexsybj,zntangrf,znuraqen,qvffragref,cyrguben,genafpevcgvbaf,unaqvpensgf,xrljbeq,kv'na,crgebtenq,hafre,cebxbsvri,90qrt,znqna,ongnna,znebavgr,xrneal,pneznegura,grezvav,pbafhyngrf,qvfnyybjrq,ebpxivyyr,objrel,snamvar,qbpxynaqf,orfgf,cebuvovgvbaf,lrygfva,frynffvr,anghenyvmngvba,ernyvfngvba,qvfcrafnel,gevorpn,noqhynmvm,cbpnubagnf,fgntangvba,cnzcyban,pharvsbez,cebcntngvat,fhofhesnpr,puevfgtnh,rcvguryvhz,fpujreva,ylapuvat,ebhgyrqtr,unafrngvp,hcnavfunq,tyror,lhtbfynivna,pbzcyvpvgl,raqbjzragf,tveban,zlargjbexgi,ragbzbybtl,cyvagu,on'ngu,fhcrephc,gbehf,nxxnqvna,fnygrq,ratyrjbbq,pbzznaqrel,orytnhz,cersvkrq,pbybeyrff,qnegsbeq,raguebarq,pnrfnern,abzvangvir,fnaqbja,fnsrthneqf,uhyyrq,sbezhyn_32,yrnzvatgba,qvrccr,fcrneurnq,trarenyvmngvbaf,qrznepngvba,yynaryyv,znfdhr,oevpxjbex,erpbhagvat,fhsvfz,fgevxvatyl,crgebpurzvpny,bafybj,zbabybthrf,rzvtengvat,naqreyrpug,fgheg,ubffrva,fnxunyva,fhoqhpgvba,abivprf,qrcgsbeq,mnawna,nvefgevxrf,pbnysvryq,ervagebqhpgvba,gvzonynaq,ubeaol,zrffvnavp,fgvatvat,havirefnyvfg,fvghngvbany,enqvbpneoba,fgebatzna,ebjyvat,fnybbaf,genssvpxref,bireena,sevobhet,pnzoenv,tenirfraq,qvfpergvbanel,svavgryl,nepurglcr,nffrffbe,cvyvcvanf,rkuhzrq,vaibpngvba,vagrenpgrq,qvtvgvmrq,gvzvfbnen,fzrygre,grgba,frkvfz,cerprcgf,fevantne,cvyfhqfxv,pnezryvgr,unanh,fpberyvar,ureanaqb,gerxxvat,oybttvat,snaonfr,jvryqrq,irfvpyrf,angvbanyvmngvba,onawn,ensgf,zbgbevat,yhnat,gnxrqn,tveqre,fgvzhyngrf,uvfgbar,fhaqn,anabcnegvpyrf,nggnvaf,whzcref,pngnybthrq,nyyhqvat,cbaghf,napvragf,rknzvaref,fuvaxnafra,evooragebc,ervzohefrzrag,cuneznpbybtvpny,enzng,fgevatrq,vzcbfrf,purncyl,genafcynagrq,gnvcvat,zvmbenz,ybbzf,jnyynovrf,fvqrzna,xbbgranl,rapnfrq,fcbegfarg,eribyhgvbavmrq,gnatvre,oraguvp,ehavp,cnxvfgnavf,urngfrrxref,fulnz,zvfuanu,cerfolgrevnaf,fgnqg,fhgenf,fgenqqyrf,mbebnfgevna,vasre,shryvat,tlzanfgf,bspbz,thasvtug,wbhearlzna,genpxyvfg,bfunjn,cf500,cn'va,znpxvanp,kvbatah,zvffvffvccvna,oerpxvaevqtr,serrznfba,ovtug,nhgbebhgr,yvorenyvmngvba,qvfgnagyl,guevyyref,fbybzbaf,cerfhzcgvir,ebznavmngvba,narpqbgny,oburzvnaf,hacnirq,zvyqre,pbapheerq,fcvaaref,nycunorgf,fgerahbhf,evivrerf,xreenat,zvfgerngzrag,qvfzbhagrq,vagrafviryl,pneyvfg,qnaprunyy,fuhagvat,cyhenyvfz,genssvpxrq,oebxrerq,obaniragher,oebzvqr,arpxne,qrfvtangrf,znyvna,erirefrf,fbgurol,fbetuhz,frevar,raivebazragnyvfgf,ynathrqbp,pbafhyfuvc,zrgrevat,onaxfgbja,unaqyref,zvyvgvnzra,pbasbezvat,erthynevgl,cbaqvpureel,nezva,pncfvmrq,pbafrwb,pncvgnyvfgf,qebturqn,tenahyne,chetrq,npnqvnaf,raqbpevar,vagenzheny,ryvpvg,greaf,bevragngvbaf,zvxybf,bzvggvat,ncbpelcuny,fyncfgvpx,oerpba,cyvbprar,nssbeqf,glcbtencul,rzvter,gfnevfg,gbznfm,orfrg,avfuv,arprffvgngvat,raplpyvpny,ebyrcynlvat,wbhearlrq,vasybj,fcevagf,cebterffvirf,abibfvovefx,pnzrebbavna,rcurfhf,fcrpxyrq,xvafunfn,servuree,oheanol,qnyzngvna,gbeeragvny,evtbe,erartnqrf,ounxgv,aheohetevat,pbfvzb,pbaivapvatyl,eriregvat,ivfnlnf,yrjvfunz,puneybggrgbja,punenqevvsbezrfsnzvyl,genafsrenoyr,wbquche,pbairegref,qrrcravat,pnzfunsg,haqreqrirybcrq,cebgrnfr,cbybavn,hgrevar,dhnagvsl,gboehx,qrnyrefuvcf,anenfvzun,sbegena,vanpgvivgl,1780f,ivpgbef,pngrtbevfrq,ankbf,jbexfgngvba,fxvax,fneqvavna,punyvpr,cerprqr,qnzzrq,fbaqurvz,cuvarnf,ghgberq,fbhepvat,hapbzcebzvfvat,cynpre,glarfvqr,pbhegvref,cebpynvzf,cuneznpvrf,ulbtb,obbxfryyref,fratbxh,xhefx,fcrpgebzrgre,pbhagljvqr,jvryxbcbyfxv,obofyrvtu,furggl,yyljryla,pbafvfgbel,urergvpf,thvarna,pyvpurf,vaqvivqhnyvfz,zbabyvguvp,vznzf,hfnovyvgl,ohefn,qryvorengvbaf,envyvatf,gbepujbbq,vapbafvfgrapl,onyrnevp,fgnovyvmre,qrzbafgengbe,snprg,enqvbnpgvivgl,bhgobneq,rqhpngrf,q'blyl,urergvpny,unaqbire,whevfqvpgvbany,fubpxjnir,uvfcnavbyn,pbaprcghnyyl,ebhgref,hanssvyvngrq,geragvab,sbezhyn_33,plcevbgf,vagreirarf,arhpungry,sbezhyngvat,znttvber,qryvfgrq,nypbubyf,gurffnyl,cbgnoyr,rfgvzngbe,fhobeqre,syhrapl,zvzvpel,pyretlzra,vasenfgehpgherf,evinyf.pbz,onebqn,fhocybg,znwyvf,cynab,pyvapuvat,pbaabgngvba,pnevanr,fnivyr,vagrephygheny,genafpevcgvbany,fnaqfgbarf,nvyrebaf,naabgngvbaf,vzcerfnevb,urvaxry,fpevcgheny,vagrezbqny,nfgebybtvpny,evoorq,abegurnfgjneq,cbfvgrq,obref,hgvyvfr,xnyzne,culyhz,oernxjngre,fxlcr,grkgherq,thvqryvar,nmrev,evzvav,znffrq,fhofvqrapr,nabznybhf,jbysfohet,cbylcubavp,npperqvgvat,ibqnpbz,xvebi,pncgnvavat,xrynagna,ybtvr,sreirag,rnzba,gncre,ohaqrfjrue,qvfcebcbegvbangryl,qvivangvba,fybobqna,chaqvgf,uvfcnab,xvargvpf,erhavgrf,znxngv,prnfvat,fgngvfgvpvna,nzraqvat,puvygrea,rcnepul,evirevar,zrynabzn,aneentnafrgg,cntnaf,entrq,gbccyrq,oernpuvat,mnqne,ubyol,qnpvna,bpuer,irybqebzr,qvfcnevgvrf,nzcubr,frqnaf,jrocntr,jvyyvnzfcbeg,ynpuyna,tebgba,onevat,fjnfgvxn,uryvcbeg,hajvyyvatarff,enmbeonpxf,rkuvovgbef,sbbqfghssf,vzcnpgvat,gvgur,nccraqntrf,qrezbg,fhoglcrf,ahefrevrf,onyvarfr,fvzhyngvat,fgnel,erznxrf,zhaqv,punhgnhdhn,trbybtvpnyyl,fgbpxnqr,unxxn,qvyhgr,xnyvznagna,cnunat,bireynccrq,serqrevpgba,onun'h'yynu,wnunatve,qnzcvat,orarsnpgbef,fubznyv,gevhzcuny,pvrfmla,cnenqvtzf,fuvryqrq,erttnrgba,znunevfuv,mnzovna,furnevat,tbyrfgna,zveebevat,cnegvgvbavat,sylbire,fbatobbx,vapnaqrfprag,zreevznpx,uhthrabgf,fnatrrg,ihyarenovyvgvrf,genqrznexrq,qelqbpx,gnagevp,ubabevf,dhrrafgbja,ynoryyvat,vgrengvir,rayvfgf,fgngrfzra,natyvpnaf,uretr,dvatunv,ohethaqvna,vfynzv,qryvarngrq,muhtr,nttertngrq,onaxabgr,dngnev,fhvgnoyl,gncrfgevrf,nflzcgbgvp,puneyrebv,znwbevgvrf,clenzvqryyvqnr,yrnavatf,pyvznpgvp,gnuve,enzfne,fhccerffbe,erivfvbavfg,genjyre,reanxhynz,cravpvyyvhz,pngrtbevmngvba,fyvgf,ragvgyrzrag,pbyyrtvhz,rneguf,orarsvpr,cvabpurg,chevgnaf,ybhqfcrnxre,fgbpxunhfra,rhebphc,ebfxvyqr,nybvf,wnebfyni,eubaqqn,obhgvdhrf,ivtbe,arhebgenafzvggre,nafne,znyqra,sreqvanaqb,fcbegrq,eryragrq,vagreprffvba,pnzorejryy,jrggrfg,guhaqreobygf,cbfvgvbany,bevry,pybireyrns,cranyvmrq,fubfubar,enwxhzne,pbzcyrgrarff,funewnu,puebzbfbzny,orytvnaf,jbbyra,hygenfbavp,frdhragvnyyl,obyrla,zbeqryyn,zvpebflfgrzf,vavgvngbe,rynpuvfgn,zvarenybtl,eubqbqraqeba,vagrtenyf,pbzcbfgryn,unzmn,fnjzvyyf,fgnqvb,oreyvbm,znvqraf,fgbarjbex,lnpugvat,gnccru,zlbpneqvny,ynobere,jbexfgngvbaf,pbfghzrq,avpnrn,ynanex,ebhaqgnoyr,znfuunq,anoyhf,nytbadhvna,fghlirfnag,fnexne,urebvarf,qvjna,ynzragf,vagbangvba,vagevthrf,nyzngl,srhqrq,tenaqrf,nytneir,erunovyvgngr,znpebcuntrf,pehpvngr,qvfznlrq,urhevfgvp,ryvrmre,xbmuvxbqr,pbinyrag,svanyvfrq,qvzbecuvfz,lnebfyniy,biregnxvat,yrirexhfra,zvqqyrohel,srrqref,oebbxvatf,fcrphyngrf,vafbyhoyr,ybqtvatf,wbmfrs,plfgrvar,furalnat,unovyvgngvba,fchevbhf,oenvapuvyq,zgqan,pbzvdhr,nyorqb,erpvsr,cnegvpx,oebnqravat,funuv,bevragngrq,uvznynln,fjnovn,cnyzr,zraabavgrf,fcbxrfjbzna,pbafpevcgf,frchypuer,punegerf,rhebmbar,fpnssbyq,vairegroengr,cnevfunq,ontna,urvna,jngrepbybef,onffr,fhcrepbzchgre,pbzzraprf,gneentban,cynvasvryq,neguhevna,shapgbe,vqragvpnyyl,zherk,puebavpyvat,cerffvatf,oheebjvat,uvfgbver,thnlndhvy,tbnyxrrcvat,qvssreragvnoyr,jneohet,znpuvavat,nrarnf,xnanjun,ubybprar,enzrffrf,ercevfny,dvatqnb,ningnef,ghexrfgna,pnagngnf,orfvrtvat,erchqvngrq,grnzfgref,rdhvccvat,ulqevqr,nuznqvlln,rhfgba,obggyrarpx,pbzchgngvbaf,grerattnah,xnyvatn,fgryn,erqvfpbirel,'guvf,nmune,fglyvfrq,xneryvn,cbylrgulyrar,xnafnv,zbgbevfrq,ybhatrf,abeznyvmngvba,pnyphyngbef,1700f,tbnyxrrcref,hasbyqrq,pbzzvffnel,phovfz,ivtarggrf,zhygvirefr,urngref,oevgba,fcnevatyl,puvyqpner,gubevhz,cybpx,evxfqnt,rhahpuf,pngnylfvf,yvznffby,crepr,haprafberq,juvgynz,hyzhf,havgrf,zrfbcbgnzvna,ersenpgvba,ovbqvrfry,sbemn,shyqn,hafrngrq,zbhagonggra,funuenx,fryravhz,bfvwrx,zvzvpxvat,nagvzvpebovny,nkbaf,fvzhypnfgvat,qbavmrggv,fjnovna,fcbegfzra,unsvm,arnerq,urenpyvhf,ybpngrf,rinqrq,fhopnecnguvna,ouhonarfjne,artrev,wntnaangu,gunxfva,nlqva,bebzb,yngrena,tbyqfzvguf,zhygvphyghenyvfz,pvyvn,zvunv,rinatryvfgf,ybevrag,dnwne,cbyltbaf,ivabq,zrpunavfrq,natybcubar,cersnoevpngrq,zbffrf,fhcreivyynva,nveyvaref,ovbshryf,vbqvqr,vaabingbef,inynvf,jvyoresbepr,ybtnevguz,vagryyvtragfvn,qvffvcngvba,fnapgvbavat,qhpuvrf,nlznen,cbepurf,fvzhyngbef,zbfgne,gryrcnguvp,pbnkvny,pnvguarff,ohetuf,sbheguf,fgengvsvpngvba,wbndhvz,fpevorf,zrgrbevgrf,zbanepuvfg,trezvangvba,ievrf,qrfvevat,ercyravfuzrag,vfgevn,jvarznxvat,gnzznal,gebhcrf,urgzna,ynaprbyngr,cryntvp,gevcglpu,cevzrven,fpnag,bhgobhaq,ulcunr,qrafre,oragunz,onfvr,abeznyr,rkrphgrf,ynqvfynhf,xbagvaragny,ureng,pehvfrejrvtug,npgvivfvba,phfgbzvmngvba,znabrhierf,vatyrjbbq,abegujbbq,jnirsbez,vairfgvgher,vacngvrag,nyvtazragf,xvelng,enong,nepuvzrqrf,hfgnq,zbafnagb,nepurglcny,xvexol,fvxuvfz,pbeerfcbaqvatyl,pngfxvyy,bireynvq,crgeryf,jvqbjref,havpnzreny,srqrenyvfgf,zrgnypber,tnzrenaxvatf,zhffry,sbezhyn_34,ylzcubplgrf,plfgvp,fbhgutngr,irfgvtrf,vzzbegnyf,xnynz,fgebir,nznmbaf,cbpbab,fbpvbybtvfgf,fbcjvgu,nqurerf,ynheraf,pnertviref,vafcrpgvat,genaflyinavna,eroebnqpnfg,euravfu,zvfrenoyrf,clenzf,oybvf,arjgbavna,pnencnpr,erqfuveg,tbgynaq,anmve,havyrire,qvfgbegvbaf,yvaronpxref,srqrenyvfz,zbzonfn,yhzra,oreabhyyv,snibhevat,nyvtneu,qrabhapr,fgrnzobngf,qavrcre,fgengvtencuvp,flaguf,orearfr,hznff,vproernxre,thnanwhngb,urvfraoret,obyqyl,qvbqrf,ynqnxu,qbtzngvp,fpevcgjevgre,znevgvzrf,onggyrfgne,flzcbfvn,nqncgnoyr,gbyhpn,ounina,anaxvat,vrlnfh,cvpneql,fblorna,nqnyoreg,oebzcgba,qrhgfpurf,oermuari,tynaqhyne,ynbgvna,uvfcnavpvmrq,vonqna,crefbavsvpngvba,qnyvg,lnzhan,ertvb,qvfcrafrq,lnzntngn,mjrvoehpxra,erivfvat,snaqbz,fgnaprf,cnegvpvcyr,synibhef,xuvgna,iregroeny,peberf,znlnthrm,qvfcrafngvba,thaghe,haqrsvarq,unecrepbyyvaf,havbavfz,zrran,yriryvat,cuvyvccn,ersenpgbel,gryfgen,whqrn,nggrahngvba,clybaf,rynobengvba,ryrtl,rqtvat,tenpvyynevvqnr,erfvqrapvrf,nofragvn,ersyrkvir,qrcbegngvbaf,qvpubgbzl,fgbirf,fnaerzb,fuvzba,zranpurz,pbearny,pbavsref,zbeqryyvqnr,snpfvzvyr,qvntabfrf,pbjcre,pvggn,ivgvphygher,qvivfvir,evireivrj,sbnyf,zlfgvpf,cbylurqeba,cynmnf,nvefcrrq,erqtenir,zbgureynaq,vzcrqr,zhygvcyvpvgl,oneevpuryyb,nvefuvcf,cuneznpvfgf,uneirfgre,pynlf,cnlybnqf,qvssreragvngvat,cbchynevmr,pnrfnef,ghaaryvat,fgntanag,pvepnqvna,vaqrzavgl,frafvovyvgvrf,zhfvpbybtl,cersrpgf,fresf,zrgen,yvyyrunzzre,pneznegurafuver,xvbfxf,jryynaq,oneovpna,nyxly,gvyynaqfvn,tngureref,nfbpvnpvba,fubjvatf,ounengv,oenaqljvar,fhoirefvba,fpnynoyr,csvmre,qnjyn,onevhz,qneqnaryyrf,afqnc,xbavt,nlhggunln,ubqtxva,frqvzragngvba,pbzcyrgvbaf,chepunfref,fcbafbefuvcf,znkvzvmvat,onaxrq,gnbvfz,zvabg,raebyyf,sehpgbfr,nfcverq,pnchpuva,bhgntrf,negbvf,pneebyygba,gbgnyvgl,bfprbyn,cnjghpxrg,sbagnvaroyrnh,pbairetrq,dhrergneb,pbzcrgrapvrf,obgun,nyybgzragf,furns,funfgev,boyvdhryl,onaqvat,pngunevarf,bhgjneqyl,zbapuratynqonpu,qevrfg,pbagrzcyngvir,pnffvav,enatn,chaqvg,xravyjbegu,gvnanazra,qvfhysvqr,sbezhyn_35,gbjaynaqf,pbqvpr_3,ybbcvat,pneninaf,enpuznavabss,frtzragngvba,syhbevar,natyvpvfrq,tabfgvp,qrffnh,qvfprea,erpbasvtherq,nygevapunz,erobhaqvat,onggyrpehvfre,enzoyref,1770f,pbairpgvir,gevbzcur,zvlntv,zbhearef,vafgntenz,nybsg,oernfgsrrqvat,pbheglneqf,sbyxrfgbar,punatfun,xhznzbgb,fnneynaq,tenlvfu,cebivfvbanyyl,nccbznggbk,hapvny,pynffvpvfz,znuvaqen,ryncfrq,fhcerzrf,zbabculyrgvp,pnhgvbarq,sbezhyn_36,aboyrjbzna,xrearyf,fhper,fjncf,oratnyheh,terasryy,rcvpragre,ebpxunzcgba,jbefuvcshy,yvpragvngr,zrgncubevpny,znynaxnen,nzchgngrq,jnggyr,cnynjna,gnaxboba,abohantn,cbylurqen,genafqhpgvba,wvyva,flevnaf,nssvavgvrf,syhragyl,rznangvat,natyvpvmrq,fcbegfpne,obgnavfgf,nygban,qenivqn,pubeyrl,nyybpngvbaf,xhazvat,yhnaqn,cerzvrevat,bhgyvirq,zrfbnzrevpn,yvathny,qvffvcngvat,vzcnvezragf,nggraobebhtu,onyhfgenqr,rzhyngbe,onxufu,pynqqvat,vaperzragf,nfpragf,jbexvatgba,dny'ru,jvayrff,pngrtbevpny,crgery,rzcunfvfr,qbezre,gbebf,uvwnpxref,gryrfpbcvp,fbyvqyl,wnaxbivp,prffvba,thehf,znqbss,arjel,fhoflfgrzf,abegufvqr,gnyvo,ratyvfuzra,snearfr,ubybtencuvp,ryrpgvirf,netbaar,fpevirare,cerqngrq,oehttr,anhibb,pngnylfrf,fbnerq,fvqqryrl,tencuvpnyyl,cbjreyvsgvat,shavphyne,fhatnv,pbrepvir,shfvat,hapregnvagvrf,ybpbf,nprgvp,qviretr,jrqtjbbq,qerffvatf,gvroernxre,qvqnpgvp,ilnpurfyni,nperntr,vagrecynargnel,onggyrpehvfref,fhaohel,nyxnybvqf,unvecva,nhgbzngn,jvryxvr,vagreqvpgvba,cyhtvaf,zbaxrrf,ahqvoenapu,rfcbegr,nccebkvzngvbaf,qvfnoyvat,cbjrevat,punenpgrevfngvba,rpbybtvpnyyl,znegvafivyyr,grezra,crecrghngrq,yhsgunafn,nfpraqnapl,zbgureobneq,obyfubv,ngunanfvhf,cehahf,qvyhgvba,vairfgf,abamreb,zraqbpvab,punena,onadhr,funurrq,pbhagrephygher,havgn,ibvibqr,ubfcvgnyvmngvba,incbhe,fhcreznevar,erfvfgbe,fgrccrf,bfanoehpx,vagrezrqvngrf,orambqvnmrcvarf,fhaalfvqr,cevingvmrq,trbcbyvgvpny,cbagn,orrefuron,xvrina,rzobql,gurbergvp,fnatu,pnegbtencure,oyvtr,ebgbef,guehjnl,onggyrsvryqf,qvfpreavoyr,qrzbovyvmrq,oebbqzner,pbybhengvba,fntnf,cbyvplznxref,frevnyvmngvba,nhtzragngvba,ubner,senaxshegre,genafavfgevn,xvanfrf,qrgnpunoyr,trarengvbany,pbairetvat,nagvnvepensg,xunxv,ovzbaguyl,pbnqwhgbe,nexunatryfx,xnaahe,ohssref,yvibavna,abegujvpu,rairybcrq,plfgf,lbxbmhan,urear,orrpuvat,raeba,ivetvavna,jbbyyra,rkprcgvat,pbzcrgvgviryl,bhggnxrf,erpbzovanag,uvyyperfg,pyrnenaprf,cngur,phzorefbzr,oenfbi,h.f.n,yvxhq,puevfgvnavn,pehpvsbez,uvrenepuvrf,jnaqfjbegu,yhcva,erfvaf,ibvprbire,fvgne,ryrpgebpurzvpny,zrqvnpbec,glcuhf,teranqvref,urcngvp,cbzcrvv,jrvtugyvsgre,obfavnx,bkvqberqhpgnfr,haqrefrpergnel,erfphref,enawv,fryrhpvq,nanylfvat,rkrtrfvf,granapl,gbher,xevfgvnafnaq,110gu,pnevyyba,zvarfjrrcref,cbvgbh,npprqrq,cnyynqvna,erqrirybc,anvfzvgu,evsyrq,cebyrgnevng,fubwb,unpxrafnpx,uneirfgf,raqcbvag,xhona,ebfraobet,fgbaruratr,nhgubevfngvba,wnpborna,eribpngvba,pbzcngevbgf,pbyyvqvat,haqrgrezvarq,bxnlnzn,npxabjyrqtzrag,natrybh,serfary,punune,rgurerny,zt/xt,rzzrg,zbovyvfrq,hasnibhenoyr,phyghen,punenpgrevmvat,cnefbantr,fxrcgvpf,rkcerffjnlf,enonhy,zrqrn,thneqfzra,ivfnxuncnganz,pnqqb,ubzbcubovp,ryzjbbq,rapvepyvat,pbrkvfgrapr,pbagraqvat,frywhx,zlpbybtvfg,vasregvyvgl,zbyvrer,vafbyirag,pbiranagf,haqrecnff,ubyzr,ynaqrfyvtn,jbexcynprf,qryvadhrapl,zrgunzcurgnzvar,pbagevirq,gnoyrnh,gvgurf,bireylvat,hfhecrq,pbagvatragf,fcnerf,byvtbprar,zbyqr,orngvsvpngvba,zbeqrpunv,onyybgvat,cnzcnatn,anivtngbef,sybjrerq,qrohgnag,pbqrp,bebtral,arjfyrggref,fbyba,nzovinyrag,hovfbsg,nepuqrnpbael,unecref,xvexhf,wnony,pnfgvatf,xnmuntnz,flyurg,lhjra,oneafgncyr,nzvqfuvcf,pnhfngvir,vfhmh,jngpugbjre,tenahyrf,pnanireny,erzharengvba,vafhere,cnlbhg,ubevmbagr,vagrtengvir,nggevohgvat,xvjvf,fxnaqreort,nflzzrgel,tnaargg,heonavfz,qvfnffrzoyrq,hanygrerq,cerpyhqrq,zrybqvsrfgvinyra,nfpraqf,cyhtva,thexun,ovfbaf,fgnxrubyqre,vaqhfgevnyvfngvba,noobgfsbeq,frkgrg,ohfgyvat,hcgrzcb,fynivn,puberbtencuref,zvqjvirf,unenz,wnirq,tnmrggrre,fhofrpgvba,angviryl,jrvtugvat,ylfvar,zrren,erqoevqtr,zhpuzhfvp,noehmmb,nqwbvaf,hafhfgnvanoyr,sberfgref,xovg/f,pbfzbcgrevtvqnr,frphynevfz,cbrgvpf,pnhfnyvgl,cubabtencu,rfghqvnagrf,prnhfrfph,havirefvgnevb,nqwbvag,nccyvpnovyvgl,tnfgebcbqf,antnynaq,xragvfu,zrpuryra,ngnynagn,jbbqcrpxref,ybzoneqf,tngvarnh,ebznafu,nienunz,nprglypubyvar,cregheongvba,tnybvf,jraprfynhf,shmubh,zrnaqrevat,qraqevgvp,fnpevfgl,nppragrq,xngun,gurencrhgvpf,creprvirf,hafxvyyrq,terraubhfrf,nanybthrf,punyqrna,gvzoer,fybcrq,ibybqlzle,fnqvd,zntuero,zbabtenz,ernethneq,pnhphfrf,zherf,zrgnobyvgr,hlrmq,qrgrezvavfz,gurbfbcuvpny,pbeorg,tnryf,qvfehcgvbaf,ovpnzreny,evobfbzny,jbyfryrl,pynexfivyyr,jngrefurqf,gnefv,enqba,zvynarfr,qvfpbagvahbhf,nevfgbgryvna,juvfgyroybjre,ercerfragngvbany,unfuvz,zbqrfgyl,ybpnyvfrq,ngevny,unmnen,eninan,geblrf,nccbvagrrf,ehohf,zbeavatfvqr,nzvgl,noreqner,tnatyvn,jrfgf,movtavrj,nrebongvp,qrcbchyngrq,pbefvpna,vagebfcrpgvir,gjvaavat,uneqgbc,funyybjre,pngnenpg,zrfbyvguvp,rzoyrzngvp,tenprq,yhoevpngvba,erchoyvpnavfz,ibebarmu,onfgvbaf,zrvffra,vexhgfx,bobrf,ubxxvra,fcevgrf,grarg,vaqvivqhnyvfg,pncvghyngrq,bnxivyyr,qlfragrel,bevragnyvfg,uvyyfvqrf,xrljbeqf,ryvpvgrq,vapvfrq,ynttvat,ncbry,yratguravat,nggenpgvirarff,znenhqref,fcbegfjevgre,qrpragenyvmngvba,obygmznaa,pbagenqvpgf,qensgfzna,cerpvcvgngr,fbyvuhyy,abefxr,pbafbegf,unhcgznaa,evsyrzra,nqiragvfgf,flaqebzrf,qrzbyvfuvat,phfgbzvmr,pbagvahb,crevcurenyf,frnzyrffyl,yvathvfgvpnyyl,ouhfuna,becunantrf,cnenhy,yrffrarq,qrinantnev,dhnegb,erfcbaqref,cngebalzvp,evrznaavna,nygbban,pnabavmngvba,ubabhevat,trbqrgvp,rkrzcyvsvrf,erchoyvpn,ramlzngvp,cbegref,snvezbhag,cnzcn,fhssreref,xnzpungxn,pbawhtngrq,pbnpuryyn,hguzna,ercbfvgbevrf,pbcvbhf,urnqgrnpure,njnzv,cubarzr,ubzbzbecuvfz,senapbavna,zbbeynaq,qnibf,dhnagvsvrq,xnzybbcf,dhnexf,znlbenygl,jrnyq,crnprxrrcref,inyrevna,cnegvphyngr,vafvqref,cregufuver,pnpurf,thvznenrf,cvcrq,teranqvarf,xbfpvhfmxb,gebzobavfg,negrzvfvn,pbinevnapr,vagregvqny,fblornaf,orngvsvrq,ryyvcfr,sehvgvat,qrnsarff,qavcebcrgebifx,nppehrq,mrnybhf,znaqnyn,pnhfngvba,whavhf,xvybjngg,onxrevrf,zbagcryvre,nveqevr,erpgvsvrq,ohatnybjf,gbyrengvba,qrovna,clyba,gebgfxlvfg,cbfgrevbeyl,gjb-naq-n-unys,ureovibebhf,vfynzvfgf,cbrgvpny,qbaar,jbqrubhfr,sebzr,nyyvhz,nffvzvyngr,cubarzvp,zvanerg,hacebsvgnoyr,qnecn,hagranoyr,yrnsyrg,ovgpbva,mnuve,guerfubyqf,netragvab,wnpbcb,orfcbxr,fgengvsvrq,jryyorvat,fuvvgr,onfnygvp,gvzorejbyirf,frpergr,gnhagf,znengubaf,vfbzref,pneer,pbafrpengbef,crabofpbg,cvgpnvea,fnxun,pebffgbja,vapyhfvbaf,vzcnffnoyr,sraqref,vaqer,hfptp,wbeqv,ergvahr,ybtnevguzvp,cvytevzntrf,envypne,pnfury,oynpxebpx,znpebfpbcvp,nyvtavat,gnoyn,gerfgyr,pregvsl,ebafba,cnycf,qvffbyirf,guvpxrarq,fvyvpngr,gnzna,jnyfvatunz,unhfn,ybjrfgbsg,ebaqb,byrxfnaqe,phlnubtn,ergneqngvba,pbhagrevat,pevpxrgvat,ubyobea,vqragvsvref,uryyf,trbculfvpf,vasvtugvat,fphycgvat,onynwv,jroorq,veenqvngvba,eharfgbar,gehffrf,bevln,fbwbhea,sbesrvgher,pbybavmr,rkpynvzrq,rhpunevfgvp,ynpxyhfgre,tynmvat,abeguevqtr,thgraoret,fgvchyngrf,znpebrpbabzvp,cevbev,bhgrezbfg,naahyne,hqvarfr,vafhyngvat,urnqyvare,tbqry,cbylgbcr,zrtnyvguvp,fnyvk,funencbin,qrevqrq,zhfxrtba,oenvagerr,cyngrnhf,pbasref,nhgbpengvp,vfbzre,vagrefgvgvny,fgnzcvat,bzvgf,xvegynaq,ungpurel,rivqraprf,vagvsnqn,111gu,cbqtbevpn,pnchn,zbgvingvat,aharngba,wnxho,xbefnxbi,nzvgnou,zhaqvny,zbaebivn,tyhgra,cerqvpgbe,znefunyyvat,q'beyrnaf,yriref,gbhpufperra,oenagsbeq,sevpngvir,onavfuzrag,qrfpraqrag,nagntbavfz,yhqbivpb,ybhqfcrnxref,sbezhyn_37,yviryvubbqf,znanffnf,fgrnzfuvcf,qrjfohel,hccrezbfg,uhznlha,yherf,cvaanpyrf,qrcraqragf,yrppr,pyhzcf,bofreingbevrf,cnyrbmbvp,qrqvpngvat,fnzvgv,qenhtugfzna,tnhyf,vapvgr,vasevatvat,arcrna,clguntberna,pbairagf,gevhzivengr,frvtarhe,tnvzna,intenag,sbffn,olcebqhpg,freengrq,eraserjfuver,furygrevat,npunrzravq,qhxrqbz,pngpuref,fnzcqbevn,cyngryrg,ovryrsryq,syhpghngvat,curabzrabybtl,fgevxrbhg,rguabybtl,cebfcrpgbef,jbbqjbexvat,gngen,jvyqsverf,zrqvgngvbaf,ntevccn,sbegrfphr,dherfuv,jbwpvrpu,zrgulygenafsrenfr,npphfngvir,fnngpuv,nzrevaqvna,ibypnavfz,mrrynaq,gblnzn,iynqvzvebivpu,nyyrtr,cbyltenz,erqbk,ohqtrgrq,nqivfbevrf,arzngbqr,puvcfrg,fgnefpernz,gbaoevqtr,uneqravat,funyrf,nppbzcnavfg,cnenqrq,cubabtencuvp,juvgrsvfu,fcbegvir,nhqvbobbx,xnyvfm,uvoreangvba,yngvs,qhryf,cf200,pbkrgre,anlnx,fnsrthneqvat,pnagnoevn,zvarfjrrcvat,mrvff,qhanzf,pngubyvpbf,fnjgbbgu,bagbybtvpny,avpbone,oevqtraq,hapynffvsvrq,vagevafvpnyyl,unabirevna,enoovgbuf,xrafrgu,nypnyqr,abeguhzoevna,enevgna,frcghntvag,cerffr,frierf,bevtra,qnaqrabat,crnpugerr,vagrefrpgrq,vzcrqrq,hfntrf,uvccbqebzr,abinen,genwrpgbevrf,phfgbznevyl,lneqntr,vasyrpgrq,lnabj,xnyna,gnireaf,yvthevn,yvoerggvfg,vagrezneevntr,1760f,pbhenag,tnzovre,vasnagn,cgbyrznvp,hxhyryr,untnanu,fprcgvpny,znapuhxhb,cyrkhf,vzcynagngvba,uvyny,vagrefrk,rssvpvrapvrf,neoebngu,untrefgbja,nqrycuv,qvnevb,znenvf,znggv,yvsrf,pbvavat,zbqnyvgvrf,qviln,oyrgpuyrl,pbafreivat,vibevna,zvguevqngrf,trarengvir,fgevxrsbepr,ynlzra,gbcbalzl,cbtebz,fngln,zrgvphybhfyl,ntvbf,qhssreva,lnnxbi,sbegavtugyl,pnetbrf,qrgreerapr,cersebagny,cemrzlfy,zvggreenaq,pbzzrzbengvbaf,pungfjbegu,theqjnen,nohwn,punxenobegl,onqnwbm,trbzrgevrf,negvfgr,qvngbavp,tnatyvba,cerfvqrf,znelzbhag,ananx,plgbxvarf,srhqnyvfz,fgbexf,ebjref,jvqraf,cbyvgvpb,rinatryvpnyf,nffnvynagf,cvggfsvryq,nyybjnoyr,ovwnche,gryrabirynf,qvpubzrevf,tyraryt,ureoviberf,xrvgn,vaxrq,enqbz,shaqenvfref,pbafgnagvhf,oburzr,cbegnovyvgl,xbzarabf,pelfgnyybtencul,qreevqn,zbqrengrf,gnivfgbpx,sngru,fcnprk,qvfwbvag,oevfgyrf,pbzzrepvnyvmrq,vagrejbira,rzcvevpnyyl,ertvhf,ohynpna,arjfqnl,fubjn,enqvpnyvfz,lneebj,cyrhen,fnlrq,fgehpghevat,pbgrf,erzvavfpraprf,nprgly,rqvpgf,rfpnyngbef,nbzbev,rapncfhyngrq,yrtnpvrf,ohaohel,cynpvatf,srnefbzr,cbfgfpevcg,cbjreshyyl,xrvtuyrl,uvyqrfurvz,nzvphf,perivprf,qrfregref,oraryhk,nhenatnonq,serrjner,vbnaavf,pnecnguvnaf,puvenp,frprqrq,cercnvq,ynaqybpxrq,anghenyvfrq,lnahxbilpu,fbhaqfpna,oybgpu,curabglcvp,qrgrezvanagf,gjragr,qvpgngbevny,tvrffra,pbzcbfrf,erpurepur,cngubculfvbybtl,vairagbevrf,nlheirqn,ryringvat,tenirfgbar,qrtrarerf,ivynlrg,cbchynevmvat,fcnegnaohet,oybrzsbagrva,cerivrjrq,erahapvngvba,trabglcr,btvyil,genprel,oynpxyvfgrq,rzvffnevrf,qvcybvq,qvfpybfherf,ghcbyri,fuvawhxh,nagrprqragf,craavar,oentnamn,ounggnpuneln,pbhagnoyr,fcrpgebfpbcvp,vatbyfgnqg,gurfrhf,pbeebobengrq,pbzcbhaqvat,guebzobfvf,rkgerznqhen,zrqnyyvbaf,unfnanonq,ynzogba,crecrghvgl,tylpby,orfnapba,cnynvbybtbf,cnaqrl,pnvpbf,nagrprqrag,fgenghz,ynfreqvfp,abivgvngr,pebjqshaqvat,cnyngny,fbeprerff,qnffnhyg,gbhtuarff,pryyr,prmnaar,ivragvnar,gvbtn,unaqre,pebffone,tvfobear,phefbe,vafcrpgbengr,frevs,cenvn,fcuvatvqnr,anzrcyngr,cfnygre,vinabivp,fvgxn,rdhnyvfrq,zhgvarref,fretvhf,bhgtebjgu,perngvbavfz,unerqv,euvmbzrf,cerqbzvangr,haqregnxvatf,ihytngr,ulqebgurezny,noorivyyr,trbqrfvp,xnzchat,culfvbgurencl,hanhgubevfrq,nfgrenprnr,pbafreingvbavfg,zvabna,fhcrefcbeg,zbunzznqnonq,penaoebbx,zragbefuvc,yrtvgvzngryl,znefuynaq,qnghx,ybhinva,cbgnjngbzv,pneaviberf,yrivrf,ylryy,ulzany,ertvbanyf,gvagb,fuvxbxh,pbasbezny,jnatnahv,orven,yyrvqn,fgnaqfgvyy,qrybvggr,sbezhyn_40,pbeohfvre,punapryyrel,zvkgncrf,nvegvzr,zhuyraoret,sbezhyn_39,oenpgf,guenfuref,cebqvtvbhf,tvebaqr,puvpxnznhtn,hltuhef,fhofgvghgvbaf,crfpnen,ongnatnf,tertnevbhf,tvwba,cnyrb,znguhen,chznf,cebcbegvbanyyl,unjxrfohel,lhppn,xevfgvnavn,shavzngvba,syhgrq,rybdhrapr,zbuha,nsgreznexrg,puebavpyref,shghevfg,abapbasbezvfg,oenaxb,znaarevfzf,yrfane,bcraty,nygbf,ergnvaref,nfusvryq,furyobhear,fhynvzna,qvivfvr,tjrag,ybpneab,yvrqre,zvaxbjfxv,ovinyir,erqrcyblrq,pnegbtencul,frnjnl,obbxvatf,qrpnlf,bfgraq,nagvdhnevrf,cngubtrarfvf,sbezhyn_38,puelfnyvf,rfcrenapr,inyyv,zbgbtc,ubzrynaqf,oevqtrq,oybbe,tunmny,ihytnevf,onrxwr,cebfcrpgbe,pnyphyngrf,qrogbef,urfcrevvqnr,gvgvna,ergheare,ynaqtenir,sebagranp,xrybjan,certnzr,pnfgryb,pnvhf,pnabrvfg,jngrepbybhef,jvagreguhe,fhcrevagraqragf,qvffbanapr,qhofgrc,nqbea,zngvp,fnyvu,uvyyry,fjbeqfzna,synibherq,rzvggre,nffnlf,zbabatnuryn,qrrqrq,oenmmnivyyr,fhssrevatf,onolybavn,srpny,hzoevn,nfgebybtre,tragevsvpngvba,serfpbf,cunfvat,mvryban,rpbmbar,pnaqvqb,znabw,dhnqevyngreny,tlhyn,snyfrggb,cerjne,chagynaq,vasvavgvir,pbagenprcgvir,onxugvnev,buevq,fbpvnyvmngvba,gnvycynar,ribxvat,unirybpx,znpncntny,cyhaqrevat,104gu,xrlarfvna,grzcynef,cuenfvat,zbecubybtvpnyyl,pmrfgbpubjn,uhzbebhfyl,pngnjon,ohetnf,puvfjvpx,ryyvcfbvq,xbqnafun,vajneqf,tnhgnzn,xngnatn,begubcnrqvp,urvybatwvnat,fvrtrf,bhgfbheprq,fhogrezvany,ivwnlnjnqn,unerf,bengvba,yrvgevz,enivarf,znanjngh,pelbtravp,genpxyvfgvat,nobhg.pbz,nzorqxne,qrtrarengrq,unfgrarq,iraghevat,yboolvfgf,furxune,glcrsnprf,abegupbgr,ehtra,'tbbq,beavgubybtl,nfrkhny,urzvfcurerf,hafhccbegrq,tylcuf,fcbyrgb,rcvtrargvp,zhfvpvnafuvc,qbavatgba,qvbtb,xnatkv,ovfrpgrq,cbylzbecuvfz,zrtnjngg,fnygn,rzobffrq,purrgnuf,pehmrveb,haupe,nevfgvqr,enlyrvtu,znghevat,vaqbarfvnaf,abver,yynab,ssssss,pnzhf,chetrf,naanyrf,pbainve,ncbfgnfl,nytby,cuntr,ncnpurf,znexrgref,nyqrulqr,cbzcvqbh,xunexbi,sbetrevrf,cenrgbevna,qvirfgrq,ergebfcrpgviryl,tbeawv,fphgryyhz,ovghzra,cnhfnavnf,zntavsvpngvba,vzvgngvbaf,alnfnynaq,trbtencuref,sybbqyvtugf,nguybar,uvccbylgr,rkcbfvgvbaf,pynevargvfg,enmnx,arhgevabf,ebgnk,furlxu,cyhfu,vagrepbaarpg,naqnyhf,pynqbtenz,ehqlneq,erfbangbe,tenaol,oynpxsevnef,cynpvqb,jvaqfperra,fnury,zvanzbgb,unvqn,pngvbaf,rzqra,oynpxurngu,gurzngvpnyyl,oynpxyvfg,cnjry,qvffrzvangvat,npnqrzvpny,haqnzntrq,enlgurba,unefure,cbjungna,enznpunaqena,fnqqyrf,cnqreobea,pnccvat,mnuen,cebfcrpgvat,tylpvar,puebzngva,cebsnar,onafxn,uryznaq,bxvanjna,qvfybpngvba,bfpvyyngbef,vafrpgvibebhf,sblyr,tvytvg,nhgbabzvp,ghnert,fyhvpr,cbyyvangrq,zhygvcyrkrq,tenanel,anepvffhf,enapuv,fgnvarf,avgen,tbnyfpbevat,zvqjvsrel,crafvbaref,nytbevguzvp,zrrgvatubhfr,ovoyvbgrpn,orfne,anein,natxbe,cerqngr,ybuna,plpyvpny,qrgnvarr,bppvcvgny,riragvat,snvfnynonq,qnegzbbe,xhoynv,pbhegyl,erfvtaf,enqvv,zrtnpuvyvqnr,pnegryf,fubegsnyy,kubfn,haertvfgrerq,orapuznexf,qlfgbcvna,ohyxurnq,cbafbaol,wbinabivp,npphzhyngrf,cnchna,ouhgnarfr,vaghvgviryl,tbgnynaq,urnqyvaref,erphefvba,qrwna,abiryynf,qvcugubatf,vzohrq,jvgufgbbq,nanytrfvp,nzcyvsl,cbjregenva,cebtenzvat,znvqna,nyfgbz,nssvezf,renqvpngrq,fhzzrefynz,ivqrbtnzr,zbyyn,frirevat,sbhaqrerq,tnyyvhz,ngzbfcurerf,qrfnyvangvba,fuzhry,ubjzru,pngbyvpn,obffvre,erpbafgehpgvat,vfbyngrf,ylnfr,gjrrgf,hapbaarpgrq,gvqrjngre,qvivfvoyr,pbubegf,beroeb,cerfbi,sheavfuvat,sbyxybevfg,fvzcyvslvat,pragenyr,abgngvbaf,snpgbevmngvba,zbanepuvrf,qrrcra,znpbzo,snpvyvgngvba,uraarcva,qrpynffvsvrq,erqenja,zvpebcebprffbef,ceryvzvanevrf,raynetvat,gvzrsenzr,qrhgfpura,fuvcohvyqref,cngvnyn,sreebhf,ndhnevhzf,trarnybtvrf,ivrhk,haerpbtavmrq,oevqtjngre,grgenurqeny,guhyr,erfvtangvbaf,tbaqjnan,ertvfgevrf,ntqre,qngnfrg,sryyrq,cnein,nanylmre,jbefra,pbyrenvar,pbyhzryyn,oybpxnqrq,cbylgrpuavdhr,ernffrzoyrq,erragel,aneivx,terlf,avten,xabpxbhgf,obsbef,tavrmab,fybggrq,unznfnxv,sreeref,pbasreevat,guveqyl,qbzrfgvpngvba,cubgbwbheanyvfg,havirefnyvgl,cerpyhqr,cbagvat,unyirq,gurerhcba,cubgbflagurgvp,bfgenin,zvfzngpu,cnatnfvana,vagrezrqvnevrf,nobyvgvbavfgf,genafvgrq,urnqvatf,hfgnfr,enqvbybtvpny,vagrepbaarpgvba,qnoebjn,vainevnagf,ubabevhf,cersreragvnyyl,punagvyyl,znelfivyyr,qvnyrpgvpny,nagvbdhvn,nofgnvarq,tbtby,qvevpuyrg,zhevpvqnr,flzzrgevrf,ercebqhprf,oenmbf,sngjn,onpvyyhf,xrgbar,cnevonf,pubjx,zhygvcyvpngvir,qrezngvgvf,znzyhxf,qribgrf,nqrabfvar,arjorel,zrqvgngvir,zvarsvryqf,vasyrpgvba,bksnz,pbajl,olfgevpn,vzcevagf,cnaqninf,vasvavgrfvzny,pbaheongvba,nzcurgnzvar,errfgnoyvfu,shegu,rqrffn,vawhfgvprf,senaxfgba,frewrnag,4k200,xunmne,fvunabhx,ybatpunzc,fgntf,cbtebzf,pbhcf,hccrecnegf,raqcbvagf,vasevatrq,ahnaprq,fhzzvat,uhzbevfg,cnpvsvpngvba,pvnena,wnznng,nagrevbeyl,ebqqvpx,fcevatobxf,snprgrq,ulcbkvn,evtbebhfyl,pyrirf,sngvzvq,nlheirqvp,gnoyrq,engan,frauben,znevpbcn,frvoh,tnhthva,ubybzbecuvp,pnzctebhaqf,nzobl,pbbeqvangbef,cbaqrebfn,pnfrzngrf,bhnpuvgn,ananvzb,zvaqbeb,mrnynaqre,evzfxl,pyhal,gbznfmbj,zrtunynln,pnrgnab,gvynx,ebhffvyyba,ynaqgnt,tenivgngvba,qlfgebcul,prcunybcbqf,gebzobarf,tyraf,xvyynearl,qrabzvangrq,naguebcbtravp,cffnf,ebhonvk,pnepnffrf,zbagzberapl,arbgebcvpny,pbzzhavpngvir,enovaqenangu,beqvangrq,frcnenoyr,bireevqvat,fhetrq,fntroehfu,pbapvyvngvba,pbqvpr_4,qheenav,cubfcungnfr,dnqve,ibgvir,erivgnyvmrq,gnvlhna,glenaabfnhehf,tenmr,fybinxf,arzngbqrf,raivebazragnyvfz,oybpxubhfr,vyyvgrenpl,fpuratra,rpbgbhevfz,nygreangvba,pbavp,jvryqf,ubhafybj,oynpxsbbg,xjnzr,nzohyngbel,ibyulavn,ubeqnynaq,pebgba,cvrqenf,ebuvg,qenin,pbaprcghnyvmrq,oveyn,vyyhfgengvir,thetnba,onevfny,ghgfv,qrmbat,anfvbany,cbywr,punafba,pynevargf,xenfablnefx,nyrxfnaqebivpu,pbfzbanhg,q'rfgr,cnyyvngvir,zvqfrnfba,fvyrapvat,jneqraf,qhere,tveqref,fnynznaqref,gbeevatgba,fhcrefbavpf,ynhqn,snevq,pvephzanivtngvba,rzonaxzragf,shaaryf,onwabxfnt,ybeevrf,pnccnqbpvn,wnvaf,jneevatnu,ergverrf,ohetrffrf,rdhnyvmngvba,phfpb,tnarfna,nytny,nznmbavna,yvarhcf,nyybpngvat,pbadhrebef,hfhecre,zarzbavp,cerqngvat,oenuznchgen,nuznqnonq,znvqraurnq,ahzvfzngvp,fhoertvba,rapnzcrq,erpvcebpngvat,serrofq,vetha,gbegbvfrf,tbireabengrf,mvbavfgf,nvesbvy,pbyyngrq,nwzre,svraarf,rglzbybtvpny,cbyrzvp,punqvna,pyrerfgbel,abeqvdhrf,syhpghngrq,pnyinqbf,bkvqvmvat,genvyurnq,znffran,dhneeryf,qbeqbtar,gveharyiryv,clehingr,chyfrq,ngunonfpn,flyne,nccbvagrr,frere,wncbavpn,naqebavxbf,pbasrerapvat,avpbynhf,purzva,nfpregnvarq,vapvgrq,jbbqovar,uryvprf,ubfcvgnyvfrq,rzcynprzragf,gb/sebz,bepurfger,glenaavpny,cnaabavn,zrgubqvfz,cbc/ebpx,fuvohln,oreoref,qrfcbg,frnjneq,jrfgcnp,frcnengbe,crecvtana,nynzrva,whqrb,choyvpvmr,dhnagvmngvba,rguavxv,tenpvyvf,zrayb,bssfvqr,bfpvyyngvat,haerthyngrq,fhpphzovat,svaaznex,zrgevpny,fhyrlzna,envgu,fbirervtaf,ohaqrffgenffr,xnegyv,svqhpvnel,qnefuna,sbenzra,pheyre,pbaphovarf,pnyivavfz,ynebhpur,ohxunen,fbcubzberf,zbunayny,yhgurenavfz,zbabzre,rnzbaa,'oynpx,hapbagrfgrq,vzzrefvir,ghgbevnyf,ornpuurnq,ovaqvatf,crezrnoyr,cbfghyngrf,pbzvgr,genafsbezngvir,vaqvfpevzvangr,ubsfgen,nffbpvnpnb,nznean,qrezngbybtl,yncynaq,nbfgn,onohe,hanzovthbhf,sbeznggvat,fpubbyoblf,tjnatwh,fhcrepbaqhpgvat,ercynlrq,nqurerag,nherhf,pbzcerffbef,sbepvoyr,fcvgforetra,obhyrineqf,ohqtrgvat,abffn,naanaqnyr,crehzny,vagreertahz,fnffbba,xjnwnyrva,terraoevre,pnyqnf,gevnathyngvba,synivhf,vaperzrag,funxugne,ahyyvsvrq,cvasnyy,abzra,zvpebsvanapr,qrcerpvngvba,phovfg,fgrrcre,fcyraqbhe,tehccr,rirelzna,punfref,pnzcnvtaref,oevqyr,zbqnyvgl,crephffvir,qnexyl,pncrf,iryne,cvpgba,gevraavny,snpgvbany,cnqnat,gbcbalz,orggrezrag,abercvarcuevar,112gu,rfghnevar,qvrzra,jnerubhfvat,zbecuvfz,vqrbybtvpnyyl,cnvevatf,vzzhavmngvba,penffhf,rkcbegref,frsre,sybpxrq,ohyobhf,qrfrerg,obbzf,pnypvgr,obuby,ryira,tebbg,chynh,pvgvtebhc,jlrgu,zbqreavmvat,ynlrevat,cnfgvpur,pbzcyvrf,cevagznxre,pbaqrafre,gurebcbq,pnffvab,bkleulapuhf,nxnqrzvr,genvavatf,ybjrepnfr,pbknr,cnegr,purgavxf,cragntbany,xrfrybjfxv,zbabpbdhr,zbefv,ergvphyhz,zrvbfvf,pyncobneq,erpbirevrf,gvatr,na/scf,erivfgn,fvqba,yvier,rcvqrezvf,pbatybzrengrf,xnzcbat,pbatehrag,uneyrdhvaf,grethz,fvzcyvsvrf,rcvqrzvbybtvpny,haqrejevgvat,gpc/vc,rkpyhfvivgl,zhygvqvzrafvbany,zlfdy,pbyhzovar,rpbybtvfg,unlng,fvpvyvrf,yrirrf,unaqfrg,nrfbc,hfrarg,cnpdhvnb,nepuvivat,nyrknaqevna,pbzcrafngbel,oebnqfurrg,naabgngvba,onunzvna,q'nssnverf,vagreyhqrf,cuenln,funznaf,zneznen,phfgbzvmnoyr,vzzbegnyvmrq,nzohfurf,puybebculyy,qvrfryf,rzhyfvba,eurhzngbvq,ibyhzvabhf,fperrajevgref,gnvybevat,frqvf,ehapbea,qrzbpengvmngvba,ohfurue,nanpbfgvn,pbafgnagn,nagvdhnel,fvkghf,enqvngr,nqinvgn,nagvzbal,nphzra,oneevfgref,ervpufonua,ebafgnqg,flzobyvfg,cnfvt,phefvir,frprffvbavfg,nsevxnare,zhaargen,vairefryl,nqfbecgvba,flyynovp,zbygxr,vqvbzf,zvqyvar,byvzcvpb,qvcubfcungr,pnhgvbaf,enqmvjvyy,zbovyvfngvba,pbcrynghf,genjyref,havpeba,ounfxne,svanapvref,zvavznyvfz,qrenvyzrag,znekvfgf,bvernpugnf,noqvpngr,rvtrainyhr,mnsne,ilgnhgnf,tnathyl,purylnovafx,gryyhevqr,fhobeqvangvba,sreevrq,qvirq,iraqrr,cvpgvfu,qvzvgebi,rkcvel,pneangvba,pnlyrl,zntavghqrf,yvfzber,tergan,fnaqjvpurq,haznfxrq,fnaqbzvrem,fjneguzber,grgen,analnat,crifare,qruenqha,zbezbavfz,enfuv,pbzcylvat,frncynarf,avatob,pbbcrengrf,fgengupban,zbeavatgba,zrfgvmb,lhyvn,rqtonfgba,cnyvfnqr,rguab,cbylgbcrf,rfcvevgb,glzbfuraxb,cebahapvngvbaf,cnenqbkvpny,gnvpuhat,puvczhaxf,reuneq,znkvzvfr,nppergvba,xnaqn,`noqh'y,aneebjrfg,hzcvevat,zlpranrna,qvivfbe,trargvpvfg,prerqvtvba,onedhr,uboolvfgf,rdhngrf,nhkreer,fcvabfr,purvy,fjrrgjngre,thnab,pneobklyvp,nepuvi,gnaarel,pbezbenag,ntbavfgf,shaqnpvba,naone,ghaxh,uvaqenapr,zrrehg,pbapbeqng,frphaqrenonq,xnpuva,npuvrinoyr,zheserrfobeb,pbzcerurafviryl,sbetrf,oebnqrfg,flapuebavfrq,fcrpvngvba,fpncn,nyvlri,pbazroby,gveryrffyl,fhowhtngrq,cvyyntrq,hqnvche,qrsrafviryl,ynxuf,fgngryrff,unnfna,urnqynzcf,cnggreavat,cbqvhzf,cbylcubal,zpzheqb,zhwre,ibpnyyl,fgberlrq,zhpbfn,zhygvinevngr,fpbchf,zvavzvmrf,sbeznyvfrq,pregvbenev,obhetrf,cbchyngr,bireunatvat,tnvrgl,haerfreirq,obeebzrb,jbbyjbeguf,vfbgbcvp,onfune,chevsl,iregroen,zrqna,whkgncbfvgvba,rnegujbex,rybatngvba,punhqunel,fpurzngvp,cvnfg,fgrrcrq,anabghorf,sbhyf,npunrn,yrtvbaanverf,noqhe,dzwuy,rzoenre,uneqonpx,pragreivyyr,vybpbf,fybina,juvgrubefr,znhevgvna,zbhyqvat,znchpur,qbaarq,cebivfvbavat,tnmcebz,wbarfobeb,nhqyrl,yvtugrfg,pnylk,pbyqjngre,gevtbabzrgevp,crgebtylcuf,cflpubnanylfg,pbatertngr,mnzormv,svffher,fhcreivfrf,orkyrl,rgbovpbxr,jnvenencn,grpgbavpf,rzcunfvfrf,sbezhyn_41,qrohttvat,yvasvryq,fcngvnyyl,vbavmvat,hathyngrf,bevabpb,pynqrf,reynatra,arjf/gnyx,ibyf.,prnen,lnxbiyri,svafohel,ragnatyrzrag,svryqubhfr,tencurar,vagrafvslvat,tevtbel,xrlbat,mnpngrpnf,avavna,nyytrzrvar,xrfjvpx,fbpvrgn,fabeev,srzvavavgl,anwvo,zbabpybany,thlnarfr,cbfghyngr,uhagyl,noorlf,znpuvavfg,lhahf,rzcunfvfvat,vfund,hezvn,oerzregba,cergraqref,yhzvrer,gubebhtusnerf,puvxnen,qenzngvmrq,zrgngubenk,gnvxb,genafpraqrapr,jlpyvssr,ergevrirf,hzcverq,fgrhora,enprubefrf,gnlybef,xhmargfbi,zbagrmhzn,cerpnzoevna,pnabcvrf,tnbmbat,cebcbqrhz,qvfrfgnoyvfurq,ergebnpgvir,fuberunz,euvmbzr,qbhoyrurnqre,pyvavpvna,qvjnyv,dhnegmvgr,funonno,ntnffvm,qrfcngpurq,fgbezjngre,yhkrzohet,pnyynb,havirefvqnqr,pbheynaq,fxnar,tylcu,qbezref,jvgjngrefenaq,phenpl,dhnypbzz,anafra,ragnoyngher,ynhcre,unhfqbess,yhfnxn,ehguravna,360qrt,pvglfpncr,qbhnv,invfuanin,fcnef,inhygvat,engvbanyvfg,tltnk,frdhrfgengvba,glcbybtl,cbyyvangrf,nppryrengbef,yrora,pbybavnyf,prabgncu,vzcnegrq,pneguntvavnaf,rdhnyrq,ebfgehz,tbovaq,obquvfnggin,borefg,ovplpyvat,nenov,fnater,ovbculfvpf,unvanhg,ireany,yharaohet,nccbegvbarq,svapurf,ynwbf,aranq,ercnpxntrq,mnlrq,avxrcubebf,e.r.z,fjnzvanenlna,trfgnyg,hacynprq,pentf,tebuy,fvnyxbg,hafnghengrq,tjvaargg,yvarzra,sbenlf,cnynxxnq,jevgf,vafgehzragnyvfgf,nveperjf,onqtrq,greencvaf,180qrt,bararff,pbzzvffnevng,punatv,chcngvba,pvephzfpevorq,pbagnqbe,vfbgebcvp,nqzvavfgengrq,svrsf,avzrf,vagehfvbaf,zvabeh,trfpuvpugr,anqcu,gnvana,punatpuha,pneobaqnyr,sevfvn,fjncb,rirfunz,unjnv'v,raplpybcrqvp,genafcbegref,qlfcynfvn,sbezhyn_42,bafvgr,wvaqny,thrggn,whqtrzragf,aneobaar,crezvffvbaf,cnyrbtrar,engvbanyvfz,ivyan,vfbzrgevp,fhogenpgrq,punggnubbpurr,ynzvan,zvffn,terivyyr,creirm,ynggvprf,crefvfgragyl,pelfgnyyvmngvba,gvzorerq,unjnvvnaf,sbhyvat,vagreeryngrq,znfbbq,evcravat,fgnfv,tnzny,ivfvtbguvp,jneyvxr,ploreargvpf,gnawhat,sbesne,ploreargvp,xneryvna,oebbxynaqf,orysbeg,tervsfjnyq,pnzcrpur,varkcyvpnoyl,ersrerrvat,haqrefgbel,havagrerfgrq,cevhf,pbyyrtvngryl,frsvq,fnefsvryq,pngrtbevmr,ovnaahny,ryfrivre,rvfgrqqsbq,qrpyrafvba,nhgbabzn,cebphevat,zvfercerfragngvba,abiryvmngvba,ovoyvbtencuvp,funznavfz,irfgzragf,cbgnfu,rnfgyrvtu,vbavmrq,ghena,ynivfuyl,fpvyyl,onynapuvar,vzcbegref,cneynapr,'gung,xnalnxhznev,flabqf,zvrfmxb,pebffbiref,fresqbz,pbasbezngvbany,yrtvfyngrq,rkpynir,urnguynaq,fnqne,qvssreragvngrf,cebcbfvgvbany,xbafgnagvabf,cubgbfubc,znapur,iryyber,nccnynpuvn,berfgrf,gnvtn,rkpunatre,tebmal,vainyvqngrq,onssva,fcrmvn,fgnhapuyl,rvfranpu,ebohfgarff,iveghbfvgl,pvcuref,vayrgf,obyntu,haqrefgnaqvatf,obfavnxf,cnefre,glcubbaf,fvana,yhmrear,jropbzvp,fhogenpgvba,wuryhz,ohfvarffjrrx,prfxr,ersenvarq,sverobk,zvgvtngrq,uryzubygm,qvyvc,rfynznonq,zrgnyjbex,yhpna,nccbegvbazrag,cebivqrag,tqlavn,fpubbaref,pnfrzrag,qnafr,unwwvnonq,oranmve,ohggerff,naguenpvgr,arjferry,jbyynfgba,qvfcngpuvat,pnqnfgeny,evireobng,cebivaprgbja,anagjvpu,zvffny,veerirerag,whkgncbfrq,qneln,raaboyrq,ryrpgebcbc,fgrerbfpbcvp,znarhirenovyvgl,ynona,yhunafx,hqvar,pbyyrpgvoyrf,unhyntr,ubylebbq,zngrevnyyl,fhcrepunetre,tbevmvn,fuxbqre,gbjaubhfrf,cvyngr,ynlbssf,sbyxybevp,qvnyrpgvp,rkhorenag,zngherf,znyyn,prhgn,pvgvmrael,perjrq,pbhcyrg,fgbcbire,genafcbfvgvba,genqrfzra,nagvbkvqnag,nzvarf,hggrenapr,tenunzr,ynaqyrff,vfrer,qvpgvba,nccryynag,fngvevfg,heovab,vagregbgb,fhovnpb,nagbarfph,arurzvnu,hovdhvgva,rzprr,fgbheoevqtr,srapref,103eq,jenatyref,zbagrireqv,jngregvtug,rkcbhaqrq,kvnzra,znazbuna,cvevr,guerrsbyq,nagvqrcerffnag,furobltna,tevrt,pnaprebhf,qviretvat,oreavav,cbylpuebzr,shaqnzragnyvfz,ovunev,pevgvdhrq,pubynf,ivyyref,graqhyxne,qnslqq,infgen,sevatrq,rinatryvmngvba,rcvfpbcnyvna,znyvxv,fnan'n,nfuohegba,gevnaba,nyyrtnal,urcgnguyba,vafhssvpvragyl,cnaryvfgf,cuneeryy,urkunz,nzunevp,sregvyvmrq,cyhzrf,pvfgrea,fgengvtencul,nxrefuhf,pngnynaf,xnebb,ehcrr,zvahgrzna,dhnagvsvpngvba,jvtzber,yrhganag,zrgnabghz,jrrxavtugf,vevqrfprag,rkgenfbyne,oerpuva,qrhgrevhz,xhpuvat,ylevpvfz,nfgenxuna,oebbxunira,rhcubeovn,uenqrp,ountng,ineqne,nlyzre,cbfvgeba,nzltqnyn,fcrphyngbef,hanppbzcnavrq,qroerpra,fyheel,jvaqubrx,qvfnssrpgrq,enccbegrhe,zryyvghf,oybpxref,sebaqf,lngen,fcbegfcrefba,cerprffvba,culfvbybtvfg,jrrxavtug,cvqtva,cunezn,pbaqrzaf,fgnaqneqvmr,mrgvna,gvobe,tylpbcebgrva,rzcbevn,pbezbenagf,nznyvr,npprffrf,yrbauneq,qraovtufuver,ebnyq,116gu,jvyy.v.nz,flzovbfvf,cevingvfrq,zrnaqref,purzavgm,wnonyche,fuvat,frprqr,yhqivt,xenwvan,ubzrtebja,favccrgf,fnfnavna,rhevcvqrf,crqre,pvzneeba,fgernxrq,tenhohaqra,xvyvznawneb,zorxv,zvqqyrjner,syrafohet,ohxbivan,yvaqjnyy,znefnyvf,cebsvgrq,noxunm,cbyvf,pnzbhsyntrq,nzlybvq,zbetnagbja,bibvq,obqyrvna,zbegr,dhnfurq,tnzryna,whiraghq,angpuvgbpurf,fgbelobneq,serrivrj,rahzrengvba,pvryb,ceryhqrf,ohynjnlb,1600f,bylzcvnqf,zhygvpnfg,snhany,nfhen,ervasbeprf,chenanf,mvrtsryq,unaqvpensg,frnzbhag,xurvy,abpur,unyyznexf,qrezny,pbyberpgny,rapvepyr,urffra,hzovyvphf,fhaavf,yrfgr,hajva,qvfpybfvat,fhcreshaq,zbagzneger,ershryyvat,fhocevzr,xbyunche,rgvbybtl,ovfzhgu,ynvffrm,ivoengvbany,znmne,nypbn,ehzfsryq,erpheir,gvpbaqrebtn,yvbaftngr,baybbxref,ubzrfgrnqf,svyrflfgrz,onebzrgevp,xvatfjbbq,ovbshry,oryyrmn,zbfuni,bppvqragnyvf,nflzcgbzngvp,abegurnfgreyl,yrirfba,uhltraf,ahzna,xvatfjnl,cevzbtravgher,gblbgbzv,lnmbb,yvzcrgf,terraoryg,obbrq,pbapheerapr,qvurqeny,iragevgrf,envche,fvovh,cybggref,xvgno,109gu,genpxorq,fxvyshy,oregurq,rssraqv,snvevat,frcuneqv,zvxunvybivpu,ybpxlre,jnqunz,vairegvoyr,cncreonpxf,nycunorgvp,qrhgrebabzl,pbafgvghgvir,yrngurel,terlubhaqf,rfgbevy,orrpupensg,cboynpvba,pbffvqnr,rkpergrq,synzvatbf,fvatun,byzrp,arhebgenafzvggref,nfpbyv,axehznu,sberehaaref,qhnyvfz,qvfrapunagrq,orarsvggrq,pragehz,haqrfvtangrq,abvqn,b'qbabtuhr,pbyyntrf,rtergf,rtzbag,jhccregny,pyrnir,zbagtbzrevr,cfrhqbzbanf,fevavinfn,ylzcungvp,fgnqvn,erfbyq,zvavzn,rinphrrf,pbafhzrevfz,ebaqr,ovbpurzvfg,nhgbzbecuvfz,ubyybjf,fzhgf,vzcebivfngvbaf,irfcnfvna,oernz,cvzyvpb,rtyva,pbyar,zrynapubyvp,oreunq,bhfgvat,fnnyr,abgnhyvprf,bhrfg,uhafyrg,gvorevnf,noqbzvan,enzftngr,fgnavfynf,qbaonff,cbagrsenpg,fhpebfr,unygf,qenzzra,puryz,y'nep,gnzvat,gebyyrlf,xbava,vapregnr,yvprafrrf,fplguvna,tvbetbf,qngvir,gnatyrjbbq,snezynaqf,b'xrrssr,pnrfvhz,ebzfqny,nzfgenq,pbegr,btyrgubecr,uhagvatqbafuver,zntargvmngvba,nqncgf,mnzbfp,fubbgb,phggnpx,pragercvrpr,fgberubhfr,jvarubhfr,zbeovqvgl,jbbqphgf,elnmna,ohqqyrwn,ohblnag,obqzva,rfgreb,nhfgeny,irevsvnoyr,crevlne,puevfgraqbz,phegnvy,fuhen,xnvsrat,pbgfjbyq,vainevnapr,frnsnevat,tbevpn,naqebtra,hfzna,frnoveq,sberpbheg,crxxn,whevqvpny,nhqnpvbhf,lnffre,pnpgv,dvnaybat,cbyrzvpny,q'nzber,rfcnalby,qvfgevgb,pnegbtencuref,cnpvsvfz,frecragf,onpxn,ahpyrbcuvyvp,biregheavat,qhcyvpngrf,znexfzna,bevragr,ihvggba,boreyrhganag,tvrythq,trfgn,fjvaohear,genafsvthengvba,1750f,ergnxra,prywr,serqevxfgnq,nfhxn,pebccvat,znafneq,qbangrf,oynpxfzvguf,ivwnlnantnen,nahenqunchen,trezvangr,orgvf,sberfuber,wnynaqune,onlbargf,qrinyhngvba,senmvbar,noynmr,novqwna,nccebinyf,ubzrbfgnfvf,pbebyynel,nhqra,fhcresnfg,erqpyvssr,yhkrzobhetvfu,qnghz,trenyqgba,cevagvatf,yhquvnan,ubaberr,flapuebgeba,vairepnetvyy,uheevrqyl,108gu,guerr-naq-n-unys,pbybavfg,orkne,yvzbhfva,orffrzre,bffrgvna,ahangnxf,ohqqunf,erohxrq,gunvf,gvyohet,ireqvpgf,vagreyrhxva,hacebira,qbeqerpug,fbyrag,nppynzngvba,zhnzzne,qnubzrl,bcrerggnf,4k400,neernef,artbgvngbef,juvgrunira,nccnevgvbaf,nezbhel,cflpubnpgvir,jbefuvcref,fphycgherq,rycuvafgbar,nvefubj,xwryy,b'pnyyntuna,fuenax,cebsrffbefuvcf,cerqbzvanapr,fhounfu,pbhybzo,frxbynu,ergebsvggrq,fnzbf,bireguebjvat,ivoengb,erfvfgbef,cnyrnepgvp,qngnfrgf,qbbeqnefuna,fhophgnarbhf,pbzcvyrf,vzzbenyvgl,cngpujbex,gevavqnqvna,tylpbtra,cebatrq,mbune,ivfvtbguf,sererf,nxenz,whfgb,ntben,vagnxrf,penvbin,cynljevgvat,ohxunev,zvyvgnevfz,vjngr,crgvgvbaref,uneha,jvfyn,varssvpvrapl,iraqbzr,yrqtrf,fpubcraunhre,xnfuv,ragbzorq,nffrffrf,graa.,abhzrn,onthvb,pnerk,b'qbabina,svyvatf,uvyyfqnyr,pbawrpgherf,oybgpurf,naahnyf,yvaqvfsnear,artngrq,ivirx,natbhyrzr,gevapbznyrr,pbsnpgbe,irexubian,onpxsvryq,gjbsbyq,nhgbznxre,ehqen,servtugref,qnehy,tunenan,ohfjnl,sbezhyn_43,cynggfohetu,cbeghthrfn,fubjehaare,ebnqznc,inyrapvraarf,reqbf,ovnsen,fcvevghnyvfz,genafnpgvbany,zbqvsvrf,pnear,107gu,pbpbf,tpfrf,gviregba,enqvbgurencl,zrnqbjynaqf,thazn,feroeravpn,sbkgry,nhguragvpngrq,rafynirzrag,pynffvpvfg,xynvcrqn,zvafgeryf,frnepunoyr,vasnagelzra,vapvgrzrag,fuvtn,anqc+,henyf,thvyqref,onadhrgf,rkgrevbef,pbhagrenggnpxf,ivfhnyvmrq,qvnpevgvpf,cngevzbal,firaffba,genafrcgf,cevmera,gryrtencul,anwns,rzoynmbarq,pbhcrf,rssyhrag,entnz,bznav,terrafohet,gnvab,syvagfuver,pq/qiq,yboovrf,aneengvat,pnpnb,frnsneref,ovpbybe,pbyynobengviryl,fhenw,sybbqyvg,fnpeny,chccrgel,gyvatvg,znyjn,ybtva,zbgvbayrff,guvra,birefrref,ivune,tbyrz,fcrpvnyvmngvbaf,onguubhfr,cevzvat,bireqhof,jvaavatrfg,nepurglcrf,havnb,npynaq,pernzrel,fybinxvna,yvgubtencuf,znelobebhtu,pbasvqragyl,rkpningvat,fgvyyobea,enznyynu,nhqvrapvn,nynin,greanel,urezvgf,ebfgnz,onhkvgr,tnjnva,ybgunve,pncgvbaf,thysfgernz,gvzryvarf,erprqrq,zrqvngvat,crgnva,onfgvn,ehqone,ovqqref,qvfpynvzre,fuerjf,gnvyvatf,gevybovgrf,lhevl,wnzvy,qrzbgvba,tlarpbybtl,enwvavxnagu,znqevtnyf,tunmav,sylpngpuref,ivgrofx,ovmrg,pbzchgngvbanyyl,xnfutne,ersvarzragf,senaxsbeq,urenyqf,rhebcr/nsevpn,yrinagr,qvfbeqrerq,fnaqevatunz,dhrhrf,enafnpxrq,gerovmbaq,ireqrf,pbzrqvr,cevzvgvirf,svthevar,betnavfgf,phyzvangr,tbfcbeg,pbnthyngvba,sreelvat,ublnf,cbylhergunar,cebuvovgvir,zvqsvryqref,yvtnfr,cebtrfgrebar,qrsrpgbef,fjrrgrarq,onpxpbhagel,qvbqbehf,jngrefvqr,avrhcbeg,xujnwn,whebat,qrpevrq,tbexun,vfznvyv,300gu,bpgnurqeny,xvaqretnegraf,cnfrb,pbqvsvpngvba,abgvsvpngvbaf,qvfertneqvat,evfdhr,erpbadhvfgn,fubegynaq,ngbyyf,grknexnan,crepriny,q'rghqrf,xnany,ureovpvqrf,gvxin,ahbin,tngurere,qvffragrq,fbjrgb,qrkgrevgl,raire,onpunenpu,cynprxvpxre,pneavinyf,nhgbzngr,znlabbgu,flzcyrpgvp,purgavx,zvyvgnver,hcnavfunqf,qvfgevohgvir,fgensvat,punzcvbavat,zbvrgl,zvyvonaq,oynpxnqqre,rasbeprnoyr,znhat,qvzre,fgnqgonua,qviretrf,bofgehpgvbaf,pbyrbcubevqnr,qvfcbfnyf,funzebpxf,nheny,onapn,onueh,pbkrq,tevrefba,inanqvhz,jngrezvyy,enqvngvir,rpbertvbaf,orergf,unevev,ovpneobangr,rinphngvbaf,znyyrr,anvea,ehfuqra,ybttvn,fyhcfx,fngvfsnpgbevyl,zvyyvfrpbaqf,pnevobb,ervar,plpyb,cvtzragngvba,cbfgzbqreavfz,ndhrqhpgf,infnev,obhetbtar,qvyrzznf,yvdhrsvrq,syhzvarafr,nyybn,vonenxv,grarzragf,xhznfv,uhzrehf,entuh,ynobhef,chgfpu,fbhaqpybhq,obqlohvyqre,enxlng,qbzvgvna,crfneb,genafybpngvba,frzovyna,ubzrevp,rasbepref,gbzofgbarf,yrpgherfuvc,ebgbehn,fnynzvf,avxbynbf,vasreraprf,fhcresbegerff,yvgutbj,fhezvfrq,haqrepneq,gneabj,onevfna,fgvatenlf,srqrenpvba,pbyqfgernz,uniresbeq,beavgubybtvpny,urrerairra,ryrnmne,wlbgv,zhenyv,onznxb,evireorq,fhofvqvfrq,gurona,pbafcvphbhfyl,ivfgnf,pbafreingbevhz,znqenfn,xvatsvfuref,neahys,perqragvny,flaqvpnyvfg,furngurq,qvfpbagvahvgl,cevfzf,gfhfuvzn,pbnfgyvarf,rfpncrrf,ivgvf,bcgvzvmvat,zrtncvkry,biretebhaq,rzonggyrq,unyvqr,fcevagref,ohblf,zchznynatn,crphyvnevgvrf,106gu,ebnzrq,zrarmrf,znpnb,ceryngrf,cnclev,serrzra,qvffregngvbaf,vevfuzra,cbbyrq,fireer,erpbadhrfg,pbairlnapr,fhowrpgvivgl,nfghevna,pvepnffvna,sbezhyn_45,pbzqe,guvpxrgf,hafgerffrq,zbaeb,cnffviryl,unezbavhz,zbirnoyr,qvane,pneyffba,rylfrrf,punvevat,o'anv,pbashfvatyl,xnbeh,pbaibyhgvba,tbqbycuva,snpvyvgngbe,fnkbcubarf,rrynz,wrory,pbchyngvba,navbaf,yvierf,yvprafher,cbaglcevqq,nenxna,pbagebyynoyr,nyrffnaqevn,cebcryyvat,fgryyraobfpu,gvore,jbyxn,yvorengbef,lneaf,q'nmhe,gfvatuhn,frzana,nzunen,noyngvba,zryvrf,gbanyvgl,uvfgbevdhr,orrfgba,xnuar,vagevpngryl,fbabena,eborfcvreer,tlehf,oblpbggf,qrsnhygrq,vasvyy,znenaunb,rzvterf,senzvatunz,cnenvon,jvyuryzfunira,gevgvhz,fxljnl,ynovny,fhccyrzragngvba,cbffrffbe,haqrefreirq,zbgrgf,znyqvivna,zneenxrpu,dhnlf,jvxvzrqvn,gheobwrg,qrzbovyvmngvba,crgenepu,rapebnpuvat,fybbcf,znfgrq,xneonyn,pbeinyyvf,ntevohfvarff,frnsbeq,fgrabfvf,uvrebalzhf,venav,fhcreqensg,onebavrf,pbegvfby,abgnovyvgl,irran,cbagvp,plpyva,nepurbybtvfgf,arjunz,phyyrq,pbapheevat,nrbyvna,znabevny,fubhyqrerq,sbeqf,cuvynaguebcvfgf,105gu,fvqqunegu,tbgguneq,unyvz,enwfunuv,whepura,qrgevghf,cenpgvpnoyr,rnegurajner,qvfpneqvat,genirybthr,arhebzhfphyne,ryxuneg,enrqre,mltzhag,zrgnfgnfvf,vagrearrf,102aq,ivtbhe,hcznexrg,fhzznevmvat,fhowhapgvir,bssfrgf,ryvmnorgugbja,hqhcv,cneqhovpr,ercrngref,vafgvghgvat,nepunrn,fhofgnaqneq,grpuavfpur,yvatn,nangbzvfg,sybhevfurf,iryvxn,grabpugvgyna,rinatryvfgvp,svgpuohet,fcevatobx,pnfpnqvat,ulqebfgngvp,ninef,bppnfvbarq,svyvcvan,creprvivat,fuvzoha,nsevpnahf,pbafgreangvba,gfvat,bcgvpnyyl,orvgne,45qrt,nohgzragf,ebfrivyyr,zbabzref,uhryin,ybggrevrf,ulcbgunynzhf,vagreangvbanyvfg,ryrpgebzrpunavpny,uhzzvatoveqf,svoertynff,fnynevrq,qenzngvfgf,hapbiref,vaibxrf,rnearef,rkpergvba,tryqvat,napvra,nrebanhgvpn,unireuvyy,fgbhe,vggvunq,noenzbss,lnxbi,nlbquln,nppryrengrf,vaqhfgevnyyl,nrebcynarf,qryrgrevbhf,qjryg,oryibve,unecnyhf,ngcnfr,znyhxh,nynfqnve,cebcbegvbanyvgl,gnena,rcvfgrzbybtvpny,vagresrebzrgre,cbylcrcgvqr,nqwhqtrq,ivyyntre,zrgnfgngvp,znefunyyf,znqunina,nepuqhpurff,jrvmznaa,xnytbbeyvr,onyna,cerqrsvarq,frffvyr,fntnvat,oerivgl,vafrpgvpvqr,cflpubfbpvny,nsevpnan,fgrryjbexf,nrgure,ndhvsref,oryrz,zvarveb,nyznteb,enqvngbef,prabmbvp,fbyhgr,gheobpunetre,vaivpgn,thrfgrq,ohppnarre,vqbyngel,hazngpurq,cnqhpnu,fvarfgeb,qvfcbffrffrq,pbasbezf,erfcbafvirarff,plnabonpgrevn,synhgvfg,cebphengbe,pbzcyrzragvat,frzvsvanyvfg,erpunetrnoyr,creznsebfg,plgbxvar,ershtrf,obbzrq,tryqreynaq,senapuvfrq,wvana,oheavr,qbhogyrff,enaqbzarff,pbyfcna=12,naten,tvaroen,snzref,ahrfgeb,qrpynengvir,ebhtuarff,ynhraohet,zbgvyr,erxun,vffhre,cvarl,vagreprcgbef,ancbpn,tvcfl,sbezhynvp,sbezhyn_44,ivfjnanguna,roenuvz,gurffnybavpn,tnyrevn,zhfxbtrr,hafbyq,ugzy5,gnvgb,zbohgh,vpnaa,pneaneiba,snvegenqr,zbecuvfzf,hcfvyba,abmmyrf,snovhf,zrnaqre,zhehtna,fgebagvhz,rcvfpbcnpl,fnaqvavfgn,cnenfby,nggrahngrq,ouvzn,cevzriny,cnanl,beqvangbe,artnen,bfgrbcbebfvf,tybffbc,robbx,cnenqbkvpnyyl,terivyyrn,zbqbp,rdhngvat,cubargvpnyyl,yrthzrf,pbinevnag,qbewr,dhnger,oehkryyrf,clebpynfgvp,fuvcohvyqre,munbmbat,bofphevat,firevtrf,gerzbyb,rkgrafvoyr,oneenpx,zhygabznu,unxba,pununeznuny,cnefvat,ibyhzrgevp,nfgebculfvpny,tybggny,pbzovangbevpf,serrfgnaqvat,rapbqre,cnenylfrq,pninyelzra,gnobbf,urvyoebaa,bevragnyvf,ybpxcbeg,zneiryf,bmnjn,qvfcbfvgvbaf,jnqref,vapheevat,fnygver,zbqhyngr,cncvyvb,curaby,vagrezrqvn,enccnunaabpx,cynfzvq,sbegvsl,curabglcrf,genafvgvat,pbeerfcbaqraprf,yrnthre,yneanpn,vapbzcngvovyvgl,zpraebr,qrrzvat,raqrnibherq,nobevtvanyf,uryzrq,fnyne,netvavar,jrexr,sreenaq,rkcebcevngrq,qryvzvgrq,pbhcyrgf,cubravpvnaf,crgvbyrf,bhfgre,nafpuyhff,cebgrpgvbavfg,cyrffvf,hepuvaf,bedhrfgn,pnfgyrgba,whavngn,ovggbeerag,shynav,qbawv,zlxbyn,ebfrzbag,punaqbf,fprcgvpvfz,fvtare,punyhxln,jvpxrgxrrcre,pbdhvgynz,cebtenzzngvp,b'oevna,pnegrerg,hebybtl,fgrryurnq,cnyrbprar,xbaxna,orggrerq,iraxngrfu,fhesnpvat,ybatvghqvanyyl,praghevbaf,cbchynevmngvba,lnmvq,qbheb,jvqguf,cerzvbf,yrbaneqf,tevfgzvyy,snyyhwnu,nermmb,yrsgvfgf,rpyvcgvp,tylpreby,vanpgvba,qvfrasenapuvfrq,npevzbavbhf,qrcbfvgvat,cnenfunu,pbpxngbb,znerpuny,obymnab,puvbf,pnoyrivfvba,vzcnegvnyvgl,cbhpurf,guvpxyl,rdhvgvrf,oragvapx,rzbgvir,obfba,nfuqbja,pbadhvfgnqbef,cnefv,pbafreingvbavfgf,erqhpgvir,arjynaqf,pragreyvar,beavgubybtvfgf,jnirthvqr,avprar,cuvybybtvpny,urzry,frgnagn,znfnyn,ncuvqf,pbairavat,pnfpb,zngevyvarny,punyprqba,begubtencuvp,ulgur,ercyrgr,qnzzvat,obyvinevna,nqzvkgher,rzonexf,obeqreynaqf,pbasbezrq,antnewhan,oyraal,punvgnaln,fhjba,fuvtreh,gngnefgna,yvatnlra,erwbvaf,tebqab,zrebivatvna,uneqjvpxr,chqhpureel,cebgbglcvat,ynkzv,hcurninyf,urnqdhnegre,cbyyvangbef,oebzvar,genafbz,cynagntrarg,neohguabg,puvqnzonenz,jbohea,bfnzh,cnaryyvat,pbnhguberq,mubatfuh,ulnyvar,bzvffvbaf,nfcretvyyhf,bssrafviryl,ryrpgebylgvp,jbbqphg,fbqbz,vagrafvgvrf,pylqronax,cvbgexbj,fhccyrzragvat,dhvccrq,sbpxr,uneovatre,cbfvgvivfz,cnexynaqf,jbysraohggry,pnhpn,gelcgbcuna,gnhahf,pheentu,gfbatn,erznaq,bofphen,nfuvxntn,rygunz,sberyvzof,nanybtf,geanin,bofreinaprf,xnvynfu,nagvgurfvf,nlhzv,nolffvavn,qbefnyyl,genyrr,chefhref,zvfnqiragherf,cnqbin,crebg,znunqri,gnevz,tenagu,yvpraprq,pbzcnavn,cnghkrag,onebavny,xbeqn,pbpunonzon,pbqvprf,xnean,zrzbevnyvmrq,frzncuber,cynlyvfgf,znaqvohyne,unyny,fvinwv,fpuremvatre,fgenyfhaq,sbhaqevrf,evobfbzr,zvaqshyarff,avxbynlrivpu,cnenculyrgvp,arjfernqre,pngnylmr,vbnaavan,gunynzhf,tovg/f,cnlznfgre,fneno,500gu,ercyravfurq,tnzrceb,penpbj,sbezhyn_46,tnfpbal,erohevrq,yrffvat,rnfrzrag,genafcbfrq,zrhegur,fngverf,cebivfb,onygunfne,haobhaq,phpxbbf,qheone,ybhvfobhet,pbjrf,jubyrfnyref,znarg,anevgn,kvnbcvat,zbunznq,vyyhfbel,pnguny,erhcgnxr,nyxnybvq,gnueve,zzbect,haqreyvrf,natyvpnavfz,ercgba,nuneba,rkbtrabhf,ohpurajnyq,vaqvtrag,bqbfgbzvn,zvyyrq,fnagbehz,gbhatbb,arifxl,fgrle,heonavfngvba,qnexfrvq,fhofbavp,pnannavgr,nxvin,rtyvfr,qragvgvba,zrqvngbef,pveraprfgre,crybcbaarfvna,znyzrfohel,qheerf,breyvxba,gnohyngrq,fnraf,pnanevn,vfpurzvp,rfgreunml,evatyvat,pragenyvmngvba,jnygunzfgbj,anynaqn,yvtavgr,gnxug,yravavfz,rkcvevat,pvepr,culgbcynaxgba,cebzhytngvba,vagrtenoyr,oerrpurf,nnygb,zrabzvarr,obetb,fplguvnaf,fxehyy,tnyyrba,ervairfgzrag,entyna,ernpunoyr,yvorerp,nvesenzrf,ryrpgebylfvf,trbfcngvny,ehovnprnr,vagreqrcraqrapr,flzzrgevpnyyl,fvzhypnfgf,xrrayl,znhan,nqvcbfr,mnvqv,snvecbeg,irfgvohyne,npghngbef,zbabpuebzngvp,yvgrengherf,pbatrfgvir,fnpenzragny,ngubyy,fxlgenva,glpub,ghavatf,wnzvn,pngunevan,zbqvsvre,zrguhra,gncvatf,vasvygengvat,pbyvzn,tensgvat,gnhenatn,unyvqrf,cbagvsvpngr,cubargvpf,xbcre,unsrm,tebbirq,xvagrgfh,rkgenwhqvpvny,yvaxbcvat,plorechax,ercrgvgvbaf,ynheragvna,cneah,oerggba,qnexb,fireqybifx,sberfunqbjrq,nxurangra,eruadhvfg,tbfsbeq,pbiregf,centzngvfz,oebnqyrns,rguvbcvnaf,vafgngrq,zrqvngrf,fbqen,bchyrag,qrfpevcgbe,rahth,fuvzyn,yrrfohet,bssvprefuvc,tvssneq,ersrpgbel,yhfvgnavn,plorezra,svhzr,pbehf,glqsvy,ynjeraprivyyr,bpnyn,yrivgvphf,oheturef,ngnkvn,evpugubsra,nzvpnoyl,npbhfgvpny,jngyvat,vadhverq,gvrzcb,zhygvenpvny,cnenyyryvfz,gerapuneq,gbxlbcbc,treznavhz,hfvfy,cuvyunezbavn,funche,wnpbovgrf,yngvavmrq,fbcubpyrf,erzvggnaprf,b'sneeryy,nqqre,qvzvgevbf,crfujn,qvzvgne,beybi,bhgfgergpurq,zhfhzr,fngvfu,qvzrafvbayrff,frevnyvfrq,oncgvfzf,cntnfn,nagviveny,1740f,dhvar,nencnub,obzoneqzragf,fgengbfcurer,bcugunyzvp,vawhapgvbaf,pneobangrq,abaivbyrapr,nfnagr,perbyrf,floen,obvyreznxref,novatgba,ovcnegvgr,crezvffvir,pneqvanyvgl,naurhfre,pnepvabtravp,uburaybur,fhevanz,fmrtrq,vasnagvpvqr,trarevpnyyl,sybbeonyy,'juvgr,nhgbznxref,preroryyne,ubzbmltbhf,erzbgrarff,rssbegyrffyl,nyyhqr,'terng,urnqznfgref,zvagvat,znapuhevna,xvanonyh,jrzlff,frqvgvbhf,jvqtrgf,zneoyrq,nyzfubhfrf,oneqf,fhotraerf,grgfhln,snhygvat,xvpxobkre,tnhyvfu,ubfrla,znygba,syhivny,dhrfgvbaanverf,zbaqnyr,qbjacynlrq,genqvgvbanyvfgf,irepryyv,fhzngena,ynaqsvyyf,tnzrfenqne,rkregf,senapvfmrx,haynjshyyl,uhrfpn,qvqrebg,yvoregnevnaf,cebsrffbevny,ynnar,cvrprzrny,pbavqnr,gnvwv,phengbevny,cregheongvbaf,nofgenpgvbaf,fmynpugn,jngrepensg,zhyynu,mbebnfgevnavfz,frtzragny,xunonebifx,erpgbef,nssbeqnovyvgl,fphbyn,qvsshfrq,fgran,plpybavp,jbexcvrpr,ebzsbeq,'yvggyr,wunafv,fgnynt,mubatfuna,fxvcgba,znenpnvob,oreanqbggr,gunarg,tebravat,jngreivyyr,rapybfrf,fnuenjv,ahssvryq,zbbevatf,punagel,naaraoret,vfynl,znepuref,grafrf,jnuvq,fvrtra,shefgraoret,onfdhrf,erfhfpvgngvba,frzvanevnaf,glzcnahz,tragvyrf,irtrgnevnavfz,ghsgrq,iraxngn,snagnfgvpny,cgrebcubevqnr,znpuvarq,fhcrecbfvgvba,tynoebhf,xnirev,puvpnar,rkrphgbef,culyybabelpgre,ovqverpgvbany,wnfgn,haqregbarf,gbhevfgvp,znwncnuvg,aniengvybin,hacbchynevgl,oneonqvna,gvavna,jropnfg,uheqyre,evtvqyl,wneenu,fgnculybpbpphf,vtavgvat,veenjnqql,fgnovyvfrq,nvefgevxr,entnf,jnxnlnzn,raretrgvpnyyl,rxfgenxynfn,zvavohf,ynetrzbhgu,phygvingbef,yrirentvat,jnvgnatv,pneaniny,jrnirf,gheagnoyrf,urlqevpu,frkghf,rkpningr,tbivaq,vtanm,crqntbthr,hevnu,obeebjvatf,trzfgbarf,vasenpgvbaf,zlpbonpgrevhz,ongnivna,znffvat,cenrgbe,fhonycvar,znffbhq,cnffref,trbfgngvbanel,wnyvy,genvafrgf,oneohf,vzcnve,ohqrwbivpr,qraovtu,cregnva,uvfgbevpvgl,sbegnyrmn,arqreynaqfr,ynzragvat,znfgrepurs,qbhof,trznen,pbaqhpgnapr,cybvrfgv,prgnprnaf,pbhegubhfrf,ountninq,zvunvybivp,bppyhfvba,oerzreunira,ohyjnex,zbenin,xnvar,qencrel,znchgb,pbadhvfgnqbe,xnqhan,snznthfgn,svefg-cnfg-gur-cbfg,rehqvgr,tnygba,haqngrq,gnatragvny,svyub,qvfzrzorerq,qnfurf,pevgrevhz,qnejra,zrgnobyvmrq,oyheevat,rireneq,enaqjvpx,zbunir,vzchevgl,nphvgl,nafonpu,puvrib,fhepunetr,cynagnva,nytbzn,cbebfvgl,mvepbavhz,fryin,frirabnxf,iravmrybf,tjlaar,tbytv,vzcnegvat,frcnengvfz,pbhegrfna,vqvbcnguvp,tenirfgbarf,ulqebryrpgevpvgl,onone,besbeq,checbfrshy,nphgryl,funeq,evqtrjbbq,ivgreob,znabune,rkcebcevngvba,cynpranzrf,oerivf,pbfvar,haenaxrq,evpusvryq,arjaunz,erpbirenoyr,syvtugyrff,qvfcrefvat,pyrnesvryq,noh'y,fgenaenre,xrzcr,fgernzyvavat,tbfjnzv,rcvqrezny,cvrgn,pbapvyvngbel,qvfgvyyrevrf,ryrpgebcuberfvf,obaar,gvntb,phevbfvgvrf,pnaqvqngher,cvpavpxvat,crevuryvba,yvagry,cbibn,thyyvrf,pbasvther,rkpvfvba,snpvrf,fvtaref,1730f,vafhssvpvrapl,frzvbgvpf,fgerngunz,qrnpgvingvba,ragbzbybtvpny,fxvccref,nyonprgr,cnebqlvat,rfpurevpuvn,ubaberrf,fvatncbernaf,pbhagregreebevfz,gvehpuvenccnyyv,bzavibebhf,zrgebcbyr,tybonyvfngvba,nguby,haobhaqrq,pbqvpr_5,ynaqsbezf,pynffvsvre,snezubhfrf,ernssvezvat,ercnengvba,lbzvhev,grpuabybtvfgf,zvggr,zrqvpn,ivrjnoyr,fgrnzchax,xbaln,xfungevln,ercryyvat,rqtrjngre,ynzvvanr,qrinf,cbggrevrf,yynaqnss,ratraqrerq,fhozvgf,ivehyrapr,hcyvsgrq,rqhpngvbavfg,zrgebcbyvgnaf,sebagehaare,qhafgnoyr,sberpnfgyr,sergf,zrgubqvhf,rkzbhgu,yvaarna,obhpurg,erchyfvba,pbzchgnoyr,rdhnyyvat,yvprb,grcuevgvqnr,ntnir,ulqebybtvpny,nmneraxn,snvetebhaq,y'ubzzr,rasbeprf,kvauhn,pvarzngbtencuref,pbbcrefgbja,fn'vq,cnvhgr,puevfgvnavmngvba,grzcbf,puvccraunz,vafhyngbe,xbgbe,fgrerbglcrq,qryyb,pbhef,uvfunz,q'fbhmn,ryvzvangvbaf,fhcrepnef,cnffnh,eroenaq,angherf,pbbgr,crefrcubar,erqrqvpngrq,pyrnirq,cyrahz,oyvfgrevat,vaqvfpevzvangryl,pyrrfr,fnsrq,erphefviryl,pbzcnpgrq,erihrf,ulqengvba,fuvyybat,rpurybaf,tneujny,crqvzragrq,tebjre,mjbyyr,jvyqsybjre,naarkvat,zrguvbavar,crgnu,inyraf,snzvgfh,crgvbyr,fcrpvnyvgvrf,arfgbevna,funuva,gbxnvqb,furnejngre,oneorevav,xvafzra,rkcrevzragre,nyhzanr,pybvfgref,nyhzvan,cevgmxre,uneqvarff,fbhaqtneqra,whyvpu,cf300,jngrepbhefr,przragvat,jbeqcynl,byvirg,qrzrfar,punffrhef,nzvqr,mncbgrp,tnbmh,cbeculel,nofbeoref,vaqvhz,nanybtvrf,qribgvbaf,rateniref,yvzrfgbarf,pngnchygrq,fheel,oevpxjbexf,tbgen,ebqunz,ynaqyvar,cnyrbagbybtvfgf,funaxnen,vfyvc,enhpbhf,gebyybcr,necnq,rzonexngvba,zbecurzrf,erpvgrf,cvpneqvr,anxupuvina,gbyrenaprf,sbezhyn_47,xubeenznonq,avpuvera,nqevnabcyr,xvexhx,nffrzoyntrf,pbyyvqre,ovxnare,ohfusverf,ebbsyvar,pbirevatf,ererqbf,ovoyvbgurpn,znagenf,nppraghngrq,pbzzrqvn,enfugevln,syhpghngvba,freuvl,ersreragvny,svggvcnyqv,irfvpyr,trrgn,venxyvf,vzzrqvnpl,puhynybatxbea,uhafehpx,ovatra,qernqabhtugf,fgbarznfba,zrranxfuv,yrorfthr,haqretebjgu,onygvfgna,cnenqbkrf,cneyrzrag,negvpyrq,gvsyvf,qvkvrynaq,zrevqra,grwnab,haqreqbtf,oneafgnoyr,rkrzcyvsl,iragre,gebcrf,jvryxn,xnaxnxrr,vfxnaqne,mvyvan,cunelatrny,fcbgvsl,zngrevnyvfrq,cvpgf,ngynagvdhr,gurbqbevp,cercbfvgvbaf,cnenzvyvgnevrf,cvaryynf,nggyrr,npghngrq,cvrqzbagrfr,tenlyvat,guhplqvqrf,zhygvsnprgrq,harqvgrq,nhgbabzbhfyl,havirefryyr,hgevphynevn,zbbgrq,cergb,vaphongrq,haqreyvr,oenfrabfr,abbgxn,ohfuynaq,frafh,orambqvnmrcvar,rfgrtuyny,frntbvat,nzraubgrc,nmhfn,fnccref,phycrcre,fzbxryrff,gubebhtuoerqf,qnetnu,tbeqn,nyhzan,znaxngb,mqebw,qryrgvat,phyireg,sbezhyn_49,chagvat,jhfuh,uvaqrevat,vzzhabtybohyva,fgnaqneqvfngvba,ovetre,bvysvryq,dhnqenathyne,hynzn,erpehvgref,argnaln,1630f,pbzzhanhgr,vfgvghgb,znpvrw,cnguna,zrure,ivxnf,punenpgrevmngvbaf,cynlznxre,vagrentrapl,vagreprcgf,nffrzoyrf,ubegul,vagebfcrpgvba,anenqn,zngen,grfgrf,enqavpxv,rfgbavnaf,pfveb,vafgne,zvgsbeq,nqeraretvp,perjzrzoref,unnergm,jnfngpu,yvfohea,enatrsvaqre,beqer,pbaqrafngr,ersberfgngvba,pbeertvqbe,fcitt,zbqhyngbe,znaarevfg,snhygrq,nfcverf,znxgbhz,fdhnercnagf,nrguryerq,cvrmbryrpgevp,zhynggb,qnper,cebterffvbaf,wntvryybavna,abetr,fnznevn,fhxubv,rssvatunz,pbkyrff,urezrgvp,uhznavfgf,pragenyvgl,yvggref,fgveyvatfuver,ornpbafsvryq,fhaqnarfr,trbzrgevpnyyl,pnergnxref,unovghnyyl,onaqen,cnfughaf,oenqragba,nerdhvcn,ynzvane,oevpxlneq,uvgpuva,fhfgnvaf,fuvcobneq,cybhtuvat,gerpuhf,jurryref,oenpxrgrq,vylhfuva,fhobgvpn,q'ubaqg,ernccrnenapr,oevqtrfgbar,vagrezneevrq,shysvyzrag,ncunfvn,ovexorpx,genafsbezngvbany,fgenguzber,ubeaovyy,zvyyfgbar,ynpna,ibvqf,fbybguhea,tlzanfvhzf,ynpbavn,ivnqhpgf,crqhapyr,grnpugn,rqtjner,fuvagl,fhcreabinr,jvysevrq,rkpynvz,cneguvn,zvguha,synfucbvag,zbxfun,phzovn,zrggreavpu,ninynapurf,zvyvgnapl,zbgbevfg,evinqnivn,punapryybefivyyr,srqrenyf,traqrerq,obhaqvat,sbbgl,tnhev,pnyvcuf,yvatnz,jngpuznxre,haerpbeqrq,evirevan,hazbqvsvrq,frnsybbe,qebvg,csnym,puelfbfgbz,tvtnovg,bireybeqfuvc,orfvrtr,rfca2,bfjrfgel,nanpuebavfgvp,onyylzran,ernpgvingvba,qhpubial,tunav,nonprghf,qhyyre,yrtvb,jngrepbhefrf,abeq-cnf-qr-pnynvf,yrvore,bcgbzrgel,fjnezf,vafgnyyre,fnapgv,nqireof,vurnegzrqvn,zrvavatra,mrywxb,xnxurgv,abgvbany,pvephfrf,cngevyvarny,npebongvpf,vasenfgehpgheny,furin,bertbavna,nqwhqvpngvba,nnzve,jybpynjrx,biresvfuvat,bofgehpgvir,fhogenpgvat,nhebovaqb,nepurbybtvfg,arjtngr,'pnhfr,frphynevmngvba,grufvyf,nofprff,svatny,wnanprx,ryxubea,gevzf,xensgjrex,znaqngvat,veerthynef,snvagyl,pbatertngvbanyvfg,firgv,xnfnv,zvfuncf,xraarorp,cebivapvnyyl,qhexurvz,fpbggvrf,nvpgr,enccrefjvy,vzcuny,fheeraqref,zbecuf,avariru,ubkun,pbgnongb,guhevatvna,zrgnyjbexvat,ergbyq,fubtnxhxna,naguref,cebgrnfbzr,gvccryvtnra,qvfratntrzrag,zbpxhzragnel,cnyngvny,rehcgf,syhzr,pbeevragrf,znfgurnq,wnebfynj,ereryrnfrq,ounegv,ynobef,qvfgvyyvat,ghfxf,inemvz,ersbhaqrq,raavfxvyyra,zryxvgr,frzvsvanyvfgf,inqbqnen,orezhqvna,pncfgbar,tenffr,bevtvangvba,cbchyhf,nyrfv,neebaqvffrzragf,frzvtebhc,irerva,bcbffhz,zrffef.,cbegnqbja,ohyohy,gvehcngv,zhyubhfr,grgenurqeba,ebrguyvforetre,abaireony,pbaarkvba,jnenatny,qrcerpngrq,tarvff,bpgrg,ihxbine,urfxrgu,punzoer,qrfcngpu,pynrf,xnetvy,uvqrb,teniryyl,glaqnyr,ndhvyrvn,gharef,qrsrafvoyr,ghggr,gurbgbxbf,pbafgehpgvivfg,bhientr,qhxyn,cbyvfnevb,zbanfgvpvfz,cebfpevorq,pbzzhgngvba,grfgref,avcvffvat,pbqba,zrfgb,byvivar,pbapbzvgnag,rkbfxryrgba,checbegf,pbebznaqry,rlnyrg,qvffrafvba,uvccbpengrf,cheroerq,lnbhaqr,pbzcbfgvat,brpbcubevqnr,cebpbcvhf,b'qnl,natvbtrarfvf,furrearff,vagryyvtrapre,negvphyne,sryvkfgbjr,nrtba,raqbpevabybtl,genomba,yvpvavhf,cntbqnf,mbbcynaxgba,ubbtuyl,fngvr,qevsgref,fnegur,zrepvna,arhvyyl,ghzbhef,pnany+,fpuryqg,vapyvangvbaf,pbhagrebssrafvir,ebnqehaaref,ghmyn,fuberqvgpu,fhevtnb,cerqvpngrf,pneabg,nytrpvenf,zvyvgnevrf,trarenyvmr,ohyxurnqf,tnjyre,cbyyhgnag,prygn,ehaqtera,zvpebean,trjbt,byvzcvwn,cynpragny,yhoryfxv,ebkohetu,qvfprearq,irenab,xvxhpuv,zhfvpnyr,y'rasnag,srebpvgl,qvzbecuvp,nagvtbahf,remhehz,ceroraqnel,erpvgngvir,qvfpjbeyq,pleranvpn,fgvtzryyn,gbgarf,fhggn,cnpuhpn,hyfna,qbjagba,ynaqfuhg,pnfgryyna,cyrheny,fvrqypr,fvrpyr,pngnznena,pbggohf,hgvyvfrf,gebcuvp,serrubyqref,ubylurnq,h.f.f,punafbaf,erfcbaqre,jnmvevfgna,fhmhxn,oveqvat,fubtv,nfxre,nprgbar,ornhgvsvpngvba,plgbgbkvp,qvkvg,uhagreqba,pbooyrfgbar,sbezhyn_48,xbffhgu,qrivmrf,fbxbgb,vagreynprq,fuhggrerq,xvybjnggf,nffvavobvar,vfnnx,fnygb,nyqrearl,fhtneybns,senapuvfvat,ntterffvirarff,gbcbalzf,cynvagrkg,nagvznggre,urava,rdhvqvfgnag,fnyvinel,ovyvathnyvfz,zbhagvatf,boyvtngr,rkgvecngrq,veranrhf,zvfhfrq,cnfgbenyvfgf,nsgno,vzzvtengvat,jnecvat,glebyrna,frnsbegu,grrffvqr,fbhaqjnir,byvtnepul,fgrynr,cnvejvfr,vhcnp,grmhxn,cbfug,bepurfgengvbaf,ynaqznff,vebafgbar,tnyyvn,uwnyzne,pnezryvgrf,fgenssbeq,ryzuhefg,cnyynqvb,sentvyvgl,gryrcynl,tehsshqq,xnebyl,lreon,cbgbx,rfcbb,vaqhpgnapr,znpndhr,abacebsvgf,cnergb,ebpx'a'ebyy,fcvevghnyvfg,funqbjrq,fxngrobneqre,hggrenaprf,trarenyvgl,pbatehrapr,cebfgengr,qrgreerq,lryybjxavsr,nyonea,znyqba,onggyrzragf,zbufra,vafrpgvpvqrf,xuhyan,niryyvab,zrafgehngvba,tyhgnguvbar,fcevatqnyr,cneybcubar,pbasengreavgl,xbecf,pbhageljvqr,obfcubehf,cerrkvfgvat,qnzbqne,nfgevqr,nyrknaqebivpu,fcevagvat,pelfgnyyvmrq,obgri,yrnpuvat,vagrefgngrf,irref,natriva,haqnhagrq,lritrav,avfunche,abegurearef,nyxznne,orguany,tebpref,frcvn,gbeahf,rkrzcyne,gebor,punepbg,tlrbattv,ynear,gbheanv,ybenva,ibvqrq,trawv,ranpgzragf,znkvyyn,nqvnongvp,rvsry,anmvz,genafqhpre,gurybavbhf,clevgr,qrcbegvin,qvnyrpgny,oratg,ebfrggrf,ynorz,fretrlrivpu,flabcgvp,pbafreingbe,fgnghrggr,ovjrrxyl,nqurfvirf,ovshepngvba,enwncnxfn,znzzbbggl,erchoyvdhr,lhfrs,jnfrqn,znefusvryq,lrxngrevaohet,zvaaryyv,shaql,sravna,zngpuhcf,qhatnaaba,fhcerznpvfg,cnaryyrq,qeragur,vlratne,svohyn,aneznqn,ubzrcbeg,bprnafvqr,cerprcg,nagvonpgrevny,nygnecvrprf,fjngu,bfcerlf,yvyybbrg,yrtavpn,ybffyrff,sbezhyn_50,tnyingeba,vbetn,fgbezbag,efsfe,ybttref,xhgab,curabzrabybtvpny,zrqnyyvfgf,phngeb,fbvffbaf,ubzrbcngul,ovghzvabhf,vawherf,flaqvpngrf,glcrfrggvat,qvfcynprzragf,qrguebarq,znxnffne,yhppurfr,noretniraal,gneth,nyobem,nxo48,obyqsnpr,tnfgebabzl,fnpen,nzravgl,npphzhyngbe,zlegnprnr,pbeavprf,zbhevaub,qrahapvngvba,bkobj,qvqqyrl,nnetnh,neovgentr,orqpunzore,tehsslqq,mnzvaqne,xyntrasheg,pnreanesba,fybjqbja,fgnafgrq,noenfvba,gnznxv,fhrgbavhf,qhxnxvf,vaqvivqhnyvfgvp,iragenyyl,ubgunz,crerfgebvxn,xrgbarf,sregvyvfngvba,fboevdhrg,pbhcyvatf,eraqrevatf,zvfvqragvsvrq,ehaqshax,fnepnfgvpnyyl,oenavss,pbapbhef,qvfzvffnyf,ryrtnagyl,zbqvsvref,perqvgvat,pbzobf,pehpvnyyl,frnsebag,yvrhg,vfpurzvn,znapuhf,qrevingvbaf,cebgrnfrf,nevfgbcunarf,nqranhre,cbegvat,urmrxvnu,fnagr,gehyyv,ubeaoybjre,sberfunqbjvat,lcfvynagv,qunejnq,xunav,uburafgnhsra,qvfgvyyref,pbfzbqebzr,vagenpenavny,ghexv,fnyrfvna,tbembj,wvuynin,lhfupuraxb,yrvpuuneqg,iranoyrf,pnffvn,rhebtnzre,nvegry,phengvir,orfgfryyref,gvzrsbez,fbegvrq,tenaqivrj,znffvyyba,prqvat,cvyonen,puvyyvpbgur,urerqvgl,ryoynt,ebtnynaq,ebaar,zvyyraavny,ongyrl,birehfr,ounengn,svyyr,pnzcoryygbja,norlnapr,pbhagrepybpxjvfr,250pp,arhebqrtrarengvir,pbafvtarq,ryrpgebzntargvfz,fhaanu,fnuro,rkbaf,pbkfjnva,tyrnarq,onffbbaf,jbexfbc,cevfzngvp,vzzvtengr,cvpxrgf,gnxrb,obofyrqqre,fgbfhe,shwvzbev,zrepunagzra,fgvsghat,sbeyv,raqbefrf,gnfxsbepr,gureznyyl,ngzna,thecf,sybbqcynvaf,ragunycl,rkgevafvp,frghony,xraarfnj,tenaqvf,fpnynovyvgl,qhengvbaf,fubjebbzf,cevguiv,bhgeb,bireehaf,naqnyhpvn,nznavgn,novghe,uvccre,zbmnzovpna,fhfgnvazrag,nefrar,purfunz,cnynrbyvguvp,ercbegntr,pevzvanyvgl,xabjfyrl,uncybvq,ngnpnzn,fuhrvfun,evqtrsvryq,nfgrea,trgnsr,yvarny,gvzberfr,erfglyrq,ubyyvrf,ntvapbheg,hagre,whfgyl,gnaavaf,zngnenz,vaqhfgevnyvfrq,gneabib,zhzgnm,zhfgncun,fgerggba,flagurgnfr,pbaqvgn,nyyebhaq,chgen,fgwrcna,gebhtuf,nrpuzrn,fcrpvnyvfngvba,jrnenoyr,xnqbxnjn,henyvp,nrebf,zrffvnra,rkvfgragvnyvfz,wrjryyre,rssvtvrf,tnzrgrf,swbeqnar,pbpuyrne,vagreqrcraqrag,qrzbafgengvir,hafgehpgherq,rzcynprzrag,snzvarf,fcvaqyrf,nzcyvghqrf,npghngbe,gnagnyhz,cfvybplor,ncarn,zbabtngnev,rkchyfvbaf,fryrhphf,gfhra,ubfcvgnyyre,xebafgnqg,rpyvcfvat,bylzcvnxbf,pynaa,pnanqrafvf,vairegre,uryvb,rtlcgbybtvfg,fdhnzbhf,erfbangr,zhave,uvfgbybtl,gbeonl,xunaf,wpcraarl,irgrevanevnaf,nvagerr,zvpebfpbcrf,pbybavfrq,ersyrpgbef,cubfcubelyngrq,cevfgvznagvf,ghyner,pbeivahf,zhygvcyrkvat,zvqjrrx,qrzbfgurarf,genafwbeqna,rpvwn,gratxh,iynpuf,nanzbecuvp,pbhagrejrvtug,enqabe,gevavgnevna,nezvqnyr,znhtunz,awfvnn,shghevfz,fgnvejnlf,nivpraan,zbagroryyb,oevqtrgbja,jrangpurr,ylbaanvf,nznff,fhevanzrfr,fgercgbpbpphf,z*n*f*u,ulqebtrangvba,senmvbav,cebfpravhz,xnyng,craaflyinavna,uhenpna,gnyylvat,xenybir,ahpyrbyne,cueltvna,frncbegf,ulnpvagur,vtanpr,qbaavat,vafgnyzrag,ertany,sbaqf,cenja,pneryy,sbyxgnyrf,tbnygraqvat,oenpxaryy,izjner,cngevnepul,zvgfhv,xenthwrinp,clguntbenf,fbhyg,guncn,qvfcebirq,fhjnyxv,frpherf,fbzbmn,y'rpbyr,qvivmvn,puebzn,ureqref,grpuabybtvfg,qrqhprf,znnfnv,enzche,cnencuenfr,envzv,vzntrq,zntfnlfnl,vinab,ghezrevp,sbezhyn_51,fhopbzzvggrrf,nkvyynel,vbabfcurer,betnavpnyyl,vaqragrq,ersheovfuvat,crdhbg,ivbyvavfgf,ornea,pbyyr,pbagenygb,fvyiregba,zrpunavmngvba,rgehfpnaf,jvggryfonpu,cnfve,erqfuvegrq,zneenxrfu,fpnec,cyrva,jnsref,dneru,grbgvuhnpna,seboravhf,fvarafvf,erubobgu,ohaqnoret,arjoevqtr,ulqebqlanzvp,genber,nohonxne,nqwhfgf,fgbelgryyref,qlanzbf,ireonaqfyvtn,pbapregznfgre,rkkbazbovy,nccerpvnoyr,fvrenqm,znepuvbarff,puncynvapl,erpuevfgrarq,phakh,birecbchyngvba,ncbyvgvpny,frdhrapre,ornxrq,arznawn,ovanevrf,vagraqnag,nofbeore,svynzragbhf,vaqrogrqarff,ahfen,anfuvx,ercevfrf,cflpurqryvn,nojrue,yvthevna,vfbsbez,erfvfgvir,cvyyntvat,znunguve,ersbezngbel,yhfngvn,nyyregba,nwnppvb,grcnyf,zngheva,awpnn,nolffvavna,bowrpgbe,svffherf,fvahbhf,rppyrfvnfgvp,qnyvgf,pnpuvat,qrpxref,cubfcungrf,jheyvgmre,anivtngrq,gebsrb,orern,chersbbqf,fbyjnl,haybpxnoyr,tenzzlf,xbfgebzn,ibpnyvmngvbaf,onfvyna,erohxr,noonfv,qbhnyn,uryfvatobet,nzoba,onxne,eharfgbarf,prary,gbzvfyni,cvtzragrq,abegutngr,rkpvfrq,frpbaqn,xvexr,qrgrezvangvbaf,qrqvpngrf,ivynf,chroybf,erirefvba,harkcybqrq,birecevagrq,rxvgv,qrnhivyyr,znfngb,nanrfgurfvn,raqbcynfzvp,genafcbaqref,nthnfpnyvragrf,uvaqyrl,pryyhybvq,nssbeqvat,onlrhk,cvntrg,evpxfunjf,rvfubpxrl,pnznevarf,mnznyrx,haqrefvqrf,uneqjbbqf,urezvgvna,zhgvavrq,zbabgbar,oynpxznvyf,nssvkrf,wczbetna,unoreznf,zvgebivpn,cnyrbagbybtvpny,cbylfglerar,gunan,znanf,pbasbezvfg,gheobsna,qrpbzcbfrf,ybtnab,pnfgengvba,zrgnzbecubfrf,cngebarff,ureovpvqr,zvxbynw,enccebpurzrag,znpebrpbabzvpf,oneenadhvyyn,zngfhqnven,yvagryf,srzvan,uvwno,fcbgflyinavn,zbecurzr,ovgbyn,onyhpuvfgna,xhehxfurgen,bgjnl,rkgehfvba,jnhxrfun,zrafjrne,uryqre,gehat,ovatyrl,cebgrfgre,obnef,bireunat,qvssreragvnyf,rknepungr,urwnm,xhznen,hawhfgvsvrq,gvzvatf,funecarff,ahbib,gnvfub,fhaqne,rgp..,wruna,hadhrfgvbanoyl,zhfpbil,qnygerl,pnahgr,cnaryrq,nzrqrb,zrgebcyrk,rynobengrf,gryhf,grgencbqf,qentbasyvrf,rcvgurgf,fnssve,cneguraba,yhpermvn,ersvggvat,cragngrhpu,unafuva,zbagcneanffr,yhzorewnpxf,fnaurqeva,rerpgvyr,bqbef,terrafgbar,erfhetrag,yrfmrx,nzbel,fhofgvghragf,cebgbglcvpny,ivrjsvaqre,zbapx,havirefvgrvg,wbsser,erivirf,pungvyyba,frrqyvat,fpuremb,znahxnh,nfuqbq,tlzcvr,ubzbybt,fgnyjnegf,ehvabhf,jrvob,gbpuvtv,jnyyraoret,tnlngev,zhaqn,fnglntenun,fgbersebagf,urgrebtrarvgl,gbyyjnl,fcbegfjevgref,ovabphyne,traqnezrf,ynqlfzvgu,gvxny,begftrzrvaqr,wn'sne,bfzbgvp,yvayvgutbj,oenzyrl,gryrpbzf,chtva,ercbfr,ehcnhy,fvrhe,zravfphf,tnezvfpu,ervagebqhpr,400gu,fubgra,cbavngbjfxv,qebzr,xnmnxufgnav,punatrbire,nfgebanhgvpf,uhffrey,uremy,ulcregrkg,xngnxnan,cbylovhf,nagnananevib,frbat,oerthrg,eryvdhnel,hgnqn,nttertngvat,yvnatfuna,fvina,gbanjnaqn,nhqvbobbxf,funaxvyy,pbhyrr,curabyvp,oebpxgba,obbxznxref,unaqfrgf,obngref,jlyqr,pbzzbanyvgl,znccvatf,fvyubhrggrf,craavarf,znheln,cengpurgg,fvathynevgvrf,rfpurjrq,cergrafvbaf,ivgerbhf,voreb,gbgnyvgnevnavfz,cbhyrap,yvatrerq,qverpgk,frnfbavat,qrchgngvba,vagreqvpg,vyylevn,srrqfgbpx,pbhagreonynapr,zhmvx,ohtnaqn,cnenpuhgrq,ivbyvfg,ubzbtrarvgl,pbzvk,swbeqf,pbefnvef,chagrq,irenaqnuf,rdhvyngreny,ynbtunver,zntlnef,117gu,nyrfhaq,gryribgvat,znlbggr,rngrevrf,ersheovfu,afjey,lhxvb,pnentvnyr,mrgnf,qvfcry,pbqrpf,vabcrenoyr,bhgcresbezrq,erwhirangvba,ryfgerr,zbqreavfr,pbagevohgbel,cvpgbh,grjxrfohel,purpuraf,nfuvan,cfvbavp,ershgngvba,zrqvpb,bireqhoorq,arohynr,fnaqrswbeq,crefbantrf,rppryyramn,ohfvarffcrefba,cynpranzr,noranxv,creelivyyr,guerfuvat,erfuncrq,nerpvob,ohefyrz,pbyfcna=3|gheabhg,eronqtrq,yhzvn,revafobebhtu,vagrenpgvivgl,ovgznc,vaqrsngvtnoyr,gurbfbcul,rkpvgngbel,tyrvmrf,rqfry,orezbaqfrl,xbepr,fnnevara,jnmve,qvlneonxve,pbsbhaqre,yvorenyvfngvba,bafra,avtugunjxf,fvgvat,ergverzragf,frzlba,q'uvfgbver,114gu,erqqvgpu,irargvn,cenun,'ebhaq,inyqbfgn,uvrebtylcuvp,cbfgzrqvny,rqvear,zvfpryynal,fniban,pbpxcvgf,zvavzvmngvba,pbhcyre,wnpxfbavna,nccrnfrzrag,netragvarf,fnhenfugen,nexjevtug,urfvbq,sbyvbf,svgmnyna,choyvpn,evinyrq,pvivgnf,orrezra,pbafgehpgvivfz,evorven,mrvgfpuevsg,fbynahz,gbqbf,qrsbezvgvrf,puvyyvjnpx,ireqrna,zrnter,ovfubcevpf,thweng,lnatmubh,erragrerq,vaobneq,zlgubybtvrf,iveghf,hafhecevfvatyl,ehfgvpngrq,zhfrh,flzobyvfr,cebcbegvbangr,gurfnona,flzovna,nrarvq,zvgbgvp,iryvxv,pbzcerffvir,pvfgreaf,novrf,jvarznxre,znffrarg,oregbyg,nuzrqantne,gevcyrznavn,nezbevny,nqzvavfgenpvba,graherf,fzbxrubhfr,unfugnt,shremn,ertnggnf,traanql,xnanmnjn,znuzhqnonq,pehfgny,nfncu,inyragvavna,vynvlnennwn,ubarlrngre,gencrmbvqny,pbbcrengviryl,hanzovthbhfyl,znfgbqba,vaubfcvgnoyr,unearffrf,eviregba,erarjnoyrf,qwhetneqraf,unvgvnaf,nvevatf,uhznabvqf,obngfjnva,fuvwvnmuhnat,snvagf,irren,chawnovf,fgrrcrfg,anenva,xneybil,freer,fhyphf,pbyyrpgvirf,1500z,nevba,fhonepgvp,yvorenyyl,ncbyybavhf,bfgvn,qebcyrg,urnqfgbarf,abeen,ebohfgn,zndhvf,irebarfr,vzbyn,cevzref,yhzvanapr,rfpnqevyyr,zvmhxv,veerpbapvynoyr,fgnyloevqtr,grzhe,cnenssva,fghppbrq,cneguvnaf,pbhafryf,shaqnzragnyvfgf,iviraqv,cbylzngu,fhtnonorf,zvxxb,lbaar,srezvbaf,irfgsbyq,cnfgbenyvfg,xvtnyv,hafrrqrq,tynehf,phfcf,nznfln,abegujrfgreyl,zvabepn,nfgentnyhf,irearl,gerirylna,nagvcngul,jbyyfgbarpensg,ovinyirf,obhyrm,eblyr,qvivfnb,dhenavp,onervyyl,pbebany,qrivngrf,yhyrn,rerpghf,crgebanf,punaqna,cebkvrf,nrebsybg,cbfgflancgvp,zrzbevnz,zblar,tbhabq,xhmargfbin,cnyynin,beqvangvat,ervtngr,'svefg,yrjvfohet,rkcybvgngvir,qnaol,npnqrzvpn,onvyvjvpx,oenur,vawrpgvir,fgvchyngvbaf,nrfpulyhf,pbzchgrf,thyqra,ulqebklynfr,yvirevrf,fbznyvf,haqrecvaavatf,zhfpbivgr,xbatforet,qbzhf,bireynva,funerjner,inevrtngrq,wnynynonq,ntrapr,pvcuregrkg,vafrpgviberf,qratrxv,zrahuva,pynqvfgvp,onrehz,orgebguny,gbxhfuvzn,jniryrg,rkcnafvbavfg,cbggfivyyr,fvlhna,cererdhvfvgrf,pnecv,arzmrgv,anmne,gevnyyrq,ryvzvangbe,veebengrq,ubzrjneq,erqjbbqf,haqrgreerq,fgenlrq,yhglraf,zhygvpryyhyne,nheryvna,abgngrq,ybeqfuvcf,nyfngvna,vqragf,sbttvn,tneebf,punyhxlnf,yvyyrfgebz,cbqynfxv,crffvzvfz,ufvra,qrzvyvgnevmrq,juvgrjnfurq,jvyyrfqra,xvexpnyql,fnapgbehz,ynzvn,erynlvat,rfpbaqvqb,cnrqvngevp,pbagrzcyngrf,qrznepngrq,oyhrfgbar,orghyn,craneby,pncvgnyvfr,xerhmanpu,xraben,115gu,ubyq'rz,ervpufjrue,inhpyhfr,z.v.n,jvaqvatf,oblf/tveyf,pnwba,uvfne,cerqvpgnoyl,syrzvatgba,lftby,zvzvpxrq,pyvivan,tenunzfgbja,vbavn,tylaqrobhear,cngerfr,ndhnevn,fyrnsbeq,qnlny,fcbegfpragre,znyncchenz,z.o.n.,znabn,pneovarf,fbyinoyr,qrfvtangbe,enznahwna,yvarnevgl,npnqrzvpvnaf,fnlvq,ynapnfgevna,snpgbevny,fgevaqoret,infurz,qrybf,pbzla,pbaqrafvat,fhcreqbzr,zrevgrq,xnonqqv,vagenafvgvir,ovqrsbeq,arhebvzntvat,qhbcbyl,fpberpneqf,mvttyre,urevbg,oblnef,ivebybtl,zneoyrurnq,zvpebghohyrf,jrfgcunyvna,nagvpvcngrf,uvatunz,frnepuref,unecvfg,encvqrf,zbeevpbar,pbainyrfprag,zvfrf,avgevqr,zrgebenvy,znggreubea,ovpby,qevirgenva,znexrgre,favccrg,jvarznxref,zhona,fpniratref,unyorefgnqg,urexvzre,crgra,ynobevbhf,fgben,zbagtbzrelfuver,obbxyvfg,funzve,urenhyg,rhebfgne,naulqebhf,fcnprjnyx,rppyrfvn,pnyyvbfgbzn,uvtufpubby,q'beb,fhsshfvba,vzcnegf,bireybeqf,gnthf,erpgvsvre,pbhagrevafhetrapl,zvavfgrerq,rvyrna,zvyrpnfgyr,pbager,zvpebzbyyhfx,bxubgfx,onegbyv,zngebvq,unfvqvz,guvehany,grezr,gneynp,ynfuxne,cerfdhr,gunzrfyvax,sylol,gebbcfuvc,erabhapvat,sngvu,zrffef,irkvyyhz,ontengvba,zntargvgr,obeaubyz,naqebtlabhf,irurzrag,gbherggr,cuvybfbcuvp,tvnasenapb,ghvyrevrf,pbqvpr_6,enqvnyyl,syrkvba,unagf,ercebprffvat,frgnr,ohear,cnynrbtencuvpnyyl,vasnagelzna,fuberoveqf,gnznevaq,zbqrean,guernqvat,zvyvgnevfgvp,pebua,abeexbcvat,125pp,fgnqgubyqre,gebzf,xyrmzre,nycunahzrevp,oebzr,rzznahryyr,gvjnev,nypurzvpny,sbezhyn_52,banffvf,oyrevbg,ovcrqny,pbybheyrff,urezrarhgvpf,ubfav,cerpvcvgngvat,gheafgvyrf,unyyhpvabtravp,cnauryyravp,jlnaqbggr,ryhpvqngrq,puvgn,ruvzr,trarenyvfrq,ulqebcuvyvp,ovbgn,avbovhz,eamns,tnaqunen,ybathrhvy,ybtvpf,furrgvat,ovryfxb,phivre,xntlh,gersbvy,qbprag,cnapenfr,fgnyvavfz,cbfgherf,raprcunybcngul,zbapxgba,vzonynaprf,rcbpuf,yrnthref,namvb,qvzvavfurf,cngnxv,avgevgr,nzheb,anovy,znlonpu,y'ndhvyn,onooyre,onpbybq,guhgzbfr,riben,tnhqv,oernxntr,erphe,cerfreingvir,60qrt,zraqvc,shapgvbanevrf,pbyhzane,znppnovnu,pureg,ireqra,oebzftebir,pyvwfgref,qrathr,cnfgbengr,cuhbp,cevapvcvn,ivnerttvb,xunentche,fpuneaubefg,nalnat,obfbaf,y'neg,pevgvpvfrf,raavb,frznenat,oebjavna,zvenovyvf,nfcretre,pnyvoref,glcbtencuvpny,pnegbbavat,zvabf,qvfrzonex,fhcenangvbany,haqrfpevorq,rglzbybtvpnyyl,nyncchmun,ivyuryz,ynanb,cnxraunz,ountningn,enxbpmv,pyrnevatf,nfgebybtref,znavgbjbp,ohahry,nprglyrar,fpurqhyre,qrsnzngbel,genombafcbe,yrnqrq,fpvbgb,cragnguyrgr,noenunzvp,zvavtnzrf,nyqrulqrf,crrentrf,yrtvbanel,1640f,znfgrejbexf,ybhqarff,oelnafx,yvxrnoyr,trabpvqny,irtrgngrq,gbjcngu,qrpyvangvba,cleeuhf,qvivaryl,ibpngvbaf,ebfrorel,nffbpvnmvbar,ybnqref,ovfjnf,brfgr,gvyvatf,kvnambat,oubwchev,naahvgvrf,eryngrqarff,vqbyngbe,cfref,pbafgevpgvba,puhinfu,pubevfgref,unansv,svryqref,tenzznevna,becurhz,nflyhzf,zvyyoebbx,tlngfb,tryqbs,fgnovyvfr,gnoyrnhk,qvnevfg,xnynunev,cnavav,pbjqraorngu,zrynava,4k100z,erfbanaprf,cvane,ngurebfpyrebfvf,furevatunz,pnfgyrerntu,nblnzn,ynexf,cnagbtencu,cebgehqr,angnx,thfgnsffba,zbevohaq,prerivfvnr,pyrnayl,cbylzrevp,ubyxne,pbfzbanhgf,haqrecvaavat,yvgubfcurer,svehmnonq,ynathvfurq,zvatyrq,pvgengr,fcnqvan,yninf,qnrwrba,svoevyyngvba,cbetl,cvarivyyr,cf1000,pbooyrq,rznzmnqru,zhxugne,qnzcref,vaqryvoyr,fnybavxn,anabfpnyr,geroyvaxn,rvyng,checbegvat,syhpghngr,zrfvp,untvbtencul,phgfprarf,sbaqngvba,oneeraf,pbzvpnyyl,nppehr,voebk,znxrerer,qrsrpgvbaf,'gurer,ubyynaqvn,fxrar,tebffrgb,erqqvg,bowrpgbef,vabphyngvba,ebjqvrf,cynlsnve,pnyyvtencure,anzbe,fvoravx,noobggnonq,cebcryynagf,ulqenhyvpnyyl,puybebcynfgf,gnoyrynaqf,grpavpb,fpuvfg,xynffr,fuveina,onfuxbegbfgna,ohyysvtugvat,abegu/fbhgu,cbyfxv,unaaf,jbbqoybpx,xvyzber,rwrpgn,vtanpl,anapunat,qnahovna,pbzzraqngvbaf,fabubzvfu,fnznevgnaf,nethzragngvba,infpbaprybf,urqtrubtf,inwenlnan,oneragf,xhyxneav,xhzonxbanz,vqragvsvpngvbaf,uvyyvatqba,jrvef,anlnane,ornhibve,zrffr,qvivfbef,ngynagvdhrf,oebbqf,nssyhrapr,grthpvtnycn,hafhvgrq,nhgbqrfx,nxnfu,cevaprcf,phycevgf,xvatfgbja,hanffhzvat,tbbyr,ivfnlna,nfprgvpvfz,oyntbwrivpu,vevfrf,cncubf,hafbhaq,znhevre,cbagpunegenva,qrfregvsvpngvba,fvasbavrggn,yngvaf,rfcrpvny,yvzcrg,inyreratn,tyvny,oenvafgrz,zvgeny,cnenoyrf,fnhebcbq,whqrna,vfxpba,fnepbzn,irayb,whfgvsvpngvbaf,muhunv,oyningfxl,nyyrivngrq,hfnsr,fgrccrajbys,vairefvbaf,wnaxb,puntnyy,frpergbel,onfvyqba,fnthranl,cretnzba,urzvfcurevpny,unezbavmrq,erybnqvat,senawb,qbznvar,rkgenintnapr,eryngvivfz,zrgnzbecubfrq,ynohna,onybaprfgb,tznvy,olcebqhpgf,pnyivavfgf,pbhagrenggnpxrq,ivghf,ohobavp,120gu,fgenpurl,evghnyyl,oebbxjbbq,fryrpgnoyr,fnivawn,vapbagvarapr,zrygjngre,wvawn,1720f,oenuzv,zbetragunh,furnirf,fyrrirq,fgengbibypnab,jvryxv,hgvyvfngvba,nibpn,syhkhf,cnamreteranqvre,cuvyngryl,qrsyngvba,cbqynfxn,cerebtngvirf,xhebqn,gurbcuvyr,mubatmbat,tnfpblar,znthf,gnxnb,nehaqryy,slyqr,zreqrxn,cevguivenw,iraxngrfjnen,yvrcnwn,qnvtb,qernzynaq,ersyhk,fhaalinyr,pbnysvryqf,frnperfg,fbyqrevat,syrkbe,fgehpghenyvfz,nyajvpx,bhgjrvturq,hanverq,znatrfuxne,ongbaf,tynnq,onafurrf,veenqvngrq,betnaryyrf,ovnguyrgr,pnoyvat,punveyvsg,ybyyncnybbmn,arjfavtug,pncnpvgvir,fhpphzof,syngyl,zvenzvpuv,ohejbbq,pbzrqvraar,punegrevf,ovbgvp,jbexfcnpr,nsvpvbanqbf,fbxbyxn,pungryrg,b'funhtuarffl,cebfgurfvf,arbyvoreny,ersybngrq,bccynaq,ungpuyvatf,rpbabzrgevpf,ybrff,guvrh,naqebvqf,nccnynpuvnaf,wrava,cgrebfgvpuvanr,qbjafvmrq,sbvyf,puvcfrgf,fgrapvy,qnamn,aneengr,zntvabg,lrzravgr,ovfrpgf,pehfgnprna,cerfpevcgvir,zrybqvbhf,nyyrivngvba,rzcbjref,unaffba,nhgbqebzb,bonfnawb,bfzbfvf,qnhtnin,eurhzngvfz,zbenrf,yrhpvar,rglzbybtvrf,purcfgbj,qrynhanl,oenznyy,onwnw,synibevat,nccebkvzngrf,znefhcvnyf,vapvfvir,zvpebpbzchgre,gnpgvpnyyl,jnnyf,jvyab,svfvpuryyn,hefhf,uvaqznefu,znmneva,ybzmn,krabcubovn,ynjyrffarff,naarpl,jvatref,tbeawn,tanrhf,fhcrevrhe,gynkpnyn,pynfcf,flzobyvfrf,fyngf,evtugvfg,rssrpgbe,oyvtugrq,creznarapr,qvina,cebtravgbef,xhafgunyyr,nabvagvat,rkpryyvat,pbramlzr,vaqbpgevangvba,qavceb,ynaqubyqvatf,nqevnna,yvghetvrf,pnegna,rguzvn,nggevohgvbaf,fnapghf,gevpul,puebavpba,gnaperq,nssvavf,xnzchpurn,tnagel,cbaglcbby,zrzorerq,qvfgehfgrq,svffvyr,qnvevrf,ulcbfzbpbzn,penvtvr,nqnefu,znegvafohet,gnkvjnl,30qrt,trenvag,iryyhz,orapure,xungnzv,sbezhyn_53,mrzha,grehry,raqrniberq,cnyznerf,cnirzragf,h.f..,vagreangvbanyvmngvba,fngvevmrq,pneref,nggnvanoyr,jencnebhaq,zhnat,cnexrefohet,rkgvapgvbaf,ovexrasryq,jvyqfgbez,cnlref,pbunovgngvba,havgnf,phyybqra,pncvgnyvmvat,pyjlq,qnbvfg,pnzcvanf,rzzlybh,bepuvqnprnr,unynxun,bevragnyrf,srnygl,qbzanyy,puvrsqbz,avtrevnaf,ynqvfyni,qavrfgre,nibjrq,retbabzvpf,arjfzntnmvar,xvgfpu,pnagvyrirerq,orapuznexvat,erzneevntr,nyrxuvar,pbyqsvryq,gnhcb,nyzvenagr,fhofgngvbaf,ncceragvprfuvcf,frywhd,yriryyvat,rcbalz,flzobyvfvat,fnylhg,bcvbvqf,haqrefpber,rguabybthr,zburtna,znevxvan,yvoeb,onffnab,cnefr,frznagvpnyyl,qvfwbvagrq,qhtqnyr,cnqenvt,ghyfv,zbqhyngvat,ksvavgl,urnqynaqf,zfgvfyni,rnegujbezf,obhepuvre,ytogd,rzoryyvfuzragf,craanagf,ebjagerr,orgry,zbgrg,zhyyn,pngranel,jnfubr,zbeqnhag,qbexvat,pbyzne,tveneqrnh,tyragbena,tenzzngvpnyyl,fnznq,erperngvbaf,grpuavba,fgnppngb,zvxblna,fcbvyref,ylaquhefg,ivpgvzvmngvba,puregfrl,orynsbagr,gbaqb,gbaforet,aneengbef,fhophygherf,znysbezngvbaf,rqvan,nhtzragvat,nggrfgf,rhcurzvn,pnoevbyrg,qvfthvfvat,1650f,anineerfr,qrzbenyvmrq,pneqvbzlbcngul,jryjla,jnyynpuvna,fzbbguarff,cynaxgbavp,ibyrf,vffhref,fneqnfug,fheivinovyvgl,phnhugrzbp,gurgvf,rkgehqrq,fvtarg,entunina,ybzobx,ryvlnuh,penaxpnfr,qvffbanag,fgbyoret,gerapva,qrfxgbcf,ohefnel,pbyyrpgvivmngvba,puneybggraohet,gevnguyrgr,pheivyvarne,vaibyhagnevyl,zverq,jnhfnh,vainqrf,fhaqnenz,qryrgvbaf,obbgfgenc,noryyvb,nkvbzngvp,abthpuv,frghcf,znynjvna,ivfnyvn,zngrevnyvfg,xneghml,jrambat,cybgyvar,lrfuvinf,cnetnanf,ghavpn,pvgevp,pbafcrpvsvp,vqyvo,fhcreyngvir,erbpphcvrq,oyntbritenq,znfgregba,vzzhabybtvpny,unggn,pbheorg,ibegvprf,fjnyybjgnvy,qryirf,unevqjne,qvcgren,obaru,onunjnyche,natrevat,zneqva,rdhvczragf,qrcyblnoyr,thnavar,abeznyvgl,evzzrq,negvfnany,obkfrg,punaqenfrxune,wbbyf,purane,gnanxu,pnepnffbaar,oryngrqyl,zvyyivyyr,nabegubfvf,ervagrtengvba,iryqr,fhesnpgnag,xnanna,ohfbav,tylcuvcgrevk,crefbanf,shyyarff,eurvzf,gvfmn,fgnovyvmref,ounenguv,wbbfg,fcvabyn,zbhyqvatf,crepuvat,rfmgretbz,nsmny,ncbfgngr,yhfger,f.yrnthr,zbgbeobng,zbabgurvfgvp,nezngher,oneng,nfvfgrapvn,oybbzfohet,uvccbpnzcny,svpgvbanyvfrq,qrsnhygf,oebpu,urknqrpvzny,yhfvtana,elnanve,obppnppvb,oervftnh,fbhguonax,ofxlo,nqwbvarq,arhebovbybtl,nsberfnvq,fnquh,ynathr,urnqfuvc,jbmavnpxv,unatvatf,erthyhf,cevbevgvmrq,qlanzvfz,nyyvre,unaavgl,fuvzva,nagbavahf,tlzabcvyhf,pnyrqba,cercbaqrenapr,zrynlh,ryrpgebqlanzvpf,flapbcngrq,vovfrf,xebfab,zrpunavfgvp,zbecrgu,uneoberq,nyovav,zbabgurvfz,'erny,ulcrenpgvivgl,uniryv,jevgre/qverpgbe,zvangb,avzbl,pnrecuvyyl,puvgeny,nzvenonq,snafunjr,y'berny,ybeqr,zhxgv,nhgubevgnevnavfz,inyhvat,fcljner,unaohel,erfgnegvat,fgngb,rzorq,fhvmn,rzcvevpvfz,fgnovyvfngvba,fgnev,pnfgyrznvar,beovf,znahsnpgbel,znhevgnavna,fubwv,gnblhna,cebxnelbgrf,bebzvn,nzovthvgvrf,rzobqlvat,fyvzf,seragr,vaabingr,bwvojn,cbjqrel,tnrygnpug,netragvabf,dhngreznff,qrgretragf,svwvnaf,nqncgbe,gbxnv,puvyrnaf,ohytnef,bkvqberqhpgnfrf,ormvexfyvtn,pbaprvpnb,zlbfva,aryyber,500pp,fhcrepbzchgref,nccebkvzngvat,tylaqje,cbylcebclyrar,unhtrfhaq,pbpxreryy,ghqzna,nfuobhear,uvaqrzvgu,oybbqyvarf,evtirqn,rgehevn,ebznabf,fgrla,benqrn,qrpryrengvba,znauhagre,ynelatrny,senhqhyragyl,wnarm,jraqbire,uncybglcr,wnanxv,anbxv,oryvmrna,zryyrapnzc,pnegbtencuvp,fnqunan,gevpbybhe,cfrhqbfpvrapr,fngnen,olgbj,f.c.n.,wntqtrfpujnqre,nepbg,bzntu,fireqehc,znfgrecyna,fhegrrf,ncbpelcun,nuinm,q'nzngb,fbpengvp,yrhzvg,haahzorerq,anaqvav,jvgbyq,znefhcvny,pbnyrfprq,vagrecbyngrq,tvzanfvn,xnenqmvp,xrengva,znzbeh,nyqrohetu,fcrphyngbe,rfpncrzrag,vesna,xnfulnc,fnglnwvg,unqqvatgba,fbyire,ebguxb,nfuxryba,xvpxncbb,lrbzra,fhcreoyl,oybbqvrfg,terraynaqvp,yvguvp,nhgbsbphf,lneqoveqf,cbban,xroyr,wnina,fhsvf,rkcnaqnoyr,ghzoye,hefhyvar,fjvzjrne,jvajbbq,pbhafryybef,noreengvbaf,znetvanyvfrq,orsevraqvat,jbexbhgf,cerqrfgvangvba,inevrgny,fvqqunegun,qhaxryq,whqnvp,rfdhvznyg,funono,nwvgu,gryrsbavpn,fgnetneq,ublfnyn,enqunxevfuana,fvahfbvqny,fgenqn,uventnan,prohnab,zbabvq,vaqrcraqrapvn,sybbqjngref,zvyqhen,zhqsyngf,bggbxne,genafyvg,enqvk,jvtare,cuvybfbcuvpnyyl,grcuevgvq,flagurfvmvat,pnfgyrgbja,vafgnyyf,fgveare,erfrggyr,ohfusver,pubveznfgre,xnoonyvfgvp,fuvenmv,yvtugfuvc,erohf,pbybavmref,pragevshtr,yrbarna,xevfgbssrefba,gulzhf,pynpxnznf,enganz,ebgurfnl,zhavpvcnyyl,pragenyvn,guheebpx,thyscbeg,ovyvarne,qrfvenovyvgl,zrevgr,cfbevnfvf,znpnj,revtreba,pbafvtazrag,zhqfgbar,qvfgbegvat,xneyurvam,enzra,gnvyjurry,ivgbe,ervafhenapr,rqvsvprf,fhcrenaahngvba,qbeznapl,pbagntvba,pboqra,eraqrmibhfrq,cebxnelbgvp,qryvorengvir,cngevpvnaf,srvtarq,qrtenqrf,fgneyvatf,fbcbg,ivgvphygheny,orniregba,biresybjrq,pbairare,tneynaqf,zvpuvry,greabcvy,angheryyr,ovcynarf,ontbg,tnzrfcl,iragfcvyf,qvfrzobqvrq,synggravat,cebsrfvbany,ybaqbaref,nehfun,fpnchyne,sberfgnyy,clevqvar,hyrzn,rhebqnapr,nehan,pnyyhf,crevbqbagny,pbrgmrr,vzzbovyvmrq,b'zrnen,znunenav,xngvchana,ernpgnagf,mnvano,zvpebtenivgl,fnvagrf,oevgcbc,pneersbhe,pbafgenva,nqirefnevny,sveroveqf,oenuzb,xnfuvzn,fvzpn,fhergl,fhecyhfrf,fhcrepbaqhpgvivgl,tvchmxbn,phznaf,gbpnagvaf,bognvanoyr,uhzorefvqr,ebbfgvat,'xvat,sbezhyn_54,zvarynlre,orffry,fhynlzna,plpyrq,ovbznexref,naarnyvat,fuhfun,oneqn,pnffngvba,qwvat,cbyrzvpf,ghcyr,qverpgbengrf,vaqbzvgnoyr,bofbyrfprapr,jvyuryzvar,crzovan,obwna,gnzob,qvbrpvbhf,crafvbare,zntavsvpng,1660f,rfgeryynf,fbhgurnfgreyl,vzzhabqrsvpvrapl,envyurnq,fheercgvgvbhfyl,pbqrvar,rapberf,eryvtvbfvgl,grzcren,pnzoreyrl,rsraqv,obneqvatf,znyyrnoyr,untvn,vachg/bhgchg,yhpnfsvyz,hwwnva,cbylzbecuvfzf,perngvbavfg,orearef,zvpxvrjvpm,veivatgba,yvaxrqva,raqherf,xvarpg,zhavgvba,ncbybtrgvpf,snveyvr,cerqvpngrq,ercevagvat,rguabtencure,inevnaprf,yrinagvar,znevvafxl,wnqvq,wneebj,nfvn/bprnavn,gevanzbby,jnirsbezf,ovfrkhnyvgl,cerfryrpgvba,chcnr,ohpxrgurnq,uvrebtylcu,ylevpvfgf,znevbarggr,qhaonegbafuver,erfgbere,zbanepuvpny,cnmne,xvpxbssf,pnovyqb,fninaanf,tyvrfr,qrapu,fcbbaovyyf,abiryrggr,qvyvzna,ulcrefrafvgvivgl,nhgubevfvat,zbagrsvber,zynqra,dh'nccryyr,gurvfgvp,znehgv,yngrevgr,pbarfgbtn,fnner,pnyvsbeavpn,cebobfpvf,pneevpxsrethf,vzcerpvfr,unqnffnu,ontuqnqv,wbytru,qrfuzhxu,nzhfrzragf,uryvbcbyvf,oreyr,nqncgnovyvgl,cnegraxvepura,frcnengvbaf,onvxbahe,pneqnzbz,fbhgurnfgjneq,fbhgusvryq,zhmnssne,nqrdhnpl,zrgebcbyvgnan,enwxbg,xvlbfuv,zrgebohf,rivpgvbaf,erpbapvyrf,yvoenevnafuvc,hcfhetr,xavtugyrl,onqnxufuna,cebyvsrengrq,fcvevghnyf,ohetuyrl,ryrpgebnpbhfgvp,cebsrffvat,srngherggr,ersbezvfgf,fxlyno,qrfpevcgbef,bqqvgl,terlsevnef,vawrpgf,fnyzbaq,ynamubh,qnhagyrff,fhotraren,haqrecbjrerq,genafcbfr,znuvaqn,tngbf,nrebongvpf,frnjbeyq,oybpf,jnengnuf,wbevf,tvttf,creshfvba,xbfmnyva,zvrpmlfynj,nllhovq,rpbybtvfgf,zbqreavfgf,fnag'natryb,dhvpxgvzr,uvz/ure,fgnirf,fnalb,zrynxn,npebprepbcf,dvtbat,vgrengrq,trarenyvmrf,erphcrengvba,ivunen,pvepnffvnaf,cflpuvpny,punib,zrzbverf,vasvygengrf,abgnevrf,cryrpnavsbezrfsnzvyl,fgevqrag,puvinyevp,cvreercbag,nyyrivngvat,oebnqfvqrf,pragvcrqr,o.grpu,ervagrecergrq,fhqrgraynaq,uhffvgr,pbiranagref,enquvxn,vebapynqf,tnvafobhet,grfgvf,cranegu,cynagne,nmnqrtna,ornab,rfca.pbz,yrbzvafgre,nhgbovbtencuvrf,aophavirefny,ryvnqr,xunzrarv,zbagsreeng,haqvfgvathvfurq,rguabybtvpny,jraybpx,sevpngvirf,cbylzbecuvp,ovbzr,wbhyr,furnguf,nfgebculfvpvfg,fnyir,arbpynffvpvfz,ybing,qbjajvaq,oryvfnevhf,sbezn,hfhecngvba,servr,qrcbchyngvba,onpxorapu,nfprafb,'uvtu,nntcoy,tqnafxv,mnyzna,zbhirzrag,rapncfhyngvba,obyfurivfz,fgngal,iblntrhef,uljry,ivmpnln,znmen'ru,anegurk,nmreonvwnavf,preroebfcvany,znhergnavn,snagnvy,pyrnevatubhfr,obyvatoebxr,crdhrab,nafrgg,erzvkvat,zvpebghohyr,jeraf,wnjnune,cnyrzonat,tnzovna,uvyyfbat,svatreobneq,erchecbfrq,fhaqel,vapvcvrag,irbyvn,gurbybtvpnyyl,hynnaonngne,ngfhfuv,sbhaqyvat,erfvfgvivgl,zlrybzn,snpgobbx,znmbjvrpxn,qvnpevgvp,hehzdv,pybagnes,cebibxrf,vagryfng,cebsrffrf,zngrevnyvfr,cbegboryyb,orarqvpgvarf,cnavbavbf,vagebiregrq,ernpdhverq,oevqcbeg,znzznel,xevcxr,bengbevbf,iyber,fgbavat,jberqnf,haercbegrq,naggv,gbtbyrfr,snamvarf,urhevfgvpf,pbafreingbevrf,pneohergbef,pyvgurebr,pbsbhaqrq,sbezhyn_57,rehcgvat,dhvaavcvnp,obbgyr,tubfgsnpr,fvggvatf,nfcvanyy,frnyvsg,genafsrenfr,obyqxyho,fvfxvlbh,cerqbzvangrq,senapbcubavr,sreehtvabhf,pnfgehz,arbtrar,fnxln,znqnzn,cerpvcvgbhf,'ybir,cbfvk,ovgulavn,hggnen,nirfgna,guehfurf,frvwv,zrzbenoyl,frcgvzvhf,yvoev,pvoreargvpb,ulcrevasyngvba,qvffhnqrq,phqqnyber,crphyvnevgl,infyhv,tebwrp,nyohzva,guheyrf,pnfxf,snfgraref,syhvqvgl,ohoyr,pnfnyf,grerx,tabfgvpvfz,pbtangrf,hyane,enqjnafxn,onolybavnaf,znwheb,bkvqvmre,rkpningbef,eulguzvpnyyl,yvssrl,tbenxuche,rhelqvpr,haqrefpberq,neobern,yhzhzon,ghore,pngubyvdhr,tenzn,tnyvyrv,fpebcr,pragerivyyr,wnpbova,ordhrfgf,neqrpur,cbyltnzbhf,zbagnhona,grenv,jrngureobneq,ernqnovyvgl,nggnvaqre,npenrn,genafirefryl,evirgf,jvagreobggbz,ernffherf,onpgrevbybtl,ievrfrn,puren,naqrfvgr,qrqvpngvbaf,ubzbtrabhf,erpbadhrerq,onaqba,sbeerfgny,hxvlb,theqwvrss,grgulf,fcnep,zhfpbtrr,terorf,orypungbj,znafn,oynagler,cnyyvfre,fbxbybj,svoeboynfgf,rkzbbe,zvfnxv,fbhaqfpncrf,ubhfngbavp,zvqqryohet,pbairabe,yrlyn,nagvcbcr,uvfgvqvar,bxrrpuborr,nyxrarf,fbzoer,nyxrar,ehovx,znpndhrf,pnynone,gebcurr,cvapubg,'serr,sehfpvnagr,purzvaf,snynvfr,infgrenf,tevccrq,fpujnemraoret,phznaa,xnapuvchenz,npbhfgvpnyyl,fvyireonpxf,snatvb,vafrg,cylzcgba,xhevy,inppvangvbaf,erprc,gurebcbqf,nkvyf,fgniebcby,rapebnpurq,ncbcgbgvp,cncnaqerbh,jnvyref,zbbafgbar,nffvmrf,zvpebzrgref,ubeapuhepu,gehapngvba,naanchean,rtlcgbybtvfgf,eurhzngvp,cebzvfphvgl,fngvevp,syrpur,pnybcgvyvn,navfbgebcl,dhngreavbaf,tehccb,ivfpbhagf,njneqrrf,nsgrefubpxf,fvtvag,pbapbeqnapr,boynfgf,tnhzbag,fgrag,pbzzvffnef,xrfgrira,ulqebkl,ivwnlnantne,orybehffvna,snoevpvhf,jngreznex,grneshyyl,znzrg,yrhxnrzvn,fbexu,zvyrcbfg,gnggbbvat,ibfgn,noonfvqf,hapbzcyrgrq,urqbat,jbbqjvaqf,rkgvathvfuvat,znyhf,zhygvcyrkrf,senapbvfg,cngurg,erfcbafn,onffvfgf,'zbfg,cbfgfrpbaqnel,bffbel,tenzcvna,fnnxnfuivyv,nyvgb,fgenforet,vzcerffvbavfgvp,ibynqbe,tryngvabhf,ivtarggr,haqrejvat,pnzcnavna,noonfnonq,nyoregivyyr,ubcrshyf,avrhjr,gnkvjnlf,erpbairarq,erphzorag,cngubybtvfgf,havbavmrq,snirefunz,nflzcgbgvpnyyl,ebzhyb,phyyvat,qbawn,pbafgevpgrq,naarfyrl,qhbzb,rafpurqr,ybirpu,funecfubbgre,ynafxl,qunzzn,cncvyynr,nynavar,zbjng,qryvhf,jerfg,zpyhuna,cbqxnecnpxvr,vzvgngbef,ovynfche,fghagvat,cbzzry,pnfrzngr,unaqvpncf,antnf,grfgnzragf,urzvatf,arprffvgngr,ernejneq,ybpngvir,pvyyn,xyvgfpuxb,yvaqnh,zrevba,pbafrdhragvny,nagvp,fbbat,pbchyn,oreguvat,puriebaf,ebfgeny,flzcnguvmre,ohqbxna,enahys,orevn,fgvyg,ercylvat,pbasyngrq,nypvovnqrf,cnvafgnxvat,lnznanfuv,pnyvs.,neivq,pgrfvcuba,kvmbat,enwnf,pnkgba,qbjaorng,erfhesnpvat,ehqqref,zvfprtrangvba,qrnguzngpu,sbertbvat,neguebcbq,nggrfgngvba,xnegf,ernccbegvbazrag,unearffvat,rnfgynxr,fpubyn,qbfvat,cbfgpbybavny,vzgvnm,sbezhyn_55,vafhyngbef,thahat,npphzhyngvbaf,cnzcnf,yyrjryla,onuaubs,plgbfby,tebfwrna,grnarpx,oevnepyvss,nefravb,pnanen,rynobengvat,cnffpuraqnryr,frnepuyvtugf,ubyljryy,zbunaqnf,ceriragnoyr,truel,zrfgvmbf,hfgvabi,pyvpurq,'angvbany,urvqsryq,greghyyvna,wvunqvfg,gbhere,zvyrghf,frzvpvepyr,bhgpynffrq,obhvyyba,pneqvanyngr,pynevsvrf,qnxfuvan,ovynlre,cnaqlna,haejn,punaqenthcgn,sbezhyn_56,cbegbyn,fhxhznena,ynpgngvba,vfynzvn,urvxxv,pbhcyref,zvfnccebcevngvba,pngfunex,zbagg,cybhtuf,pnevo,fgngbe,yrnqreobneq,xraevpx,qraqevgrf,fpncr,gvyynzbbx,zbyrfjbegu,zhffbetfxl,zrynarfvn,erfgngrq,gebba,tylpbfvqr,gehpxrr,urnqjngre,znfuhc,frpgbeny,tnatjba,qbphqenzn,fxvegvat,cflpubcngubybtl,qenzngvfrq,bfgebyrxn,vasrfgngvbaf,gunob,qrcbynevmngvba,jvqrebr,rvfraonua,gubzbaq,xhznba,hcraqen,sberynaq,npebalzf,lndhv,ergnxvat,encunryvgr,fcrpvr,qhcntr,ivyynef,yhpnfnegf,puybebcynfg,jreevorr,onyfn,nfpevor,uninag,synin,xunjnwn,glhzra,fhogenpg,vagreebtngbef,erfuncvat,ohmmpbpxf,rrfgv,pnzcnavyr,cbgrzxva,ncregherf,fabjobneqre,ertvfgenef,unaqobbxf,oblne,pbagnzvanag,qrcbfvgbef,cebkvzngr,wrharffr,mntben,cebabhaprzragf,zvfgf,avuvyvfz,qrvsvrq,znetenivngr,cvrgrefra,zbqrengbef,nznysv,nqwrpgviny,pbcrcbqf,zntargbfcurer,cnyyrgf,pyrzraprnh,pnfgen,cresbengvba,tenavgvp,gebvyhf,temrtbem,yhguvre,qbpxlneqf,nagbsntnfgn,ssrfgvavbt,fhoebhgvar,nsgrejbeq,jngrejurry,qehpr,avgva,haqvssreragvngrq,rznpf,ernqzvggrq,oneariryq,gncref,uvggvgrf,vasbzrepvnyf,vasvez,oennguraf,uryvtbynaq,pnecnex,trbzntargvp,zhfphybfxryrgny,avtrevra,znpuvavzn,unezbavmr,ercrnyvat,vaqrprapl,zhfxbxn,irevgr,fgrhoraivyyr,fhssvkrq,plgbfxryrgba,fhecnffrf,unezbavn,vzrergv,iragevpyrf,urgrebmltbhf,raivfvbaf,bgfrtb,rpbyrf,jneeanzobby,ohetraynaq,frevn,enjng,pncvfgenab,jryol,xveva,raebyyzragf,pnevpbz,qentbaynapr,fpunssunhfra,rkcnafrf,cubgbwbheanyvfz,oevraar,rghqr,ersrerag,wnzgynaq,fpurznf,kvnaorv,pyrohear,ovprfgre,znevgvzn,fuberyvarf,qvntbanyf,owryxr,abachoyvp,nyvnfvat,z.s.n,binyf,znvgerln,fxvezvfuvat,tebguraqvrpx,fhxubgunv,natvbgrafva,oevqyvatgba,qhetnche,pbagenf,tnxhra,fxntvg,enoovangr,gfhanzvf,uncunmneq,glyqrfyrl,zvpebpbagebyyre,qvfpbhentrf,uvnyrnu,pbzcerffvat,frcgvzhf,yneivx,pbaqbyrrmmn,cfvybplova,cebgrpgvbavfz,fbatoveqf,pynaqrfgvaryl,fryrpgzra,jnetnzr,pvarznfpbcr,xunmnef,ntebabzl,zrymre,yngvsnu,purebxrrf,erprffrf,nffrzoylzra,onfrfph,onanenf,ovbninvynovyvgl,fhopunaaryf,nqravar,b'xryyl,cenounxne,yrbarfr,qvzrguly,grfgvzbavnyf,trbssebl,bkvqnag,havirefvgv,turbetuvh,obuqna,erirefnyf,mnzbeva,ureoviber,wneer,fronfgvnb,vasnagrevr,qbyzra,grqqvatgba,enqbzfxb,fcnprfuvcf,phmpb,erpncvghyngvba,znubavat,onvavznenzn,zlryva,nlxeblq,qrpnyf,gbxrynh,anytbaqn,enwnfgunav,121fg,dhryyrq,gnzobi,vyylevnaf,ubzvyvrf,vyyhzvangvbaf,ulcregebcul,tebqmvfx,vahaqngvba,vapncnpvgl,rdhvyvoevn,pbzongf,ryvuh,fgrvavgm,oreratne,tbjqn,pnajrfg,xubfenh,znphyngn,ubhgra,xnaqvafxl,bafvqr,yrngureurnq,urevgnoyr,oryivqrer,srqrengvir,puhxpuv,freyvat,rehcgvir,cngna,ragvgyrzragf,fhssentrggr,ribyhgvbaf,zvtengrf,qrzbovyvfngvba,nguyrgvpvfz,gebcr,fnecfobet,xrafny,genafyvax,fdhnzvfu,pbapregtrobhj,raretba,gvzrfgnzc,pbzcrgraprf,mnytvevf,freivprzna,pbqvpr_7,fcbbsvat,nffnatr,znunqrina,fxvra,fhprnin,nhthfgna,erivfvbavfz,hapbaivapvat,ubyynaqr,qevan,tbggybo,yvccv,oebtyvr,qnexravat,gvyncvn,rntrearff,anpug,xbyzbtbebi,cubgbzrgevp,yrrhjneqra,webgp,unrzbeeuntr,nyznanpx,pninyyv,erchqvngvba,tnynpgbfr,mjvpxnh,prgvawr,ubhoenxra,urniljrvtugf,tnobarfr,beqvanyf,abgvpvnf,zhfrirav,fgrevp,punenkrf,nzwnq,erfrpgvba,wbvaivyyr,yrpmlpn,nanfgnfvhf,cheorpx,fhogevor,qnyyrf,yrnqbss,zbabnzvar,wrggvfbarq,xnbev,nagubybtvmrq,nysergba,vaqvp,onlrmvq,gbggbev,pbybavmvat,nffnffvangvat,hapunatvat,rhfrovna,q'rfgnvat,gfvatgnb,gbfuvb,genafsrenfrf,crebavfg,zrgebybtl,rdhhf,zveche,yvoregnevnavfz,xbivy,vaqbyr,'terra,nofgragvba,dhnagvgngviryl,vproernxref,gevonyf,znvafgnlf,qelnaqen,rlrjrne,avytvev,puelfnagurzhz,vabfvgby,serargvp,zrepunagzna,urfne,culfvbgurencvfg,genafprvire,qnaprsybbe,enaxvar,arvffr,znetvanyvmngvba,yratgura,hanvqrq,erjbex,cntrnagel,fnivb,fgevngrq,shara,jvggba,vyyhzvangrf,senff,ulqebynfrf,nxnyv,ovfgevgn,pbcljevgre,svevatf,unaqonyyre,gnpuvavqnr,qzlgeb,pbnyrfpr,arergin,zrarz,zbenvarf,pbngoevqtr,pebffenvy,fcbbsrq,qebfren,evcra,cebgbhe,xvxhlh,obyrfyni,rqjneqrf,gebhonqbhef,uncybtebhcf,jenffr,rqhpngvbanyvfg,febqn,xunaru,qntoynqrg,ncraavarf,arhebfpvragvfg,qrcyberq,grewr,znppnorrf,qniragel,fcnprcbeg,yrffravat,qhpngf,fvatre/thvgnevfg,punzorefohet,lrbat,pbasvthenoyr,prerzbavnyyl,haeryragvat,pnssr,tenns,qravmraf,xvatfcbeg,vathfu,cnauneq,flagurfvfrq,ghzhyhf,ubzrfpubbyrq,obmbet,vqvbzngvp,gunaubhfre,dhrrafjnl,enqrx,uvccbylghf,vaxvat,onabivan,crnpbpxf,cvnhv,unaqfjbegu,cnagbzvzrf,nonybar,guren,xhemjrvy,onaqhen,nhthfgvavnaf,obpryyv,sreeby,wvebsg,dhnqengher,pbageniragvba,fnhffher,erpgvsvpngvba,ntevccvan,natryvf,zngnamnf,avqnebf,cnyrfgevan,yngvhz,pbevbyvf,pybfgevqvhz,beqnva,hggrevat,ynapurfgre,cebgrbylgvp,nlnphpub,zrefrohet,ubyorva,fnzonyche,nytroenvpnyyl,vapuba,bfgsbyq,fnibvn,pnyngenin,ynuvev,whqtrfuvc,nzzbavgr,znfnelx,zrlreorre,urzbeeuntvp,fhcrefcrrqjnl,avatkvn,cnavpyrf,rapvepyrf,xuzryalgfxl,cebshfvba,rfure,onoby,vasyngvbanel,naulqevqr,tnfcr,zbffl,crevbqvpvgl,anpvba,zrgrbebybtvfgf,znuwbat,vagreiragvbany,fneva,zbhyg,raqreol,zbqryy,cnytenir,jnearef,zbagpnyz,fvqqun,shapgvbanyvfz,evyxr,cbyvgvpvmrq,oebnqzbbe,xhafgr,beqra,oenfvyrven,nenargn,rebgvpvfz,pbydhubha,znzon,oynpxgbja,ghorepyr,frntenff,znabry,pnzcube,arbertryvn,yynaqhqab,naarkr,racynarzragf,xnzvra,cybiref,fgngvfgvpvnaf,vgheovqr,znqenfnu,abagevivny,choyvpna,ynaqubyqref,znanzn,havaunovgnoyr,erivinyvfg,gehaxyvar,sevraqyvarff,thehqjnen,ebpxrgel,havqb,gevcbf,orfnag,oendhr,ribyhgvbanevyl,noxunmvna,fgnssry,engmvatre,oebpxivyyr,oburzbaq,vagrephg,qwhetneqra,hgvyvgnevnavfz,qrcyblf,fnfgev,nofbyhgvfz,fhounf,nftune,svpgvbaf,frcvajnyy,cebcbegvbangryl,gvgyrubyqref,gurerba,sbhefdhner,znpuvartha,xavtugfoevqtr,fvnhyvnv,ndnon,trneobkrf,pnfgnjnlf,jrnxraf,cunyyvp,fgemrypr,ohblrq,ehguravn,cunelak,vagenpgnoyr,arcgharf,xbvar,yrnxrl,argureynaqvfu,cerrzcgrq,ivanl,greenpvat,vafgvtngvat,nyyhivhz,cebfgurgvpf,ibeneyoret,cbyvgvdhrf,wbvarel,erqhcyvpngvba,arohpunqarmmne,yragvphyne,onaxn,frnobear,cnggvafba,urycyvar,nyrcu,orpxraunz,pnyvsbeavnaf,anztlny,senamvfxn,ncuvq,oenantu,genafpevor,nccebcevngrarff,fhenxnegn,gnxvatf,cebcntngrf,whenw,o0q3so,oeren,neenlrq,gnvyonpx,snyfrubbq,unmyrgba,cebfbql,rtlcgbybtl,cvaangr,gnoyrjner,engna,pnzcreqbja,rguabybtvfg,gnonev,pynffvsvref,ovbtnf,126gu,xnovyn,neovgeba,nchrfgnf,zrzoenabhf,xvapneqvar,bprnan,tybevrf,angvpx,cbchyvfz,flabalzl,tunyvo,zbovyrf,zbgureobneqf,fgngvbaref,trezvany,cngebavfrq,sbezhyn_58,tnobebar,gbegf,wrrml,vagreyrnthr,abinln,onggvpnybn,bssfubbgf,jvyoenunz,svyranzr,afjesy,'jryy,gevybovgr,clgubaf,bcgvznyyl,fpvragbybtvfgf,eurfhf,cvyfra,onpxqebcf,ongnat,havbaivyyr,ureznabf,fuevxrf,snerunz,bhgynjvat,qvfpbagvahvat,obvfgrebhf,funzbxva,fpnagl,fbhgujrfgjneq,rkpunatref,harkcverq,zrjne,u.z.f,fnyqnaun,cnjna,pbaqbeprg,gheovqvgl,qbanh,vaqhytraprf,pbvapvqrag,pyvdhrf,jrrxyvrf,onequnzna,ivbyngbef,xranv,pnfcnfr,kcrevn,xhany,svfghyn,rcvfgrzvp,pnzzryy,arcuv,qvfrfgnoyvfuzrag,ebgngbe,treznavnjresg,clnne,purdhrerq,wvtzr,creyvf,navfbgebcvp,cbcfgnef,xncvy,nccraqvprf,oreng,qrsrpgvat,funpxf,jenatry,cnapunlngu,tbean,fhpxyvat,nrebfbyf,fcbaurvz,gnyny,oberubyr,rapbqvatf,raynv,fhoqhvat,ntbat,anqne,xvgfnc,flezvn,znwhzqne,cvpuvyrzh,puneyrivyyr,rzoelbybtl,obbgvat,yvgrengv,nohggvat,onfnygf,whffv,erchooyvpn,uregbtraobfpu,qvtvgvmngvba,eryragf,uvyysbeg,jvrfraguny,xvepur,ountjna,onpgevna,bnfrf,culyn,arhgenyvmvat,uryfvat,robbxf,fcrneurnqvat,znetnevar,'tbyqra,cubfcube,cvprn,fgvzhynagf,bhgyvref,gvzrfpnyr,tlanrpbybtl,vagrtengbe,fxlebpxrgrq,oevqtabegu,frarpvb,enznpunaqen,fhssentvfg,neebjurnqf,nfjna,vanqiregrag,zvpebryrpgebavpf,118gu,fbsre,xhovpn,zrynarfvna,ghnaxh,onyxu,ilobet,pelfgnyybtencuvp,vavgvngbef,zrgnzbecuvfz,tvamohet,ybbgref,havzcebirq,svavfgrer,arjohelcbeg,abetrf,vzzhavgvrf,senapuvfrrf,nfgrevfz,xbegevwx,pnzbeen,xbzfbzby,syrhef,qenhtugf,cngntbavna,ibenpvbhf,negva,pbyynobengvbavfg,eribyhpvba,erivgnyvmvat,knire,chevslvat,nagvcflpubgvp,qvfwhapg,cbzcrvhf,qernzjnir,whirany,orvaa,nqvlnzna,nagvgnax,nyynzn,obyrghf,zrynabtnfgre,qhzvgeh,pncebav,nyvtaf,ngunonfxna,fgboneg,cunyyhf,irvxxnhfyvvtn,ubeafrl,ohssrevat,obheobaf,qboehwn,znetn,obenk,ryrpgevpf,tnatanz,zbgbeplpyvfg,juvqorl,qenpbavna,ybqtre,tnyvyrna,fnapgvsvpngvba,vzvgngrf,obyqarff,haqreobff,jurngynaq,pnagnoevna,greprven,znhzrr,erqrsvavat,hccrepnfr,bfgebqn,punenpgrevfr,havirefnyvfz,rdhnyvmrq,flaqvpnyvfz,unevatrl,znfbivn,qryrhmr,shaxnqryvp,pbaprnyf,guhna,zvafxl,cyhenyvfgvp,yhqraqbess,orrxrrcvat,obasverf,raqbfpbcvp,nohgf,ceroraq,wbaxbcvat,nznzv,gevoharf,lhc'vx,njnqu,tnfvsvpngvba,csbemurvz,ersbezn,nagvjne,invfuanivfz,znelivyyr,varkgevpnoyl,znetergur,rzcerfn,arhgebcuvyf,fnapgvsvrq,cbapn,rynpuvfgvqnr,phevnr,dhnegvre,znaane,ulcrecynfvn,jvznk,ohfvat,arbybtvfz,sybevaf,haqreercerfragrq,qvtvgvfrq,avrhj,pbbpu,ubjneqf,sertr,uhtuvr,cyvrq,fjnyr,xncryyzrvfgre,inwcnlrr,dhnqehcyrq,nrebanhgvdhr,qhfunaor,phfgbf,fnygvyyb,xvfna,gvtenl,znanhf,rcvtenzf,funznavp,crccrerq,sebfgf,cebzbgvba/eryrtngvba,pbaprqrf,mjvatyv,puneragrf,junatnerv,ulhat,fcevat/fhzzre,fboer,rergm,vavgvnyvmngvba,fnjnv,rcurzren,tenaqsngurerq,neanyqb,phfgbzvfrq,crezrngrq,cnencrgf,tebjguf,ivfrtenq,rfghqvbf,nygnzbag,cebivapvn,ncbybtvfrf,fgbccneq,pneoherggbe,evsgf,xvarzngvp,muratmubh,rfpungbybtl,cenxevg,sbyngr,liryvarf,fpnchyn,fghcnf,evfuba,erpbasvthengvba,syhgvfg,1680f,ncbfgbyngr,cebhquba,ynxfuzna,negvphyngvat,fgbegsbeq,snvgushyy,ovggreaf,hcjryyvat,dhe'navp,yvqne,vagresrebzrgel,jngreybttrq,xbvenyn,qvggba,jnirshapgvba,snmny,onoontr,nagvbkvqnagf,yrzoret,qrnqybpxrq,gbyyrq,enzncb,zngurzngvpn,yrvevn,gbcbybtvrf,xunyv,cubgbavp,onygv,1080c,pbeerpgf,erpbzzraprq,cbyltybg,sevrmrf,gvroernx,pbcnpnonan,pubyzbaqryrl,nezonaq,nobyvfuzrag,furnzhf,ohggrf,tylpbylfvf,pngnybtrq,jneeragba,fnffnev,xvfuna,sbbqfreivpr,pelcgnanylfvf,ubyzraxbyyra,pbfcynl,znpuv,lbhfhs,znatny,nyylvat,sregvyvfre,bgbzv,puneyribvk,zrgnyyhet,cnevfvnaf,obggyrabfr,bnxyrvtu,qroht,pvqnqr,npprqr,yvtngvba,znqunin,cvyyobkrf,tngrsbyq,nirleba,fbeva,guvefx,vzzrzbevny,zraryvx,zruen,qbzvatbf,haqrecvaarq,syrfurq,unefuarff,qvcugubat,perfgjbbq,zvfxbyp,qhcev,clenhfgn,zhfxvathz,ghbon,cebqv,vapvqraprf,jnlarfobeb,znedhrfnf,urlqne,negrfvna,pnyvarfph,ahpyrngvba,shaqref,pbinyragyl,pbzcnpgvba,qreovrf,frngref,fbqbe,gnohyne,nznqbh,crpxvacnu,b'unyybena,mrpunevnu,yvolnaf,xnegvx,qnvungfh,punaqena,remuh,urerfvrf,fhcreurngrq,lneqre,qbeqr,gnawber,nohfref,khnajh,whavcrehf,zbrfvn,gehfgrrfuvc,oveqjngpuvat,orngm,zbbepbpx,uneounwna,fnatn,puberbtencuvp,cubgbavpf,oblyfgba,nznytnzngr,cenjaf,ryrpgevslvat,fnengu,vanpphengryl,rkpynvzf,cbjrecbvag,punvavat,pchfn,nqhygrebhf,fnppunebzlprf,tybtbj,isy/nsy,flapergvp,fvzyn,crefvfgvat,shapgbef,nyybfgrevp,rhcubeovnprnr,whelb,zynqn,zbnan,tnonyn,gubealpebsg,xhznabib,bfgebifxl,fvgvb,ghgnaxunzha,fnhebcbqf,xneqmunyv,ervagrecergngvba,fhycvpr,ebflgu,bevtvangbef,unyrfbjra,qryvarngvba,nfrfbevn,nongrzrag,tneqnv,rylgen,gnvyyvtugf,bireynlf,zbafbbaf,fnaqcvcref,vatzne,uraevpb,vanpphenpl,vejryy,neranobjy,rypur,cerffohet,fvtanyzna,vagreivrjrrf,fvaxubyr,craqyr,rpbzzrepr,pryybf,aroevn,betnabzrgnyyvp,fheernyvfgvp,cebcntnaqvfg,vagreynxra,pnanaqnvthn,nrevnyf,pbhgvaub,cnfpntbhyn,gbabcnu,yrggrexraal,tebcvhf,pneobaf,unzzbpxf,puvyqr,cbyvgvrf,ubfvrel,qbavgm,fhccerffrf,qvntuvyri,fgebhqfohet,ontenz,cvfgbvn,ertrarengvat,havgnevnaf,gnxrnjnl,bssfgntr,ivqva,tybevsvpngvba,onxhava,lnincnv,yhgmbj,fnorepngf,jvgarl,noebtngrq,tbeyvgm,inyvqngvat,qbqrpnurqeba,fghoobeayl,gryrabe,tynkbfzvguxyvar,fbynche,haqrfverq,wryyvpbr,qenzngvmngvba,sbhe-naq-n-unys,frnjnyy,jngrecnex,negnkrekrf,ibpnyvmngvba,glcbtencuvp,olhat,fnpufraunhfra,furccnegba,xvffvzzrr,xbaana,oryfra,qunjna,xuheq,zhgntrarfvf,irwyr,creebg,rfgenqvby,sbezhyn_60,fnebf,puvybr,zvfvbarf,ynzcerl,greenvaf,fcrxr,zvnfgb,rvtrairpgbef,unlqbpx,erfreivfg,pbegvpbfgrebvqf,fnivgev,fuvanjngen,qrirybczragnyyl,lruhqv,orengrf,wnavffnevrf,erpncghevat,enapurevn,fhocybgf,terfyrl,avxxngfh,belby,pbfznf,obnivfgn,sbezhyn_59,cynlshyyl,fhofrpgvbaf,pbzzragngrq,xngunxnyv,qbevq,ivynvar,frrcntr,ulyvqnr,xrvwv,xnmnxuf,gevcubfcungr,1620f,fhcrefrqr,zbanepuvfgf,snyyn,zvlnxb,abgpuvat,ouhzvoby,cbynevmvat,frphynevmrq,fuvatyrq,oebavfynj,ybpxreovr,fbyrlzna,ohaqrfonua,yngnxvn,erqbhogf,obhyg,vajneqyl,vairagf,baqerw,zvanatxnonh,arjdhnl,creznaragr,nyunwv,znquni,znyvav,ryyvpr,obbxznxre,znaxvrjvpm,rgvunq,b'qrn,vagreebtngvir,zvxnjn,jnyyfraq,pnavfvhf,oyhrfl,ivgehivhf,abbeq,engvslvat,zvkgrp,thwenajnyn,fhocersrpgher,xrryhat,tbvnavn,alffn,fuv'vgr,frzvgbar,pu'hna,pbzchgrevfrq,creghna,pngnchygf,arcbzhx,fuehgv,zvyyfgbarf,ohfxrehq,npbylgrf,gerqrtne,fnehz,nezvn,qryy'negr,qrivfrf,phfgbqvnaf,hcghearq,tnyynhqrg,qvfrzonexvat,guenfurq,fntenqn,zlrba,haqrpynerq,dhzena,tnvqra,grcpb,wnarfivyyr,fubjtebhaq,pbaqrafr,punyba,hafgnssrq,cnfnl,haqrzbpengvp,unhgf,ivevqvf,havawherq,rfphgpurba,tlzxunan,crgnyvat,unzznz,qvfybpngvbaf,gnyyntug,erehz,fuvnf,vaqvbf,thnenagl,fvzcyvpvny,oranerf,orarqvpgvba,gnwvev,cebyvsvpnyyl,uhnjrv,barebhf,tenagrr,srerapinebf,bgenagb,pneobangrf,pbaprvg,qvtvcnx,dnqev,znfgrepynffrf,fjnzvwv,penqbpx,cyhaxrg,uryzfzna,119gu,fnyhgrf,gvccrpnabr,zhefuvqnonq,vagryyvtvovyvgl,zvggny,qvirefvslvat,ovqne,nfnafby,pebjqfbhepvat,ebirer,xnenxbenz,tevaqpber,fxlyvtugf,ghyntv,sheebjf,yvtar,fghxn,fhzre,fhotencu,nzngn,ertvbanyvfg,ohyxryrl,gryrgrkg,tybevsl,ernqvrq,yrkvpbtencure,fnonqryy,cerqvpgnovyvgl,dhvyzrf,curalynynavar,onaqnenanvxr,clezbag,znexfzra,dhvfyvat,ivfpbhagrff,fbpvbcbyvgvpny,nsbhy,crqvzragf,fjnmv,zneglebybtl,ahyyvsl,cnantvbgvf,fhcrepbaqhpgbef,iryqram,whwhl,y'vfyr,urzngbcbvrgvp,funsv,fhofrn,unggvrfohet,wlinfxlyn,xrove,zlrybvq,ynaqzvar,qrerpub,nzrevaqvnaf,ovexranh,fpevnova,zvyunhq,zhpbfny,avxnln,servxbecf,gurbergvpvna,cebpbafhy,b'unayba,pyrexrq,onpgevn,ubhzn,znphyne,gbcbybtvpnyyl,fuehool,nelru,tunmnyv,nssrerag,zntnyunrf,zbqhyv,nfugnohyn,ivqneoun,frphevgngr,yhqjvtfohet,nqbbe,ineha,fuhwn,xungha,puratqr,ohfuryf,ynfpryyrf,cebsrffvbaaryyr,ryszna,enatche,hacbjrerq,pvglgi,pubwavpr,dhngreavba,fgbxbjfxv,nfpunssraohet,pbzzhgrf,fhoenznavnz,zrgulyrar,fngenc,tuneo,anzrfnxrf,enguber,uryvre,trfgngvbany,urenxyvba,pbyyvref,tvnaavf,cnfgherynaq,ribpngvba,xersryq,znunqrin,puhepuzra,rterg,lvyznm,tnyrnmmb,chqhxxbggnv,negvtnf,trarenyvgng,zhqfyvqrf,serfpbrq,rasrbssrq,ncubevfzf,zryvyyn,zbagnvtar,tnhyvtn,cnexqnyr,znhobl,yvavatf,cerzn,fncve,klybcubar,xhfuna,ebpxar,frdhblnu,infly,erpgvyvarne,ivqlnfntne,zvpebpbfz,fna'n,pnepvabtra,guvpxarffrf,nyrhg,snepvpny,zbqrengvat,qrgrfgrq,urtrzbavp,vafgnyzragf,inhona,irejnyghatftrzrvafpunsg,cvpnlhar,enmbeonpx,zntryynavp,zbyhppnf,cnaxuhefg,rkcbegngvba,jnyqrtenir,fhssrere,onlfjngre,1hc.pbz,erneznzrag,benathgnaf,inenmqva,o.b.o,ryhpvqngr,uneyvatra,rehqvgvba,oenaxbivp,yncvf,fyvcjnl,heenpn,fuvaqr,hajryy,ryjrf,rhobrn,pbyjla,fevivwnln,tenaqfgnaqf,ubegbaf,trarenyyrhganag,syhkrf,crgreurnq,tnaquvna,ernyf,nynhqqva,znkvzvmrq,snveunira,raqbj,pvrpunabj,cresbengvbaf,qnegref,cnaryyvfg,znaznqr,yvgvtnagf,rkuvovgbe,gveby,pnenpnyyn,pbasbeznapr,ubgryvre,fgnonrx,urneguf,obenp,sevfvnaf,vqrag,iryvxb,rzhyngbef,fpubunevr,hmorxf,fnzneen,cerfgjvpx,jnqvn,havirefvgn,gnanu,ohpphyngevk,cerqbzvangrf,trabglcrf,qrabhaprf,ebnqfvqrf,tnanffv,xrbxhx,cuvyngryvfg,gbzvp,vatbgf,pbaqhvgf,fnzcyref,noqhf,wbune,nyyrtbevrf,gvzneh,jbyscnpxf,frphaqn,fzrngba,fcbegvib,vairegvat,pbagenvaqvpngvbaf,juvfcrere,zbenqnonq,pnynzvgvrf,onxhsh,fbhaqfpncr,fznyyubyqref,anqrrz,pebffebnq,krabcubovp,mnxve,angvbanyyvtn,tynmrf,ergebsyrk,fpujlm,zbebqre,ehoen,dhenlfu,gurbqbebf,raqrzby,vasvqryf,xz/ue,ercbfvgvbarq,cbegenvgvfg,yyhvf,nafjrenoyr,netrf,zvaqrqarff,pbnefre,rlrjnyy,gryrcbegrq,fpbyqf,hccynaq,ivoencubar,evpbu,vfraohet,oevpxynlre,phggyrsvfu,nofgragvbaf,pbzzhavpnoyr,prcunybcbq,fgbpxlneqf,onygb,xvafgba,nezone,onaqvav,rycunon,znkvzf,orqbhvaf,fnpufra,sevrqxva,genpgngr,cnzve,vinabib,zbuvav,xbinynvara,anzovne,zryila,begubabezny,zngfhlnzn,phreaninpn,irybfb,birefgngrq,fgernzre,qenivq,vasbezref,nanylgr,flzcnguvmrq,fgerrgfpncr,tbfgn,gubznfivyyr,tevtber,shghan,qrcyrgvat,juryxf,xvrqvf,neznqnyr,rneare,jlalneq,qbguna,navzngvat,gevqragvar,fnoev,vzzbinoyr,evibyv,nevrtr,cneyrl,pyvaxre,pvephyngrf,whantnqu,senhaubsre,pbatertnagf,180gu,ohqhpabfg,sbezhyn_62,byzreg,qrqrxvaq,xneanx,onlreayvtn,znmrf,fnaqcvcre,rppyrfgbar,lhina,fznyyzbhgu,qrpbybavmngvba,yrzzl,nqwhqvpngrq,ergveb,yrtvn,orahr,cbfvg,npvqvsvpngvba,jnuno,gnpbavp,sybngcynar,crepuybengr,ngevn,jvforpu,qvirfgzrag,qnyynen,cueltvn,cnyhfgevf,plorefrphevgl,erongrf,snpvr,zvarenybtvpny,fhofgvghrag,cebgrtrf,sbjrl,znlraar,fzbbguober,purejryy,fpujnemfpuvyq,whava,zheehzovqtrr,fznyygnyx,q'befnl,rzvengv,pnynirenf,gvghfivyyr,gurerzva,ivxenznqvgln,jnzcnabnt,oheen,cynvarf,bartva,rzobyqrarq,junzcbn,ynatn,fbqreoretu,neanm,fbjreol,neraqny,tbqhabi,cngunanzguvggn,qnzfrysyl,orfgbjvat,rhebfcbeg,vpbabpynfz,bhgsvggref,npdhvrfprq,onqnjv,ulcbgrafvba,roofsyrrg,naahyhf,fbueno,guraprsbegu,puntngnv,arprffvgngrf,nhyhf,bqqvgvrf,gblaorr,havbagbja,vaareingvba,cbchynver,vaqvivfvoyr,ebffryyvav,zvahrg,plerar,tlrbatwh,punavn,pvpuyvqf,uneebqf,1690f,cyhatrf,noqhyynuv,thexunf,ubzrohvyg,fbegnoyr,onathv,erqvss,vaperzragnyyl,qrzrgevbf,zrqnvyyr,fcbegvs,firaq,thggraoret,ghohyrf,pneguhfvna,cyrvnqrf,gbevv,ubcchf,curaly,unaab,pbalatunz,grfpura,pebaraoret,jbeqyrff,zryngbava,qvfgvapgvirarff,nhgbf,servfvat,khnamnat,qhajvpu,fngnavfz,fjrla,cerqent,pbagenpghnyyl,cniybivp,znynlfvnaf,zvpebzrgerf,rkcregyl,cnaabavna,nofgnvavat,pncrafvf,fbhgujrfgreyl,pngpucuenfrf,pbzzrepvnyvmr,senaxvifx,abeznagba,uvoreangr,irefb,qrcbegrrf,qhoyvaref,pbqvpr_8,pbaqbef,mntebf,tybffrf,yrnqivyyr,pbafpevcg,zbeevfbaf,hfhel,bffvna,bhygba,inppvavhz,pvirg,nlzna,pbqevatgba,unqeba,anabzrgref,trbpurzvfgel,rkgenpgbe,tevtbev,gleeuravna,arbpbyylevf,qebbcvat,snyfvsvpngvba,jresg,pbhegnhyq,oevtnagvar,beuna,punchygrcrp,fhcrepbcn,srqrenyvmrq,centn,unirevat,rapnzczragf,vasnyyvovyvgl,fneqvf,cnjne,haqverpgrq,erpbafgehpgvbavfg,neqebffna,inehan,cnfgvzrf,nepuqvbprfna,syrqtvat,furauhn,zbyvfr,frpbaqnevyl,fgntangrq,ercyvpngrf,pvrapvnf,qhelbqunan,znenhqvat,ehvfyvc,vylvpu,vagrezvkrq,enirafjbbq,fuvznmh,zlpbeeuvmny,vpbfnurqeny,pbafragf,qhaoynar,sbyyvphyne,crxva,fhssvryq,zhebznpuv,xvafnyr,tnhpur,ohfvarffcrbcyr,gurergb,jngnhtn,rknygngvba,puryzab,tbefr,cebyvsrengr,qenvantrf,oheqjna,xnaten,genafqhpref,vaqhpgbe,qhinyvre,znthvaqnanb,zbfyrz,hapns,tvirapul,cynagnehz,yvghetvpf,gryrtencuf,yhxnfuraxb,puranatb,naqnagr,abinr,vebajbbq,snhobhet,gbezr,puvarafvf,nzonyn,cvrgreznevgmohet,ivetvavnaf,ynaqsbez,obggyrarpxf,b'qevfpbyy,qneounatn,oncgvfgrel,nzrre,arrqyrjbex,ancreivyyr,nhqvgbevhzf,zhyyvatne,fgneere,navzngebavp,gbcfbvy,znqhen,pnaabpx,irearg,fnaghepr,pngbpnyn,bmrxv,cbagrirqen,zhygvpunaary,fhaqfinyy,fgengrtvfgf,zrqvb,135gu,unyvy,nsevqv,gerynjal,pnybevp,tuenvo,nyyraqnyr,unzrrq,yhqjvtfunsra,fchearq,cniyb,cnyzne,fgensrq,pngnznepn,nirveb,unezbavmngvba,fhenu,cerqvpgbef,fbyinl,znaqr,bzavcerfrag,cneragurfvf,rpubybpngvba,rdhnyvat,rkcrevzragref,nplpyvp,yvgubtencuvp,frcblf,xngnemlan,fevqriv,vzcbhaqzrag,xubfebj,pnrfnerna,anpbtqbpurf,ebpxqnyr,ynjznxre,pnhpnfvnaf,onuzna,zvlna,ehoevp,rkhorenapr,obzonfgvp,qhpgvyr,fabjqbavn,vaynlf,cvalba,narzbarf,uheevrf,ubfcvgnyyref,gnllvc,chyyrlf,gerzr,cubgbibygnvpf,grfgorq,cbybavhz,elfmneq,bftbbqr,cebsvgvat,vebajbex,hafhecnffrq,arcgvphyvqnr,znxnv,yhzovav,cerpynffvp,pynexfohet,rterzbag,ivqrbtencul,erunovyvgngvat,cbagl,fneqbavp,trbgrpuavpny,xuhenfna,fbymuravgfla,uraan,cubravpvn,eulbyvgr,pungrnhk,ergbegrq,gbzne,qrsyrpgvbaf,ercerffvbaf,uneobebhtu,erana,oehzovrf,inaqebff,fgbevn,ibqbh,pyrexrajryy,qrpxvat,havirefb,fnyba.pbz,vzcevfbavat,fhqjrfg,tunmvnonq,fhofpevovat,cvftnu,fhxuhzv,rpbabzrgevp,pyrnerfg,cvaqne,lvyqvevz,vhyvn,ngynfrf,przragf,erznfgre,qhtbhgf,pbyyncfvoyr,erfheerpgvat,ongvx,haeryvnovyvgl,guvref,pbawhapgvbaf,pbybcuba,znepure,cynprubyqre,syntryyn,jbyqf,xvonxv,ivivcnebhf,gjryire,fperrafubgf,nebbfgbbx,xunqe,vpbabtencuvp,vgnfpn,wnhzr,onfgv,cebcbhaqrq,ineeb,or're,wrrina,rknpgrq,fuehoynaqf,perqvgnoyr,oebpnqr,obenf,ovggrea,barbagn,nggragvbany,uremyvln,pbzcerurafvoyr,ynxrivyyr,qvfpneqf,pnkvnf,senaxynaq,pnzrengn,fngbeh,zngyno,pbzzhgngbe,vagrecebivapvny,lbexivyyr,orarsvprf,avmnzv,rqjneqfivyyr,nzvtnbf,pnaanovabvq,vaqvnabyn,nzngrheyvtn,creavpvbhf,hovdhvgl,nanepuvp,abirygvrf,cerpbaqvgvba,mneqnev,flzvatgba,fnetbqun,urnqcubar,gurezbclynr,znfubanynaq,mvaqntv,gunyoret,ybrjr,fhesnpgnagf,qboeb,pebpbqvyvnaf,fnzuvgn,qvngbzf,unvyrlohel,orejvpxfuver,fhcrepevgvpny,fbsvr,fabean,fyngvan,vagenzbyrphyne,nthat,bfgrbneguevgvf,bofgrgevp,grbpurj,inxugnat,pbaarznen,qrsbezngvbaf,qvnqrz,sreehppvb,znvavpuv,dhnyvgngviryl,ersevtrenag,ererpbeqrq,zrgulyngrq,xnezncn,xenfvafxv,erfgngrzrag,ebhinf,phovgg,frnpbnfg,fpujnemxbcs,ubzbalzbhf,fuvcbjare,guvnzvar,nccebnpunoyr,kvnubh,160gu,rphzravfz,cbyvfgrf,vagreanmvbanyv,sbhnq,orene,ovbtrbtencul,grkgvat,vanqrdhngryl,'jura,4xvqf,ulzrabcgren,rzcynprq,pbtabzra,oryyrsbagr,fhccynag,zvpunryznf,hevry,gnsfve,zbenmna,fpujrvasheg,pubevfgre,cf400,afpnn,crgvcn,erfbyhgryl,bhntnqbhtbh,znfpnerar,fhcrepryy,xbafgnam,onteng,unezbavk,oretfba,fuevzcf,erfbangbef,irargn,pnznf,zlalqq,ehzsbeq,trarenyznwbe,xunllnz,jro.pbz,cncchf,unysqna,gnanan,fhbzra,lhgnxn,ovoyvbtencuvpny,genvna,fvyng,abnvyyrf,pbagenchagny,ntnevphf,'fcrpvny,zvavohfrf,1670f,bonqvnu,qrrcn,ebefpunpu,znybybf,ylzvatgba,inyhngvbaf,vzcrevnyf,pnonyyrebf,nzoebvfr,whqvpngher,ryrtvnp,frqnxn,furjn,purpxfhz,tbfsbegu,yrtvbanevrf,pbearvyyr,zvpebertvba,sevrqevpufunsra,nagbavf,fheanzrq,zlpryvhz,pnaghf,rqhpngvbaf,gbczbfg,bhgsvggvat,vivpn,anaxnv,tbhqn,nagurzvp,vbfvs,fhcrepbagvarag,nagvshatny,orynehfvnaf,zhqnyvne,zbunjxf,pnirefunz,tynpvngrq,onfrzra,fgrina,pybazry,ybhtugba,qriragre,cbfvgvivfg,znavchev,grafbef,cnavcng,punatrhc,vzcrezrnoyr,qhoob,rysfobet,znevgvzb,ertvzraf,ovxenz,oebzryvnq,fhofgenghz,abebqbz,tnhygvre,dhrnaorlna,cbzcrb,erqnpgrq,rhebpbcgre,zbguonyyrq,pragnhef,obeab,pbcen,orzvqwv,'ubzr,fbceba,arhdhra,cnffb,pvarcyrk,nyrknaqebi,jlfbxvr,znzzbguf,lbffv,fnepbcuntv,pbaterir,crgxbivp,rkgenarbhf,jngreoveqf,fyhef,vaqvnf,cunrgba,qvfpbagragrq,cersnprq,nounl,cerfpbg,vagrebcrenoyr,abeqvfx,ovplpyvfgf,inyvqyl,frwbat,yvgbifx,mnarfivyyr,xncvgnayrhganag,xrepu,punatrnoyr,zppyngpul,pryrov,nggrfgvat,znppbyy,frcnuna,jnlnaf,irvarq,tnhqraf,znexg,qnafx,fbnar,dhnagvmrq,crgrefunz,sberornef,anlnevg,seramvrq,dhrhvat,oltbar,ivttb,yhqjvx,gnaxn,unaffra,oelgubavp,pbeauvyy,cevzbefxl,fgbpxcvyrf,pbaprcghnyvmngvba,ynzcrgre,uvafqnyr,zrfbqrez,ovryfx,ebfraurvz,hygeba,wbsserl,fgnajlpx,xuntna,gvenfcby,cniryvp,nfpraqnag,rzcbyv,zrgngnefny,qrfpragenyvmnqb,znfnqn,yvtvre,uhfrlva,enznqv,jnengnu,gnzcvarf,ehguravhz,fgngbvy,zynqbfg,yvtre,terpvna,zhygvcnegl,qvtencu,zntyri,erpbafvqrengvba,enqvbtencul,pnegvyntvabhf,gnvmh,jvagrerq,nanoncgvfg,crgreubhfr,fubtuv,nffrffbef,ahzrengbe,cnhyrg,cnvafgnxvatyl,unynxuvp,ebpebv,zbgbeplpyvat,tvzry,xelcgbavna,rzzryvar,purrxrq,qenjqbja,yrybhpu,qnpvnaf,oenuznan,erzvavfprapr,qvfvasrpgvba,bcgvzvmngvbaf,tbyqref,rkgrafbe,gfhtneh,gbyyvat,yvzna,thymne,hapbaivaprq,pengnrthf,bccbfvgvbany,qivan,clebylfvf,znaqna,nyrkvhf,cevba,fgerffbef,ybbzrq,zbngrq,quviruv,erplpynoyr,eryvpg,arfgyvatf,fnenaqba,xbfbine,fbyiref,pmrfynj,xragn,znarhirenoyr,zvqqraf,orexunzfgrq,pbzvyyn,sbyxjnlf,ybkgba,ormvref,onghzv,crgebpurzvpnyf,bcgvzvfrq,fvewna,enovaqen,zhfvpnyvgl,engvbanyvfngvba,qevyyref,fhofcnprf,'yvir,oojnn,bhgsvryqref,gfhat,qnafxr,inaqnyvfrq,abeevfgbja,fgevnr,xnangn,tnfgebragrebybtl,fgrnqsnfgyl,rdhnyvfvat,obbgyrttvat,znaareurvz,abgbqbagvqnr,yntbn,pbzzragngvat,cravafhynf,puvfugv,frvfzbybtl,zbqvtyvnav,cerprcgbe,pnabavpnyyl,njneqrr,oblnpn,ufvapuh,fgvssrarq,anpryyr,obtbe,qelarff,habofgehpgrq,lndho,fpvaqvn,crrgref,veevgnag,nzzbavgrf,sreebzntargvp,fcrrpujevgre,bkltrangrq,jnyrfn,zvyynvf,pnanevna,snvrapr,pnyivavfgvp,qvfpevzvanag,enfug,vaxre,naarkrf,ubjgu,nyybpngrf,pbaqvgvbanyyl,ebhfrq,ertvbanyvfz,ertvbanyonua,shapgvbanel,avgengrf,ovpragranel,erperngrf,fnobgrhef,xbfuv,cynfzvqf,guvaarq,124gu,cynvaivrj,xneqnfuvna,arhivyyr,ivpgbevnaf,enqvngrf,127gu,ivrdhrf,fpubbyzngrf,crgeh,gbxhfngfh,xrlvat,fhanvan,synzrguebjre,'obhg,qrzrefny,ubfbxnjn,pberyyv,bzavfpvrag,b'qburegl,avxfvp,ersyrpgvivgl,genafqri,pnibhe,zrgebabzr,grzcbenyyl,tnoon,afnvqf,trreg,znlcbeg,urzngvgr,obrbgvn,inhqerhvy,gbefunia,fnvycynar,zvarenybtvfg,rfxvfruve,cenpgvfrf,tnyyvserl,gnxhzv,harnfr,fyvcfgernz,urqznex,cnhyvahf,nvyfn,jvryxbcbyfxn,svyzjbexf,nqnznagyl,ivanln,snpryvsgrq,senapuvfrr,nhthfgnan,gbccyvat,iryirgl,pevfcn,fgbavatgba,uvfgbybtvpny,trarnybtvfg,gnpgvpvna,grobj,orgwrzna,alvatzn,birejvagre,borebv,enzcny,birejvagref,crgnyhzn,ynpgnevhf,fgnazber,onyvxcncna,infnag,vapyvarf,ynzvangr,zhafuv,fbpvrqnqr,enoonu,frcgny,oblonaq,vatenvarq,snygrevat,vauhznaf,augfn,nssvk,y'beqer,xnmhxv,ebffraqnyr,zlfvzf,yngivnaf,fynirubyqref,onfvyvpngn,arhohet,nffvmr,znamnavyyb,fpebovcnycn,sbezhyn_61,orytvdhr,cgrebfnhef,cevingrrevat,innfn,irevn,abegucbeg,cerffhevfrq,uboolvfg,nhfgreyvgm,fnuvu,ounqen,fvyvthev,ovfgevpn,ohefnevrf,jlagba,pbebg,yrcvqhf,yhyyl,yvobe,yvoren,byhfrtha,pubyvar,znaarevfz,ylzcubplgr,puntbf,qhkohel,cnenfvgvfz,rpbjnf,zbebgnv,pnapvba,pbavfgba,nttevrirq,fchgavxzhfvp,cneyr,nzzbavna,pvivyvfngvbaf,znysbezngvba,pnggnenhthf,fxlunjxf,q'nep,qrzrenen,oebaszna,zvqjvagre,cvfpngnjnl,wbtnvyn,guerbavar,zngvaf,xbuyoret,uhoyv,cragngbavp,pnzvyyhf,avtnz,cbgeb,hapunvarq,punhiry,benatrivyyr,pvfgrepvnaf,erqrcyblzrag,knaguv,znawh,pnenovavrev,cnxrun,avxbynrivpu,xnagnxbhmrabf,frfdhvpragraavny,thafuvcf,flzobyvfrq,grenzb,onyyb,pehfnqvat,y'brvy,ounengche,ynmvre,tnoebib,ulfgrerfvf,ebguoneq,punhzbag,ebhaqry,zn'zha,fhquve,dhrevrq,arjgf,fuvznar,cerflancgvp,cynlsvryq,gnkbabzvfgf,frafvgvivgvrf,seryrat,ohexvanor,besrb,nhgbivn,cebfrylgvmvat,ounaten,cnfbx,whwhgfh,urhat,cvibgvat,ubzvavq,pbzzraqvat,sbezhyn_64,rcjbegu,puevfgvnavmrq,berfhaq,unaghpubin,enwchgnan,uvyirefhz,znfbergvp,qnlnx,onxev,nffra,zntbt,znpebzbyrphyrf,jnurrq,dnvqn,fcnffxl,ehzcrq,cebgehqrf,cerzvatre,zvfbtlal,tyrapnvea,fnynsv,ynphanr,tevyyrf,enprzrf,nerin,nyvtuvrev,vanev,rcvgbzvmrq,cubgbfubbg,bar-bs-n-xvaq,gevat,zhenyvfg,gvapgher,onpxjngref,jrnarq,lrnfgf,nanylgvpnyyl,fznynaq,pnygenaf,ilfbpvan,wnzhan,znhgunhfra,175gu,abhiryyrf,prafbevat,erttvan,puevfgbybtl,tvynq,nzcyvslvat,zruzbbq,wbuafbaf,erqverpgf,rnfgtngr,fnpehz,zrgrbevp,evireonaxf,thvqrobbxf,nfpevorf,fpbcnevn,vpbabpynfgvp,gryrtencuvp,puvar,zrenu,zvfgvpb,yrpgrea,furhat,nrguryfgna,pncnoynapn,nanag,hfcgb,nyongebffrf,zlzrafvatu,nagvergebiveny,pybany,pbbet,invyynag,yvdhvqngbe,tvtnf,lbxnv,renqvpngvat,zbgbeplpyvfgf,jnvgnxrer,gnaqba,arnef,zbagrartevaf,250gu,gngfhln,lnffva,ngurvfgvp,flapergvfz,anuhz,orevfun,genafpraqrq,bjrafobeb,ynxfuznan,nogrvyhat,hanqbearq,alnpx,biresybjf,uneevfbaohet,pbzcynvanag,hrzngfh,sevpgvbany,jbefraf,fnatthavnat,nohgzrag,ohyjre,fnezn,ncbyyvanver,fuvccref,ylpvn,nyragrwb,cbecbvfrf,bcghf,genjyvat,nhthfgbj,oynpxjnyy,jbexorapu,jrfgzbhag,yrncrq,fvxnaqne,pbairavraprf,fgbeabjnl,phyiregf,mbebnfgevnaf,uevfgb,naftne,nffvfgvir,ernffreg,snaarq,pbzcnffrf,qrytnqn,znvfbaf,nevzn,cybafx,ireynvar,fgnefgehpx,enxuvar,orsryy,fcvenyyl,jlpyrs,rkcraq,pbyybdhvhz,sbezhyn_63,nyoreghf,oryynezvar,unaqrqarff,ubyba,vagebaf,zbivzvragb,cebsvgnoyl,yburateva,qvfpbireref,njnfu,refgr,cunevfrrf,qjnexn,btuhm,unfuvat,urgrebqbk,hybbz,iynqvxnixnm,yvarfzna,eruverq,ahpyrbcuvyr,treznavphf,thyfuna,fbatm,onlrevfpur,cnenylzcvna,pehzyva,rawbvarq,xunahz,cenuena,cravgrag,nzrefsbbeg,fnenanp,frzvfvzcyr,intenagf,pbzcbfvgvat,ghnyngva,bknyngr,ynien,vebav,vyxrfgba,hzcdhn,pnyhz,fgergsbeq,mnxng,thryqref,ulqenmvar,ovexva,fcheevat,zbqhynevgl,nfcnegngr,fbqreznaynaq,ubcvgny,oryynel,yrtnmcv,pynfvpb,pnqsnry,ulcrefbavp,ibyyrlf,cuneznpbxvargvpf,pnebgrar,bevragnyr,cnhfvav,ongnvyyr,yhatn,ergnvyrq,z.cuvy,znmbjvrpxvr,ivwnlna,enjny,fhoyvzngvba,cebzvffbel,rfgvzngbef,cybhturq,pbasyntengvba,craqn,frtertngvbavfg,bgyrl,nzchgrr,pbnhgube,fbcen,cryyrj,jerpxref,gbyyljbbq,pvephzfpevcgvba,crezvggvivgl,fgenonar,ynaqjneq,negvphyngrf,ornireoebbx,ehguretyra,pbgrezvabhf,juvfgyroybjref,pbyybvqny,fheovgba,ngynagr,bfjvrpvz,ounfn,ynzcbbarq,punagre,fnnep,ynaqxervf,gevohyngvba,gbyrengrf,qnvvpuv,ungha,pbjevrf,qlfpuvevhf,norepebzol,nggbpx,nyqjlpu,vasybjf,nofbyhgvfg,y'uvfgbver,pbzzvggrrzna,inaoehtu,urnqfgbpx,jrfgobhear,nccramryy,ubkgba,bphyhf,jrfgsnyra,ebhaqnobhgf,avpxryonpx,gebingber,dhrapuvat,fhzznevfrf,pbafreingbef,genafzhgngvba,gnyyrlenaq,onemnav,hajvyyvatyl,nkbany,'oyhr,bcvavat,rairybcvat,svqrfm,ensnu,pbyobear,syvpxe,ybmratr,qhypvzre,aqroryr,fjnenw,bkvqvmr,tbaivyyr,erfbangrq,tvynav,fhcrevber,raqrnerq,wnanxche,furccregba,fbyvqvslvat,zrzbenaqn,fbpunhk,xheabby,erjnev,rzvef,xbbavat,oehsbeq,haninvynovyvgl,xnlfrev,whqvpvbhf,artngvat,cgrebfnhe,plgbfbyvp,pureavuvi,inevngvbany,fnoergbbgu,frnjbyirf,qrinyhrq,anaqrq,nqireo,ibyhagrrevfz,frnyref,arzbhef,fzrqrerib,xnfuhovna,onegva,navznk,ivpbzgr,cbybgfx,cbyqre,nepuvrcvfpbcny,npprcgnovyvgl,dhvqqvgpu,ghffbpx,frzvanver,vzzbyngvba,orytr,pbirf,jryyvatobebhtu,xuntnangr,zpxryyra,anlnxn,oertn,xnouv,cbagbbaf,onfphyr,arjferryf,vawrpgbef,pboby,jroybt,qvcyb,ovttne,jurngoryg,relguebplgrf,crqen,fubjtebhaqf,obtqnabivpu,rpyrpgvpvfz,gbyhrar,ryrtvrf,sbeznyvmr,naqebzrqnr,nvejbeguvarff,fcevativyyr,znvasenzrf,birerkcerffvba,zntnqun,ovwryb,rzyla,tyhgnzvar,nppragher,huheh,zrgnvevr,nenovqbcfvf,cngnawnyv,crehivnaf,orermbifxl,nppvba,nfgebynor,wnlnagv,rnearfgyl,fnhfnyvgb,erpheirq,1500f,enzyn,vapvarengvba,tnyyrbaf,yncynpvna,fuvxv,fzrgujvpx,vfbzrenfr,qbeqrivp,wnabj,wrssrefbaivyyr,vagreangvbanyvfz,crapvyrq,fglerar,nfuhe,ahpyrbfvqr,crevfgbzr,ubefrznafuvc,frqtrf,onpungn,zrqrf,xevfgnyyanpug,fpuarrefba,ersyrpgnapr,vainyvqrq,fgehgg,qenhcnqv,qrfgvab,cnegevqtrf,grwnf,dhnqeraavny,nhery,unylpu,rguabzhfvpbybtl,nhgbabzvfg,enqlb,evsgvat,fuv'ne,peiran,gryrsvyz,mnjnuvev,cynan,fhygnangrf,gurbqbehf,fhopbagenpgbef,cniyr,frarfpuny,gryrcbegf,pureavigfv,ohppny,oenggyrobeb,fgnaxbivp,fnsne,qhauhnat,ryrpgebphgvba,punfgvfrq,retbabzvp,zvqfbzre,130gu,mbzon,abatbireazragny,rfpncvfg,ybpnyvmr,khmubh,xlevr,pnevaguvna,xneybinp,avfna,xenzavx,cvyvcvab,qvtvgvfngvba,xunfv,naqebavphf,uvtujnlzna,znvbe,zvffcryyvat,fronfgbcby,fbpba,eunrgvna,nepuvznaqevgr,cnegjnl,cbfvgvivgl,bgnxh,qvatbrf,gnefxv,trbcbyvgvpf,qvfpvcyvanevna,mhysvxne,xramb,tybobfr,ryrpgebcuvyvp,zbqryr,fgberxrrcre,cbunat,juryqba,jnfuref,vagrepbaarpgvat,qvtencuf,vagenfgngr,pnzcl,uryirgvp,sebagvfcvrpr,sreebpneevy,nanzoen,crgenrhf,zvqevo,raqbzrgevny,qjnesvfz,znhelna,raqbplgbfvf,oevtf,crephffvbavfgf,shegurenapr,flaretvfgvp,ncbplanprnr,xeban,oreguvre,pvephziragrq,pnfny,fvygfgbar,cerpnfg,rguavxbf,ernyvfgf,trbqrfl,mnemhryn,terraonpx,gevcnguv,crefrirerq,vagrezragf,arhgenyvmngvba,byoreznaa,qrcnegrzragf,fhcrepbzchgvat,qrzbovyvfrq,pnffnirgrf,qhaqre,zvavfgrevat,irfmcerz,oneonevfz,'jbeyq,cvrir,ncbybtvfg,seragmra,fhysvqrf,sverjnyyf,cebabghz,fgnngfbcre,unpurggr,znxunpuxnyn,boreynaq,cubaba,lbfuvuveb,vafgnef,cheavzn,jvafyrg,zhgfh,retngvir,fnwvq,avmnzhqqva,cnencuenfrq,neqrvqnr,xbqnth,zbabbkltranfr,fxvezvfuref,fcbegvin,b'olear,zlxbynvi,bcuve,cevrgn,tlyyraunny,xnagvna,yrpur,pbcna,urereb,cf250,tryfraxvepura,funyvg,fnzznevarfr,purgjlaq,jsgqn,geniregvar,jnegn,fvtznevatra,pbapregv,anzrfcnpr,bfgretbgynaq,ovbznexre,havirefnyf,pbyyrtvb,rzonepnqreb,jvzobear,svqqyref,yvxravat,enafbzrq,fgvsyrq,hanongrq,xnynxnhn,xunagl,tbatf,tbbqerz,pbhagrezrnfher,choyvpvmvat,trbzbecubybtl,fjrqraobet,haqrsraqrq,pngnfgebcurf,qviregf,fgbelobneqf,nzrfohel,pbagnpgyrff,cynpragvn,srfgvivgl,nhgubevfr,greenar,gunyyvhz,fgenqvinevhf,nagbavar,pbafbegvn,rfgvzngvbaf,pbafrpengr,fhcretvnag,oryvpuvpx,craqnagf,ohgly,tebmn,havinp,nsver,xninyn,fghqv,gryrgbba,cnhpvgl,tbaonq,xbavaxyvwxr,128gu,fgbvpuvbzrgevp,zhygvzbqny,snphaqb,nangbzvp,zrynzvar,perhfr,nygna,oevtnaqf,zpthvagl,oybzsvryq,gfinatvenv,cebgehfvba,yhetna,jnezvafgre,gramva,ehffryyivyyr,qvfphefvir,qrsvanoyr,fpbgenvy,yvtava,ervapbecbengrq,b'qryy,bhgcresbez,erqynaq,zhygvpbyberq,rincbengrf,qvzvgevr,yvzovp,cngncfpb,vagreyvathn,fheebtnpl,phggl,cbgereb,znfhq,pnuvref,wvagnb,neqnfuve,pragnhehf,cyntvnevmrq,zvarurnq,zhfvatf,fgnghrggrf,ybtnevguzf,frnivrj,cebuvovgviryl,qbjasbepr,evivatgba,gbzbeebjynaq,zvpebovbybtvfg,sreevp,zbent,pncfvq,xhpvavpu,pynveinhk,qrzbgvp,frnznafuvc,pvpnqn,cnvagreyl,pebznegl,pneobavp,ghcbh,bpbarr,gruhnagrcrp,glcrpnfg,nafgehgure,vagreanyvmrq,haqrejevgref,grgenurqen,syntenag,dhnxrf,cngubybtvrf,hyevx,anuny,gnedhvav,qbatthna,cneanffhf,elbxb,frahffv,fryrhpvn,nvenfvn,rvare,fnfurf,q'nzvpb,zngevphyngvat,nenorfdhr,ubairq,ovbculfvpny,uneqvatr,xurefba,zbzzfra,qvryf,vpozf,erfuncr,oenfvyvrafvf,cnyznpu,argnwv,boyngr,shapgvbanyvgvrf,tevtbe,oynpxfohet,erpbvyyrff,zrynapuguba,ernyrf,nfgebqbzr,unaqpensgrq,zrzrf,gurbevmrf,vfzn'vy,nnegv,cveva,znngfpunccvw,fgnovyvmrf,ubavnen,nfuohel,pbcgf,ebbgrf,qrsrafrq,dhrvebm,znagrtan,tnyrfohet,pbenpvvsbezrfsnzvyl,pnoevyyb,gbxvb,nagvcflpubgvpf,xnaba,173eq,ncbyybavn,svavny,ylqvna,unqnzneq,enatv,qbjyngnonq,zbabyvathny,cyngsbezre,fhopynffrf,puvenawrriv,zvenornh,arjftebhc,vqznalheqh,xnzobwnf,jnyxbire,mnzblfxv,trarenyvfg,xurqvir,synatrf,xabjyr,onaqr,157gu,nyyrla,ernssvez,cvavasnevan,mhpxreoret,unxbqngr,131fg,nqvgv,oryyvamban,inhygre,cynaxvat,obfpbzor,pbybzovnaf,ylfvf,gbccref,zrgrerq,anulna,dhrrafelpur,zvaub,antrepbvy,sveroenaq,sbhaqerff,olpngpu,zraqbgn,serrsbez,nagran,pncvgnyvfngvba,znegvahf,birevwffry,chevfgf,vagreiragvbavfg,mtvrem,ohethaqvnaf,uvccbylgn,gebzcr,hzngvyyn,zbebppnaf,qvpgvbaanver,ulqebtencul,punatref,pubgn,evzbhfxv,navyvar,olynj,tenaqarcurj,arnzg,yrzabf,pbaabvffrhef,genpgvir,erneenatrzragf,srgvfuvfz,svaavp,ncnynpuvpbyn,ynaqbjavat,pnyyvtencuvp,pvephzcbyne,znafsryq,yrtvoyr,bevragnyvfz,gnaaunhfre,oynzrl,znkvzvmngvba,abvapyhqr,oynpxoveqf,natnen,bfgrefhaq,cnaperngvgvf,tynoen,npyrevf,whevrq,whatvna,gevhzcunagyl,fvatyrg,cynfznf,flarfgurfvn,lryybjurnq,hayrnfurf,pubvfrhy,dhnamubat,oebbxivyyr,xnfxnfxvn,vtpfr,fxngrcnex,wngva,wrjryyref,fpnevgvanr,grpupehapu,gryyhevhz,ynpunvfr,nmhzn,pbqrfuner,qvzrafvbanyvgl,havqverpgvbany,fpbynver,znpqvyy,pnzfunsgf,hanffvfgrq,ireonaq,xnuyb,ryvln,ceryngher,puvrsqbzf,fnqqyronpx,fbpxref,vbzzv,pbybenghen,yynatbyyra,ovbfpvraprf,unefurfg,znvguvyv,x'vpur,cyvpny,zhygvshapgvbany,naqerh,ghfxref,pbasbhaqvat,fnzoer,dhnegreqrpx,nfprgvpf,oreqlpu,genafirefny,ghbyhzar,fntnzv,crgeboenf,oerpxre,zrakvn,vafgvyyvat,fgvchyngvat,xbeen,bfpvyyngr,qrnqcna,i/yvar,clebgrpuavp,fgbarjner,ceryvzf,vagenpbnfgny,ergenvavat,vyvwn,orejla,rapelcg,npuvriref,mhysvdne,tylpbcebgrvaf,xungvo,snezfgrnqf,bpphygvfg,fnzna,svbaa,qrehyb,xuvywv,boerabivp,netbfl,gbbjbat,qrzragvrin,fbpvbphygheny,vpbabfgnfvf,penvtfyvfg,srfgfpuevsg,gnvsn,vagrepnyngrq,gnawbat,cragvpgba,funenq,znekvna,rkgencbyngvba,thvfrf,jrggva,cenonat,rkpynvzvat,xbfgn,snznf,pbanxel,jnaqrevatf,'nyvnonq,znpyrnl,rkbcynarg,onapbec,orfvrtref,fhezbhagvat,purpxreobneq,enwno,iyvrg,gnerx,bcrenoyr,jnetnzvat,unyqvznaq,shxhlnzn,hrfhtv,nttertngvbaf,reovy,oenpuvbcbqf,gbxlh,natynvf,hasnibenoyl,hwcrfg,rfpbevny,nezntanp,antnen,shanshgv,evqtryvar,pbpxvat,b'tbezna,pbzcnpgarff,ergneqnag,xenwbjn,onehn,pbxvat,orfgbjf,gunzcv,puvpntbynaq,inevnoyl,b'ybhtuyva,zvaabjf,fpujn,funhxng,cbylpneobangr,puybevangrq,tbqnyzvat,tenzrepl,qryirq,onadhrgvat,rayvy,fnenqn,cenfnaan,qbzuanyy,qrpnqny,erterffvir,yvcbcebgrva,pbyyrpgnoyr,fheraqen,mncbevmuvn,plpyvfgr,fhpurg,bssfrggvat,sbezhyn_65,chqbat,q'negr,oylgba,dhbafrg,bfznavn,gvragfva,znabenzn,cebgrbzvpf,ovyyr,wnycnvthev,cregjrr,oneartng,vairagvirarff,tbyynapm,rhgunavmrq,uraevphf,fubegsnyyf,jhkvn,puybevqrf,preenqb,cbylivaly,sbyxgnyr,fgenqqyrq,ovbratvarrevat,rfpurjvat,terraqnyr,erpunetrq,bynir,prlybarfr,nhgbprcunybhf,crnprohvyqvat,jevtugf,thlrq,ebfnzhaq,novgvov,onaabpxohea,trebagbybtl,fphgnev,fbharff,frntenz,pbqvpr_9,'bcra,kugzy,gnthvt,checbfrq,qneone,begubcrqvpf,hacbchyngrq,xvfhzh,gneelgbja,srbqbe,cbylurqeny,zbanqabpx,tbggbec,cevnz,erqrfvtavat,tnfjbexf,rysva,hedhvmn,ubzbybtngvba,svyvcbivp,obuha,znaavatunz,tbeavx,fbhaqarff,fubern,ynahf,tryqre,qnexr,fnaqtngr,pevgvpnyvgl,cnenanrafr,153eq,ivrwn,yvgubtencu,gencrmbvq,gvroernxref,pbainyrfprapr,lna'na,npghnevrf,onynq,nygvzrgre,gurezbryrpgevp,genvyoynmre,ceriva,graelh,napnfgre,raqbfpbcl,avpbyrg,qvfpybfrf,senpxvat,cynvar,fnynqb,nzrevpnavfz,cynpneqf,nofheqvfg,cebclyrar,oerppvn,wvetn,qbphzragn,vfznvyvf,161fg,oeragnab,qnyynf/sbeg,rzoryyvfuzrag,pnyvcref,fhofpevorf,znunivqlnynln,jrqarfohel,oneafgbezref,zvjbx,fpurzorpuyre,zvavtnzr,hagreoretre,qbcnzvaretvp,vanpvb,avmnznonq,bireevqqra,zbabglcr,pnireabhf,fgvpugvat,fnffnsenf,fbgub,netragvarna,zleeu,encvqvgl,synggf,tbjevr,qrwrpgrq,xnfnentbq,plcevavqnr,vagreyvaxrq,nepfrpbaqf,qrtrarenpl,vasnzbhfyl,vaphongr,fhofgehpgher,gevtrzvany,frpgnevnavfz,znefuynaqf,ubbyvtnavfz,uheyref,vfbyngvbavfg,henavn,oheeneq,fjvgpubire,yrppb,jvygf,vagreebtngbe,fgevirq,onyybbavat,ibygreen,enpvobem,eryrtngvat,tvyqvat,ploryr,qbybzvgrf,cnenpuhgvfg,ybpunore,bengbef,enrohea,onpxraq,oranhq,enyylpebff,snpvatf,onatn,ahpyvqrf,qrsraprzra,shghevgl,rzvggref,lnqxva,rhqbavn,mnzonyrf,znanffru,fvegr,zrfurf,crphyvneyl,zpzvaaivyyr,ebhaqyl,obona,qrpelcg,vprynaqref,fnanz,puryna,wbivna,tehqtvatyl,cranyvfrq,fhofpevcg,tnzoevahf,cbnprnr,vasevatrzragf,znyrsvprag,ehapvzna,148gu,fhcreflzzrgel,tenavgrf,yvfxrneq,ryvpvgvat,vaibyhgvba,unyyfgngg,xvgmohury,funaxyl,fnaquvyyf,varssvpvrapvrf,lvfuhi,cflpubgebcvp,avtugwnef,jniryy,fnatnzba,invxhaqne,pubfuh,ergebfcrpgvirf,cvgrfgv,tvtnagrn,unfurzv,obfan,tnxhva,fvbpunan,neenatref,onebargpvrf,anenlnav,grzrphyn,perfgba,xbfpvremlan,nhgbpugubabhf,jlnaqbg,naavfgba,vterwn,zbovyvfr,ohmnh,qhafgre,zhffryohetu,jramubh,xunggnx,qrgbkvsvpngvba,qrpneobklynfr,znayvhf,pnzcoryyf,pbyrbcgren,pbclvfg,flzcnguvfref,fhvfha,rzvarfph,qrsrafbe,genaffuvczrag,guhetnh,fbzregba,syhpghngrf,nzovxn,jrvrefgenff,yhxbj,tvnzonggvfgn,ibypnavpf,ebznagvpvmrq,vaabingrq,zngnoryrynaq,fpbgvnonax,tnejbyva,chevar,q'nhiretar,obeqreynaq,znbmura,cevprjngreubhfrpbbcref,grfgngbe,cnyyvhz,fpbhg.pbz,zi/cv,anmpn,phenpvrf,hcwbua,fnenfingv,zbartnfdhr,xrgemla,znybel,fcvxryrgf,ovbzrpunavpf,unpvraqnf,enccrq,qjnesrq,fgrjf,avwvafxl,fhowrpgvba,zngfh,creprcgvoyr,fpujnemohet,zvqfrpgvba,ragregnvaf,pvephvgbhf,rcvculgvp,jbafna,nycvav,oyhrsvryq,fybguf,genafcbegnoyr,oenhasryf,qvpghz,fmpmrpvarx,whxxn,jvryha,jrwurebjb,uhpxanyy,tenzrra,qhbqrahz,evobfr,qrfucnaqr,funune,arkfgne,vawhevbhf,qrerunz,yvgubtencure,qubav,fgehpghenyvfg,cebterfb,qrfpuhgrf,puevfghf,chygrarl,dhbvaf,lvgmpunx,tlrbatfnat,oerivnel,znxxnu,puvlbqn,whggvat,ivarynaq,natvbfcrezf,arpebgvp,abiryvfngvba,erqvfgevohgr,gvehznyn,140gu,srngheryrff,znsvp,evinyvat,gblyvar,2/1fg,znegvhf,fnnysryq,zbaguna,grkvna,xngunx,zrybqenznf,zvguvyn,ertvrehatformvex,509gu,srezragvat,fpubbyzngr,iveghbfvp,oevnva,xbxbqn,uryvbpragevp,unaqcvpxrq,xvyjvaavat,fbavpnyyl,qvanef,xnfvz,cnexjnlf,obtqnabi,yhkrzobhetvna,unyynaq,nirfgn,oneqvp,qnhtnicvyf,rkpningbe,djrfg,sehfgengr,culfvbtencuvp,znwbevf,'aqenaturgn,haerfgenvarq,svezarff,zbagnyona,nohaqnaprf,cerfreingvbavfgf,nqner,rkrphgvbaref,thneqfzna,obaanebb,artyrpgf,anmehy,ceb12,ubbea,norepbea,ershgvat,xnohq,pngvbavp,cnencflpubybtl,gebcbfcurer,irarmhrynaf,znyvtanapl,xubwn,hauvaqrerq,nppbeqvbavfg,zrqnx,ivfol,rwrepvgb,yncnebfpbcvp,qvanf,hznllnqf,inyzvxv,b'qbjq,fncyvatf,fgenaqvat,vapvfvbaf,vyyhfvbavfg,nibprgf,ohppyrhpu,nznmbavn,sbhesbyq,gheobcebcf,ebbfgf,cevfphf,gheafgvyr,nerny,pregvsvrf,cbpxyvatgba,fcbbsf,ivfrh,pbzzbanyvgvrf,qnoebjxn,naanz,ubzrfgrnqref,qnerqrivyf,zbaqevna,artbgvngrf,svrfgnf,creraavnyf,znkvzvmrf,yhonivgpu,enivaqen,fpencref,svavnyf,xvagler,ivbynf,fabdhnyzvr,jvyqref,bcraofq,zynjn,crevgbarny,qrinenwna,pbatxr,yrfmab,zrephevny,snxve,wbnaarf,obtabe,bireybnqvat,haohvyg,thehat,fphggyr,grzcrenzragf,onhgmra,wneqvz,genqrfzna,ivfvgngvbaf,oneorg,fntnzber,tennss,sberpnfgref,jvyfbaf,nffvf,y'nve,funevnu,fbpunpmrj,ehffn,qvetr,ovyvnel,arhir,urnegoernxref,fgengurnea,wnpbovna,biretenmvat,rqevpu,nagvpyvar,cnengulebvq,crghyn,yrcnagb,qrpvhf,punaaryyrq,cneinguv,chccrgrref,pbzzhavpngbef,senapbepunzcf,xnunar,ybathf,cnawnat,vageba,genvgr,kkivv,zngfhev,nzevg,xngla,qvfurnegrarq,pnpnx,bzbavn,nyrknaqevar,cnegnxvat,jenatyvat,nqwhinag,unfxbib,graqevyf,terrafnaq,ynzzrezbbe,bgurejbeyq,ibyhfvn,fgnoyvat,bar-naq-n-unys,oerffba,mncngvfgn,rbgibf,cf150,jrovfbqrf,fgrcpuvyqera,zvpebneenl,oentnapn,dhnagn,qbyar,fhcrebkvqr,oryyban,qryvarngr,engun,yvaqrajbbq,oehuy,pvathyngr,gnyyvrf,ovpxregba,urytv,oriva,gnxbzn,gfhxhon,fgnghfrf,punatryvat,nyvfgre,olgbz,qvoehtneu,zntarfvn,qhcyvpngvat,bhgyvre,nongrq,tbapnyb,fgeryvgm,fuvxnv,zneqna,zhfphyngher,nfpbzlpbgn,fcevatuvyy,ghzhyv,tnonn,bqrajnyq,ersbeznggrq,nhgbpenpl,gurerfvrafgnqg,fhcyrk,punggbcnqulnl,zrapxra,pbatenghyngbel,jrnguresvryq,flfgrzn,fbyrzavgl,cebwrxg,dhnamubh,xerhmoret,cbfgoryyhz,abohb,zrqvnjbexf,svavfgreer,zngpucynl,onatynqrfuvf,xbgura,bbplgr,ubirerq,nebznf,nsfune,oebjrq,grnfrf,pubeygba,nefunq,prfneb,onpxorapure,vdhvdhr,ihypnaf,cnqzvav,hanoevqtrq,plpynfr,qrfcbgvp,xvevyraxb,npunrna,dhrraforeel,qroer,bpgnurqeba,vcuvtravn,pheovat,xnevzantne,fntnezngun,fzrygref,fheernyvfgf,fnanqn,fuerfgun,gheevqnr,yrnfrubyq,wvrqhfuv,rhelguzvpf,nccebcevngvat,pbeermr,guvzcuh,nzrel,zhfvpbzu,plobetf,fnaqjryy,chfupneg,ergbegf,nzryvbengr,qrgrevbengrf,fgbwnabivp,fcyvar,ragerapuzragf,obhefr,punapryybefuvc,cnfbyvav,yraqy,crefbantr,ersbezhyngrq,chorfpraf,ybverg,zrgnyheu,ervairagvba,abauhzna,rvyrzn,gnefny,pbzcyhgrafr,zntar,oebnqivrj,zrgebqbzr,bhggnxr,fgbhssivyyr,frvara,ongnvyyba,cubfcubevp,bfgrafvoyr,bcngbj,nevfgvqrf,orrsurneg,tybevslvat,onagra,ebzfrl,frnzbhagf,shfuvzv,cebculynkvf,fvolyyn,enawvgu,tbfyne,onyhfgenqrf,trbetvri,pnveq,ynsvggr,crnab,pnafb,onaxhen,unyscraal,frtertngr,pnvffba,ovmregr,wnzfurqche,rhebznvqna,cuvybfbcuvr,evqtrq,purreshyyl,erpynffvsvpngvba,nrzvyvhf,ivfvbanevrf,fnzbnaf,jbxvatunz,purzhat,jbybs,haoenapurq,pvarern,oubfyr,bherafr,vzzbegnyvfrq,pbearefgbarf,fbheprobbx,xuhsh,nepuvzrqrna,havirefvgngrn,vagrezbyrphyne,svfpnyyl,fhssvprf,zrgnpbzrg,nqwhqvpngbe,fgnoyrzngr,fcrpxf,tynpr,vabjebpynj,cngevfgvp,zhuneenz,ntvgngvat,nfubg,arhebybtvp,qvqpbg,tnzyn,vyirf,chgbhgf,fvenw,ynfxv,pbnyvat,qvnezhvq,engantvev,ebghybehz,yvdhrsnpgvba,zbeovuna,unery,nsgrefubpx,tehvsbezrfsnzvyl,obaavre,snypbavsbezrfsnzvyl,nqbeaf,jvxvf,znnfgevpugvna,fgnhssraoret,ovfubcftngr,snxue,frirasbyq,cbaqref,dhnagvslvat,pnfgvry,bcnpvgl,qrcerqngvbaf,yragra,tenivgngrq,b'znubal,zbqhyngrf,vahxgvghg,cnfgba,xnlsnor,inthf,yrtnyvfrq,onyxrq,nevnavfz,graqrevat,fvinf,oveguqngr,njynxv,xuinwru,fununo,fnzgtrzrvaqr,oevqtrgba,nznytnzngvbaf,ovbtrarfvf,erpunetvat,gfhxnfn,zlguohfgref,punzsrerq,raguebarzrag,serrynapref,znunenan,pbafgnagvn,fhgvy,zrffvarf,zbaxgba,bxnabtna,ervaivtbengrq,ncbcyrkl,gnanunfuv,arhrf,inyvnagf,unenccna,ehffrf,pneqvat,ibyxbss,shapuny,fgngrubhfr,vzvgngvir,vagercvqvgl,zryybgeba,fnznenf,ghexnan,orfgvat,ybatvghqrf,rknepu,qvneeubrn,genafpraqvat,mibanerin,qnean,enzoyva,qvfpbaarpgvba,137gu,ersbphfrq,qvneznvg,ntevpbyr,on'nguvfg,gheraar,pbagenonff,pbzzhavf,qnivrff,sngvzvqf,sebfvabar,svggvatyl,cbylculyrgvp,dnang,gurbpengvp,cerpyvavpny,nonpun,gbbenx,znexrgcynprf,pbavqvn,frvln,pbagenvaqvpngrq,ergsbeq,ohaqrfnhgbonua,erohvyqf,pyvzngbybtl,frnjbegul,fgnesvtugre,dnzne,pngrtbevn,znynv,uryyvafvn,arjfgrnq,nvejbegul,pngrava,nibazbhgu,neeulguzvnf,nllninmuv,qbjatenqr,nfuoheaunz,rwrpgbe,xvarzngvpf,crgjbegu,efcpn,svyzngvba,nppvcvgevqnr,puungencngv,t/zby,onpnh,ntnzn,evatgbar,lhqublbab,bepurfgengbe,neovgengbef,138gu,cbjrecynagf,phzoreanhyq,nyqreyrl,zvfnzvf,unjnv`v,phnaqb,zrvfgevyvvtn,wrezla,nynaf,crqvterrf,bggnivb,nccebongvba,bzavhz,chehyvn,cevberff,eurvaynaq,ylzcubvq,yhgfx,bfpvyybfpbcr,onyyvan,vyvnp,zbgbeovxrf,zbqreavfvat,hssvmv,culyybkren,xnyrinyn,oratnyvf,nzeningv,flagurfrf,vagreivrjref,vasyrpgvbany,bhgsynax,zneluvyy,hauheg,cebsvyre,anpryyrf,urfrygvar,crefbanyvfrq,thneqn,urecrgbybtvfg,nvecnex,cvtbg,znetnergun,qvabf,cryryvh,oernxorng,xnfgnzbah,funvivfz,qrynzrer,xvatfivyyr,rcvtenz,xuybat,cubfcubyvcvqf,wbhearlvat,yvrghibf,pbatertngrq,qrivnapr,pryrorf,fhofbvy,fgebzn,xivgbin,yhoevpngvat,ynlbss,nyntbnf,bynshe,qbeba,vagrehavirefvgl,enlpbz,ntbabcgrevk,hmvpr,anaan,fcevatinyr,envzhaqb,jerfgrq,chcny,gnyng,fxvaurnqf,irfgvtr,hacnvagrq,unaqna,bqnjnen,nzzne,nggraqrr,ynccrq,zlbgvf,thfgl,pvpbavvsbezrfsnzvyl,genirefny,fhosvryq,ivgncubar,cerafn,unfvqvfz,vajbbq,pnefgnvef,xebcbgxva,ghetrari,qboen,erzvggnapr,chevz,gnaava,nqvtr,gnohyngvba,yrgunyvgl,cnpun,zvpebarfvna,quehin,qrsrafrzra,gvorgb,fvphyhf,enqvbvfbgbcr,fbqregnywr,cuvgfnahybx,rhcubavhz,bklgbpva,bireunatf,fxvaxf,snoevpn,ervagreerq,rzhyngrf,ovbfpvrapr,cnentyvqvat,enrxjba,crevtrr,cynhfvovyvgl,sebyhaqn,reebyy,nmane,ilnfn,nyovahf,gerinyyl,pbasrqrenpvba,grefr,fvkgvrgu,1530f,xraqevln,fxngrobneqref,sebagvrerf,zhnjvlnu,rnfrzragf,furuh,pbafreingviryl,xrlfgbarf,xnfrz,oehgnyvfg,crrxfxvyy,pbjel,bepnf,flyynonel,cnygm,ryvfnorggn,qragvpyrf,unzcrevat,qbyav,rvqbf,nnenh,yrezbagbi,lnaxgba,funuonm,oneentrf,xbatfivatre,errfgnoyvfuzrag,nprglygenafsrenfr,mhyvn,zeanf,fyvatfol,rhpnylcg,rssvpnpvbhf,jrloevqtr,tenqngvba,pvarzngurdhr,znyguhf,onzcgba,pbrkvfgrq,pvffr,unzqv,phcregvab,fnhznerm,puvbabqrf,yvoregvar,sbezref,fnxunebi,cfrhqbalzbhf,iby.1,zpqhpx,tbcnynxevfuana,nzoreyrl,wbeung,tenaqznfgref,ehqvzragf,qjvaqyr,cnenz,ohxvqaba,zranaqre,nzrevpnahf,zhygvcyvref,chynjl,ubzbrebgvp,cvyyobk,pq+qiq,rcvtencu,nyrxfnaqebj,rkgencbyngrq,ubefrfubrf,pbagrzcbenva,natvbtencul,unffryg,funjvavtna,zrzbevmngvba,yrtvgvzvmrq,plpynqrf,bhgfbyq,ebqbycur,xryvf,cbjreonyy,qvwxfgen,nanylmref,vapbzcerffvoyr,fnzone,benatrohet,bfgra,ernhgubevmngvba,nqnznjn,fcuntahz,ulcreznexrg,zvyyvcrqrf,mbebnfgre,znqrn,bffhnel,zheenlsvryq,cebabzvany,tnhgunz,erfryyref,rguref,dhneeryyrq,qbyan,fgenttyref,nfnzv,gnathg,cnffbf,rqhpnpvba,funens,grkry,orevb,orgucntr,ormnyry,znesn,abebaun,36ref,tragrry,nienz,fuvygba,pbzcrafngrf,fjrrgrare,ervafgnyyrq,qvfnoyrf,abrgure,1590f,onynxevfuana,xbgneb,abegunyyregba,pngnpylfz,tubynz,pnapryynen,fpuvcuby,pbzzraqf,ybatvahf,nyovavfz,trznlry,unznzngfh,ibybf,vfynzvfz,fvqrerny,crphavnel,qvttvatf,gbjafdhner,arbfub,yhfuna,puvggbbe,nxuvy,qvfchgngvba,qrfvppngvba,pnzobqvnaf,gujnegvat,qryvorengrq,ryyvcfvf,onuvav,fhfhzh,frcnengbef,xbuaru,cyrorvnaf,xhyghe,btnqra,cvffneeb,gelcrgn,ynghe,yvnbqbat,irggvat,qngbat,fbunvy,nypurzvfgf,yratgujvfr,harirayl,znfgreyl,zvpebpbagebyyref,bpphcvre,qrivngvat,sneevatqba,onppnynherng,gurbpenpl,purolfuri,nepuvivfgf,wnlnenz,varssrpgvirarff,fpnaqvanivnaf,wnpbovaf,rapbzvraqn,anzoh,t/pz3,pngrfol,cnnib,urrqrq,eubqvhz,vqrnyvfrq,10qrt,vasrpgvir,zrplpybgubenk,unyril,furnerq,zvaonev,nhqnk,yhfngvna,erohssf,uvgsvk,snfgrare,fhowhtngr,gneha,ovarg,pbzchfreir,flagurfvfre,xrvfhxr,nznyevp,yvtngherf,gnqnfuv,vtanmvb,noenzbivpu,tebhaqahg,bgbzb,znrir,zbegynxr,bfgebtbguf,nagvyyrna,gbqbe,erpgb,zvyyvzrger,rfcbhfvat,vanhthengr,cnenprgnzby,tnyinavp,unecnyvanr,wrqemrwbj,ernffrffzrag,ynatynaqf,pvivgn,zvxna,fgvxvar,ovwne,vznzngr,vfgnan,xnvfreyvpur,renfghf,srqrenyr,plgbfvar,rkcnafvbavfz,ubzzrf,abeeynaq,fzevgv,fancqentba,thyno,gnyro,ybffl,xunggno,heonavfrq,frfgb,erxbeq,qvsshfre,qrfnz,zbetnangvp,fvygvat,cnpgf,rkgraqre,ornhuneanvf,cheyrl,obhpurf,unyscvcr,qvfpbagvahvgvrf,ubhguv,snezivyyr,navzvfz,ubeav,fnnqv,vagrecergngvir,oybpxnqrf,flzrba,ovbtrbtencuvp,genafpnhpnfvna,wrggvrf,ynaqevrh,nfgebplgrf,pbawhagb,fghzcvatf,jrrivyf,trlfref,erqhk,nepuvat,ebznahf,gnmru,znepryyvahf,pnfrva,bcnin,zvfengn,naner,fnggne,qrpynere,qerhk,bcbegb,iragn,inyyvf,vpbfnurqeba,pbegban,ynpuvar,zbunzzrqna,fnaqarf,mlatn,pyneva,qvbzrqrf,gfhlbfuv,cevoenz,thyonetn,punegvfg,fhcrerggna,obfpnjra,nyghf,fhonat,tngvat,rcvfgbynel,ivmvnantnenz,btqrafohet,cnaan,gulffra,gnexbifxl,qmbtpura,ovbtencu,frerzona,hafpvragvsvp,avtugwne,yrtpb,qrvfz,a.j.n,fhqun,fvfxry,fnffbh,syvagybpx,wbivny,zbagoryvneq,cnyyvqn,sbezhyn_66,genadhvyyvgl,avfrv,nqbeazrag,'crbcyr,lnzuvyy,ubpxrlnyyfirafxna,nqbcgref,nccvna,ybjvpm,uncybglcrf,fhppvapgyl,fgnebtneq,cerfvqrapvrf,xurlenonq,fbovobe,xvarfvbybtl,pbjvpuna,zvyvghz,pebzjryyvna,yrvavatra,cf1.5,pbapbhefrf,qnynean,tbyqsvryq,oemrt,snrprf,ndhnevv,zngpuyrff,uneirfgref,181fg,ahzvfzngvpf,xbesonyy,frpgvbarq,genafcverf,snphygngvir,oenaqvfuvat,xvreba,sbentrf,zranv,tyhgvabhf,qronetr,urngusvryq,1580f,znynat,cubgbryrpgevp,sebbzr,frzvbgvp,nyjne,tenzzbcuba,puvnebfpheb,zragnyvfg,znenzherf,synppb,yvdhbef,nyrhgvnaf,zneiryy,fhgyrw,cnganvx,dnffnz,syvagbss,onlsvryq,unrpxry,fhrab,nivpvv,rkbcynargf,ubfuv,naavonyr,ibwvfyni,ubarlpbzof,pryroenag,eraqfohet,iroyra,dhnvyf,141fg,pneebanqrf,fnine,aneengvbaf,wrrin,bagbybtvrf,urqbavfgvp,znevarggr,tbqbg,zhaan,orffnenovna,bhgevttre,gunzr,teniryf,ubfuvab,snyfvslvat,fgrerbpurzvfgel,anpvbanyvfgn,zrqvnyyl,enqhyn,rwrpgvat,pbafreingbevb,bqvyr,prvon,wnvan,rffbaar,vfbzrgel,nyybcubarf,erpvqvivfz,virpb,tnaqn,tenzznevnaf,wntna,fvtacbfgrq,hapbzcerffrq,snpvyvgngbef,pbafgnapl,qvgxb,cebchyfvir,vzcnyvat,vagreonax,obgbycu,nzynvo,vagretebhc,fbeohf,purxn,qrolr,cenpn,nqbeavat,cerfolgrevrf,qbezvgvba,fgengrtbf,dnenfr,cragrpbfgnyf,orruvirf,unfurzvgr,tbyqhfg,rhebarkg,rterff,necnarg,fbnzrf,whepuraf,fybirafxn,pbcfr,xnmvz,nccenvfnyf,znevfpuny,zvarbyn,funenqn,pnevpnghevfg,fgheyhfba,tnyon,snvmnonq,birejvagrevat,tergr,hlrmqf,qvqfohel,yvoerivyyr,noyrgg,zvpebfgehpgher,nanqbyh,oryrarafrf,rybphgvba,pybnxf,gvzrfybgf,unyqra,enfuvqha,qvfcynprf,flzcngevp,treznahf,ghcyrf,prfxn,rdhnyvmr,qvfnffrzoyl,xenhgebpx,ononatvqn,zrzry,qrvyq,tbcnyn,urzngbybtl,haqrepynff,fnatyv,jnjevaxn,nffhe,gbfunpx,ersenvaf,avpbgvavp,ountnyche,onqnzv,enprgenpxf,cbpngryyb,jnyterraf,anmneonlri,bpphygngvba,fcvaanxre,trarba,wbfvnf,ulqebylmrq,qmbat,pbeertvzvragb,jnvfgpbng,gurezbcynfgvp,fbyqrerq,nagvpnapre,ynpgbonpvyyhf,funsv'v,pnenohf,nqwbheazrag,fpuyhzoretre,gevprengbcf,qrfcbgngr,zraqvpnag,xevfuanzhegv,onunfn,rnegujbez,ynibvfvre,abrgurevna,xnyxv,sreiragyl,ounjna,fnnavpu,pbdhvyyr,tnaarg,zbgnthn,xraaryf,zvarenyvmngvba,svgmureoreg,firva,ovshepngrq,unveqerffvat,sryvf,nobhaqrq,qvzref,sreibhe,uroqb,oyhssgba,nrgan,pbelqba,pyrirqba,pnearveb,fhowrpgviryl,qrhgm,tnfgebcbqn,birefubg,pbapngrangvba,inezna,pnebyyn,znunefuv,zhwvo,varynfgvp,evireurnq,vavgvnyvmrq,fnsnivqf,ebuvav,pnthnf,ohytrf,sbgobyysbeohaq,ursrv,fcvgurnq,jrfgivyyr,znebavgrf,ylgunz,nzrevpb,trqvzvanf,fgrcunahf,punypbyvguvp,uvwen,tah/yvahk,cerqvyrpgvba,ehyrefuvc,fgrevyvgl,unvqne,fpneynggv,fncevffn,fivngbfyni,cbvagrqyl,fhaebbs,thnenagbe,gurine,nvefgevcf,chyghfx,fgher,129gu,qvivavgvrf,qnvmbat,qbyvpubqrehf,pbobhet,znbvfgf,fjbeqfznafuvc,hcengrq,obuzr,gnfuv,ynetf,punaqv,oyhrorneq,ubhfrubyqref,evpuneqfbavna,qercnavqnr,nagvtbavfu,ryonfna,bpphygvfz,znepn,ulcretrbzrgevp,bveng,fgvtyvgm,vtavgrf,qmhatne,zvdhryba,cevgnz,q'nhgbzar,hyvqvvq,avnzrl,inyyrpnab,sbaqb,ovyyvgba,vaphzorapvrf,enprzr,punzorel,pnqryy,oneranxrq,xntnzr,fhzzrefvqr,unhffznaa,ungfurcfhg,ncbgurpnevrf,pevbyyb,srvag,anfnyf,gvzhevq,srygunz,cybgvahf,bkltrangvba,znetvangn,bssvpvanyvf,fnyng,cnegvpvcngvbaf,vfvat,qbjar,vmhzb,hathvqrq,cergrapr,pbhefrq,unehan,ivfpbhagpl,znvafgntr,whfgvpvn,cbjvng,gnxnen,pncvgbyvar,vzcynpnoyr,sneora,fgbcsbeq,pbfzbcgrevk,ghorebhf,xebarpxre,tnyngvnaf,xjryv,qbtznf,rkubegrq,gerovawr,fxnaqn,arjyla,noyngvir,onfvqvn,ouvjnav,rapebnpuzragf,fgenatyref,ertebhcvat,ghony,fubrfgevat,jnjry,navbavp,zrfrapulzny,perngvbavfgf,clebcubfcungr,zbfuv,qrfcbgvfz,cbjreobbx,sngruche,ehcvnu,frter,greangr,wrffber,o.v.t,furineqanqmr,nobhaqf,tyvjvpr,qrafrfg,zrzbevn,fhobeovgny,ivrgpbat,engrcnlref,xnehanavquv,gbbyone,qrfpragf,eulzarl,rkubegngvba,mnurqna,pnepvabznf,ulcreonevp,obgivaavx,ovyyrgf,arhebcflpubybtvpny,gvtenarf,ubneqf,pungre,ovraavnyyl,guvfgyrf,fpbghf,jngneh,sybgvyynf,uhatnzn,zbabcbyvfgvp,cnlbhgf,irgpu,trarenyvffvzb,pnevrf,anhzohet,cvena,oyvmmneqf,rfpnyngrf,ernpgnag,fuvaln,gurbevmr,evmmbyv,genafvgjnl,rppyrfvnr,fgercgbzlprf,pnagny,avfvovf,fhcrepbaqhpgbe,hajbexnoyr,gunyyhf,ebrunzcgba,fpurpxgre,ivpreblf,znxhhpuv,vyxyrl,fhcrefrqvat,gnxhln,xybqmxb,obeoba,enfcoreevrf,bcrenaq,j.n.x.b,fnenonaqr,snpgvbanyvfz,rtnyvgnevnavfz,grznfrx,gbeong,hafpevcgrq,wbezn,jrfgreare,cresrpgvir,ievwr,haqreynva,tbyqsencc,oynranh,wbzba,onegurf,qevirgvzr,onffn,onaabpx,hzntn,sratkvnat,mhyhf,ferravinfna,sneprf,pbqvpr_10,serrubyqre,cbqqrovpr,vzcrevnyvfgf,qrerthyngrq,jvatgvc,b'untna,cvyynerq,biregbar,ubsfgnqgre,149gu,xvgnab,fnloebbx,fgnaqneqvmvat,nyqtngr,fgniryrl,b'synuregl,uhaqerqguf,fgrrenoyr,fbygna,rzcgrq,pehlss,vagenzhebf,gnyhxf,pbgbabh,znenr,xnehe,svthrerf,onejba,yhphyyhf,avbor,mrzyln,yngurf,ubzrcbegrq,punhk,nzlbgebcuvp,bcvarf,rkrzcynef,ounzb,ubzbzbecuvfzf,tnhyrvgre,ynqva,znsvbfv,nveqevrbavnaf,o/fbhy,qrpny,genafpnhpnfvn,fbygv,qrsrpngvba,qrnpbarff,ahzvqvn,fnzcenqnln,abeznyvfrq,jvatyrff,fpujnora,nyahf,pvarenzn,lnxhgfx,xrgpuvxna,beivrgb,harnearq,zbasreengb,ebgrz,nnpfo,ybbat,qrpbqref,fxreevrf,pneqvbgubenpvp,ercbfvgvbavat,cvzcreary,lbunaana,graroevbabvqrn,anetvf,abhiry,pbfgyvrfg,vagreqrabzvangvbany,abvmr,erqverpgvat,mvgure,zbepun,enqvbzrgevp,serdhragvat,veglfu,tontob,punxev,yvgivaraxb,vasbgnvazrag,enirafoehpx,unevgu,pbeoryf,znrtnfuven,wbhfgvat,angna,abihf,snypnb,zvavf,envyrq,qrpvyr,enhzn,enznfjnzl,pnivgngvba,cnenandhr,orepugrftnqra,ernavzngrq,fpubzoret,cbylfnppunevqrf,rkpyhfvbanel,pyrba,nahent,enintvat,qunahfu,zvgpuryyf,tenahyr,pbagrzcghbhf,xrvfrv,ebyyrfgba,ngynagrna,lbexvfg,qnenn,jnccvat,zvpebzrgre,xrrarynaq,pbzcnenoyl,onenawn,benawr,fpuynsyv,lbtvp,qvanwche,havzcerffvir,znfnfuv,erperngvib,nyrznaavp,crgrefsvryq,anbxb,infhqrin,nhgbfcbeg,enwng,zneryyn,ohfxb,jrgurefsvryq,ffevf,fbhypnyvohe,xbonav,jvyqynaq,ebbxrel,ubssraurvz,xnhev,nyvcungvp,onynpynin,sreevgr,choyvpvfr,ivpgbevnf,gurvfz,dhvzcre,puncobbx,shapgvbanyvfg,ebnqorq,hylnabifx,phcra,chechern,pnygubecr,grbsvyb,zbhfniv,pbpuyrn,yvabglcr,qrgzbyq,ryyrefyvr,tnxxnv,gryxbz,fbhgufrn,fhopbagenpgbe,vathvany,cuvyngryvfgf,mrroehttr,cvnir,gebpuvqnr,qrzcb,fcbvyg,fnunenache,zvueno,cnenflzcngurgvp,oneonebhf,punegrevat,nagvdhn,xngfvan,ohtvf,pngrtbevmrf,nygfgnqg,xnaqlna,cnzonafn,birecnffrf,zvgref,nffvzvyngvat,svaynaqvn,harpbabzvp,nz/sz,unecfvpubeqvfg,qerfqare,yhzvarfprapr,nhguragvpnyyl,birecbjref,zntzngvp,pyvsgbaivyyr,bvysvryqf,fxvegrq,oregur,phzna,bnxunz,seryvzb,tybpxrafcvry,pbasrpgvba,fnkbcubavfgf,cvnfrpmab,zhygvyriry,nagvcngre,yrilvat,znygerngzrag,iryub,bcbpmab,uneohet,crqbcuvyvn,hashaqrq,cnyrggrf,cynfgrejbex,oerir,qunezraqen,nhpuvayrpx,abarfhpu,oynpxzha,yvoerggv,enoonav,145gu,unffryorpx,xvaabpx,znyngr,inaqra,pybireqnyr,nfutnong,anerf,enqvnaf,fgrryjbexref,fnobe,cbffhzf,pnggrevpx,urzvfcurevp,bfgen,bhgcnprq,qhatrarff,nyzfubhfr,craela,grkvnaf,1000z,senapuvggv,vaphzorapl,grkpbpb,arjne,genzpnef,gbebvqny,zrvgrgfh,fcryyobhaq,ntebabzvfg,ivavsren,evngn,ohaxb,cvanf,on'ny,tvguho,infvylrivpu,bofbyrfprag,trbqrfvpf,naprfgevrf,ghwhr,pncvgnyvfrq,hanffvtarq,guebat,hacnverq,cflpubzrgevp,fxrtarff,rkbgurezvp,ohssrerq,xevfgvnafhaq,gbathrq,oreratre,onfub,nyvgnyvn,cebybatngvba,nepunrbybtvpnyyl,senpgvbangvba,plcevavq,rpuvabqrezf,ntevphyghenyyl,whfgvpvne,fbanz,vyvhz,onvgf,qnaprnoyr,tenmre,neqnuna,tenffrq,cerrzcgvba,tynffjbexf,unfvan,htevp,hzoen,jnuunov,inaarf,gvaavghf,pncvgnvar,gvxevg,yvfvrhk,fperr,ubezhm,qrfcrafre,wntvryyba,znvfbaarhir,tnaqnxv,fnagnerz,onfvyvpnf,ynapvat,ynaqfxeban,jrvyohet,sverfvqr,rylfvna,vfyrjbegu,xevfuanzhegul,svygba,plaba,grpzb,fhopbfgny,fpnynef,gevtylprevqrf,ulcrecynar,snezvatqnyr,havbar,zrlqna,cvyvatf,zrepbfhe,ernpgvingr,nxvon,srphaqvgl,wngen,angfhzr,mnednjv,cergn,znfnb,cerfolgre,bnxrasbyq,eubqev,sreena,ehvmbat,pyblar,aryinan,rcvcunavhf,obeqr,fphgrf,fgevpgherf,gebhtugba,juvgrfgbar,fubybz,gblnu,fuvatba,xhghmbi,noryneq,cnffnag,yvcab,pnsrgrevnf,erfvqhnyf,nanoncgvfgf,cnengenafvg,pevbyybf,cyrira,enqvngn,qrfgnovyvmvat,unqvguf,onmnnef,znaabfr,gnvlb,pebbxrf,jryorpx,onbqvat,nepurynhf,athrffb,nyoreav,jvatgvcf,uregf,ivnfng,ynaxnaf,rierhk,jvtenz,snffovaqre,elhvpuv,fgbegvat,erqhpvoyr,byrfavpn,mabwzb,ulnaavf,gurbcunarf,syngveba,zhfgrevat,enwnuzhaqel,xnqve,jnlnat,cebzr,yrgunetl,mhova,vyyrtnyvgl,pbanyy,qenzrql,orreobuz,uvccnepuhf,mvneng,elhwv,fuhtb,tyrabepul,zvpebnepuvgrpgher,zbear,yrjvafxl,pnhirel,onggraoret,ulxfbf,jnlnanq,unzvypne,ohunev,oenmb,oengvnah,fbyzf,nxfnenl,rynzvgr,puvypbgva,oybbqfgbpx,fntnen,qbyal,erhavsvrq,hzynhg,cebgrnprnr,pnzobear,pnynoevna,qunaonq,inkwb,pbbxjner,cbgrm,erqvsshfvba,frzvgbarf,ynzragngvbaf,nyytnh,threavpn,fhagbel,cyrngrq,fgngvbavat,hetryy,tnaargf,oregryfznaa,rageljnl,encuvgbzvqnr,nprgnyqrulqr,arcuebybtl,pngrtbevmvat,orvlnat,crezrngr,gbhearl,trbfpvraprf,xunan,znfnlhxv,pehpvf,havirefvgnevn,fynfxvr,xunvznu,svaab,nqinav,nfgbavfuvatyl,ghohyva,inzcvevp,wrbyyn,fbpvnyr,pyrrgubecrf,onqev,zhevqnr,fhmbat,qrongre,qrpvzngvba,xralnaf,zhghnyvfz,cbagvsrk,zvqqyrzra,vafrr,unyriv,ynzragngvba,cflpubcngul,oenffrl,jraqref,xniln,cnenoryyhz,cebynpgva,varfpncnoyr,ncfrf,znyvtanapvrf,evamnv,fgvtzngvmrq,zranurz,pbzbk,ngryvref,jryfucbby,frgvs,pragvzrger,gehgushyarff,qbjasvryq,qehfhf,jbqra,tylpbflyngvba,rznangrq,nthyunf,qnyxrvgu,wnmven,ahpxl,havsvy,wbovz,bcreba,belmbzlf,urebvpnyyl,frnaprf,fhcreahzrenel,onpxubhfr,unfunanu,gngyre,vzntb,vaireg,unlngb,pybpxznxre,xvatfzvyy,fjvrpvr,nanybtbhfyl,tbypbaqn,cbfgr,gnpvgyl,qrpragenyvfrq,tr'rm,qvcybzngvpnyyl,sbffvyvsrebhf,yvafrrq,znuniven,crqrfgnyf,nepucevrfg,olryrpgvba,qbzvpvyrq,wrssrefbavna,obzohf,jvartebjvat,jnhxrtna,haphygvingrq,uniresbeqjrfg,fnhzhe,pbzzhanyyl,qvfohefrq,pyrrir,mrywrmavpne,fcrpvbfn,inpngvbaref,fvthe,invfunyv,myngxb,vsgvxune,pebcynaq,genafxrv,vapbzcyrgrarff,obuen,fhonagnepgvp,fyvrir,culfvbybtvp,fvzvyvf,xyrex,ercynagrq,'evtug,punsrr,ercebqhpvoyr,onloheg,ertvpvqr,zhmnssneche,cyhenyf,unalh,begubybtf,qvbhs,nffnvyrq,xnzhv,gnevx,qbqrpnarfr,tbear,ba/bss,179gu,fuvzbtn,tenanevrf,pneyvfgf,inyne,gevcbyvgnavn,fureqf,fvzzrea,qvffbpvngrq,vfnzoneq,cbylgrpuavpny,lhienw,oenonmba,nagvfrafr,chozrq,tynaf,zvahgryl,znfnnxv,entuniraqen,fnibhel,cbqpnfgvat,gnpuv,ovraivyyr,tbatfha,evqtryl,qrsbez,lhvpuv,ovaqref,pnaan,pneprggv,yyboertng,vzcyberq,oreev,awrtbf,vagrezvatyrq,bssybnq,ngurael,zbgureubhfr,pbecben,xnxvanqn,qnaaroebt,vzcrevb,cersnprf,zhfvpbybtvfgf,nrebfcngvnyr,fuvenv,antncnggvanz,freivhf,pevfgbsbeb,cbzserg,erivyrq,ragroor,fgnar,rnfg/jrfg,gurezbzrgref,zngevnepuny,fvtyb,obqvy,yrtvbaanver,mr'ri,gurbevmvat,fnatrrgun,ubegvphyghevfg,hapbhagnoyr,ybbxnyvxr,nabkvp,vbabfcurevp,trarnybtvfgf,puvpbcrr,vzcevagvat,cbcvfu,perzngbevn,qvnzbaqonpx,plngurn,unamubat,pnzrenzra,unybtnynaq,anxyb,jnpynj,fgberubhfrf,syrkrq,pbzhav,sevgf,tynhpn,avytvevf,pbzcerffrf,anvavgny,pbagvahngvbaf,nyonl,ulcbkvp,fnznwjnqv,qhaxredhr,anagvpbxr,fnejne,vagrepunatrq,whony,pbeon,wnytnba,qreyrgu,qrngufgebxr,zntal,ivaalgfvn,ulcurangrq,evzsver,fnjna,obruare,qvferchgr,abeznyvmr,nebznavna,qhnyvfgvp,nccebkvznag,punzn,xnevznonq,oneanpyrf,fnabx,fgvcraqf,qlsrq,evwxfzhfrhz,erireorengvba,fhapbec,shatvpvqrf,erirevr,fcrpgebtencu,fgrerbcubavp,avnmv,beqbf,nypna,xnenvgr,ynhgerp,gnoyrynaq,ynzryyne,evrgv,ynatzhve,ehffhyn,jrorea,gjrnxf,unjvpx,fbhgureare,zbecul,anghenyvfngvba,ranagvbzre,zvpuvabxh,oneorggrf,eryvrirf,pneoherggbef,erqehgu,boyngrf,ibpnohynevrf,zbtvyri,ontzngv,tnyvhz,ernffregrq,rkgbyyrq,flzba,rhebfprcgvp,vasyrpgvbaf,gvegun,erpbzcrafr,beheb,ebcvat,tbhirearhe,cnerq,lnlbv,jngrezvyyf,ergbbyrq,yrhxbplgrf,whovynag,znmune,avpbynh,znaurvz,gbhenvar,orqfre,unzoyrqba,xbung,cbjreubhfrf,gyrzpra,erhira,flzcngurgvpnyyl,nsevxnaref,vagrerf,unaqpensgf,rgpure,onqqryrl,jbqbatn,nznhel,155gu,ihytnevgl,cbzcnqbhe,nhgbzbecuvfzf,1540f,bccbfvgvbaf,cerxzhewr,qrelav,sbegvslvat,nephngr,znuvyn,obpntr,hgure,abmmr,fynfurf,ngynagvpn,unqvq,euvmbzngbhf,nmrevf,'jvgu,bfzran,yrjvfivyyr,vaareingrq,onaqznfgre,bhgpebccvat,cnenyyrybtenz,qbzvavpnan,gjnat,vathfurgvn,rkgrafvbany,ynqvab,fnfgel,mvabivri,eryngnoyr,abovyvf,porrovrf,uvgyrff,rhyvzn,fcbenatvn,flatr,ybatyvfgrq,pevzvanyvmrq,cravgragvny,jrlqra,ghohyr,ibyla,cevrfgrffrf,tyraoebbx,xvoohgmvz,jvaqfunsg,pnanqnve,snynatr,mfbyg,obaurhe,zrvar,nepunatryf,fnsrthneqrq,wnznvpnaf,znynevny,grnfref,onqtvat,zrefrlenvy,bcrenaqf,chyfnef,tnhpubf,ovbgva,onzonen,arpnkn,rtzbaq,gvyyntr,pbccv,nakvbylgvp,cernu,znhfbyrhzf,cynhghf,srebm,qrohaxrq,187gu,oryrqvlrfcbe,zhwvohe,jnagntr,pneobkly,purggvne,zheanh,inthrarff,enprzvp,onpxfgergpu,pbhegynaq,zhavpvcvb,cnycngvar,qrmshy,ulcreobyn,ferrxhzne,punybaf,nygnl,nencnubr,ghqbef,fncvrun,dhvyba,oheqrafbzr,xnaln,kkivvv,erprafvba,trarevf,fvcuhapyr,ercerffbe,ovgengr,znaqnyf,zvquhefg,qvbkva,qrzbpengvdhr,hcubyqf,ebqrm,pvarzngbtencuvp,rcbdhr,wvacvat,enorynvf,mulgbzle,tyraivrj,erobbgrq,xunyvqv,ergvphyngn,122aq,zbaanvr,cnffrefol,tunmnyf,rhebcnrn,yvccznaa,rneguobhaq,gnqvp,naqbeena,negiva,natryvphz,onaxfl,rcvprager,erfrzoynaprf,fuhggyrq,engunhf,oreag,fgbarznfbaf,onybpuv,fvnat,glarzbhgu,pltav,ovbflagurgvp,cerpvcvgngrf,funerpebccref,q'naahamvb,fbsgonax,fuvwv,ncryqbbea,cbylplpyvp,jraprfynf,jhpunat,fnzavgrf,gnznenpx,fvyznevyyvba,znqvanu,cnynrbagbybtl,xvepuoret,fphycva,ebugnx,ndhnongf,bivcnebhf,gulaar,pnarl,oyvzcf,zvavznyvfgvp,jungpbz,cnyngnyvmngvba,oneqfgbja,qverpg3q,cnenzntargvp,xnzobwn,xunfu,tyborznfgre,yrathn,zngrw,pureavtbi,fjnantr,nefranyf,pnfpnqvn,phaqvanznepn,ghfphyhz,yrniref,betnavpf,jnecynarf,'guerr,rkregvbaf,nezvavhf,tnaqunein,vadhverf,pbzrepvb,xhbcvb,punonune,cybgyvarf,zrefraar,nadhrgvy,cnenylgvp,ohpxzvafgre,nzovg,npebybcuhf,dhnagvsvref,pynpgba,pvyvnel,nafnyqb,sretnan,rtbvfz,guenpvnaf,puvpbhgvzv,abeguoebbx,nanytrfvn,oebgureubbqf,uhamn,nqevnra,syhbevqngvba,fabjsnyyf,fbhaqobneq,snatbevn,pnaavonyvfgvp,begubtbavhf,puhxbgxn,qvaqvthy,znambav,punvam,znpebzrqvn,orygyvar,zhehtn,fpuvfghen,cebinoyr,yvgrk,vavgvb,carhzbavnr,vasbflf,prevhz,obbagba,pnaabaonyyf,q'har,fbyirapl,znaqhenu,ubhguvf,qbyzraf,ncbybtvfgf,enqvbvfbgbcrf,oynkcybvgngvba,cbebfuraxb,fgnjryy,pbbfn,znkvzvyvra,grzcryubs,rfcbhfr,qrpynengbel,unzoeb,knyncn,bhgzbqrq,zvuvry,orarsvggvat,qrfvebhf,nepurcnepul,ercbchyngrq,gryrfpbcvat,pncgbe,znpxnlr,qvfcnentrq,enznanguna,pebjar,ghzoyrq,grpuargvhz,fvygrq,purqv,avrier,ulrba,pnegbbavfu,vagreybpx,vasbpbz,erqvss.pbz,qvbenznf,gvzrxrrcvat,pbapregvan,xhgnvfv,prfxl,yhobzvefxv,hancbybtrgvp,rcvtencuvp,fgnynpgvgrf,farun,ovbsvyz,snypbael,zvensyberf,pngran,'bhgfgnaqvat,cebfcrxg,ncbgurbfvf,b'bqunz,cnprznxref,nenovpn,tnaquvantne,erzvavfprf,vebdhbvna,bearggr,gvyyvat,arbyvorenyvfz,punzryrbaf,cnaqnin,cersbagnvar,unvlna,tarvfranh,hgnzn,onaqb,erpbafgvghgvba,nmnevn,pnabyn,cnengebbcf,nlpxobhea,znavfgrr,fgbhegba,znavsrfgbf,ylzcar,qrabhrzrag,genpgnghf,enxvz,oryysybjre,anabzrgre,fnffnavqf,gheybhtu,cerfolgrevnavfz,inezynaq,20qrt,cubby,alrerer,nyzbunq,znavcny,iynnaqrera,dhvpxarff,erzbinyf,znxbj,pvephzsyrk,rngrel,zbenar,sbaqnmvbar,nyxlyngvba,harasbeprnoyr,tnyyvnab,fvyxjbez,whavbe/fravbe,noqhpgf,cuybk,xbafxvr,ybsbgra,ohhera,tylcubfngr,snverq,anghenr,pbooyrf,gnure,fxehyyf,qbfgbrifxl,jnyxbhg,jntarevna,beovgrq,zrgubqvpnyyl,qramvy,fneng,rkgengreevgbevny,xbuvzn,q'nezbe,oevafyrl,ebfgebcbivpu,sratgvna,pbzvgnghf,nenivaq,zbpur,jenatryy,tvfpneq,inagnn,ivywnaqv,unxbnu,frnorrf,zhfpngvar,onyynqr,pnznanpuq,fbgurea,zhyyvbarq,qhenq,znetenirf,znira,nergr,punaqav,tnevshan,142aq,ernqvat/yvgrengher,guvpxrfg,vagrafvsvrf,geltir,xunyqha,crevangny,nfnan,cbjreyvar,nprglyngvba,aherlri,bzvln,zbagrfdhvrh,evirejnyx,zneyl,pbeeryngvat,vagrezbhagnva,ohytne,unzzreurnqf,haqrefpberf,jvergnccvat,dhngenva,ehvffrnh,arjfntrag,ghgvpbeva,cbyltlal,urzfjbegu,cnegvfnafuvc,onaan,vfgevna,rincbengbe".split(","), female_names:"znel,cngevpvn,yvaqn,oneonen,ryvmnorgu,wraavsre,znevn,fhfna,znetnerg,qbebgul,yvfn,anapl,xnera,orggl,uryra,fnaqen,qbaan,pneby,ehgu,funeba,zvpuryyr,ynhen,fnenu,xvzoreyl,qrobenu,wrffvpn,fuveyrl,plaguvn,natryn,zryvffn,oeraqn,nzl,naan,erorppn,ivetvavn,xnguyrra,cnzryn,znegun,qroen,nznaqn,fgrcunavr,pnebyla,puevfgvar,znevr,wnarg,pngurevar,senaprf,naa,wblpr,qvnar,nyvpr,whyvr,urngure,grerfn,qbevf,tybevn,riryla,wrna,purely,zvyqerq,xngurevar,wbna,nfuyrl,whqvgu,ebfr,wnavpr,xryyl,avpbyr,whql,puevfgvan,xngul,gurerfn,orireyl,qravfr,gnzzl,verar,wnar,ybev,enpury,znevyla,naqern,xnguela,ybhvfr,fnen,naar,wnpdhryvar,jnaqn,obaavr,whyvn,ehol,ybvf,gvan,culyyvf,abezn,cnhyn,qvnan,naavr,yvyyvna,rzvyl,ebova,crttl,pelfgny,tynqlf,evgn,qnja,pbaavr,syberapr,genpl,rqan,gvssnal,pnezra,ebfn,pvaql,tenpr,jraql,ivpgbevn,rqvgu,xvz,fureel,flyivn,wbfrcuvar,guryzn,funaaba,furvyn,rgury,ryyra,rynvar,znewbevr,pneevr,puneybggr,zbavpn,rfgure,cnhyvar,rzzn,whnavgn,navgn,eubaqn,unmry,nzore,rin,qroovr,ncevy,yrfyvr,pynen,yhpvyyr,wnzvr,wbnaar,ryrnabe,inyrevr,qnavryyr,zrtna,nyvpvn,fhmnaar,zvpuryr,tnvy,oregun,qneyrar,irebavpn,wvyy,reva,trenyqvar,ynhera,pngul,wbnaa,ybeenvar,ylaa,fnyyl,ertvan,revpn,orngevpr,qbyberf,oreavpr,nhqerl,libaar,naarggr,znevba,qnan,fgnpl,nan,erarr,vqn,ivivna,eboregn,ubyyl,oevggnal,zrynavr,yberggn,lbynaqn,wrnarggr,ynhevr,xngvr,xevfgra,inarffn,nyzn,fhr,ryfvr,orgu,wrnaar,ivpxv,pneyn,gnen,ebfrznel,rvyrra,greev,tregehqr,yhpl,gbaln,ryyn,fgnprl,jvyzn,tvan,xevfgva,wrffvr,angnyvr,ntarf,iren,puneyrar,orffvr,qryberf,zryvaqn,crney,neyrar,znherra,pbyyrra,nyyvfba,gnznen,wbl,trbetvn,pbafgnapr,yvyyvr,pynhqvn,wnpxvr,znepvn,gnaln,aryyvr,zvaavr,zneyrar,urvqv,tyraqn,ylqvn,ivbyn,pbhegarl,znevna,fgryyn,pnebyvar,qben,ivpxvr,znggvr,znkvar,vezn,znory,znefun,zlegyr,yran,puevfgl,qrnaan,cngfl,uvyqn,tjraqbyla,wraavr,aben,znetvr,avan,pnffnaqen,yrnu,craal,xnl,cevfpvyyn,anbzv,pnebyr,bytn,ovyyvr,qvnaar,genprl,yrban,wraal,sryvpvn,fbavn,zvevnz,iryzn,orpxl,oboovr,ivbyrg,xevfgvan,gbav,zvfgl,znr,furyyl,qnvfl,enzban,fureev,revxn,xngevan,pynver,yvaqfrl,yvaqfnl,trarin,thnqnyhcr,oryvaqn,znetnevgn,furely,pben,snlr,nqn,fnoevan,vfnory,znethrevgr,unggvr,uneevrg,zbyyl,prpvyvn,xevfgv,oenaqv,oynapur,fnaql,ebfvr,wbnaan,vevf,rhavpr,natvr,varm,ylaqn,znqryvar,nzryvn,nyoregn,trarivrir,zbavdhr,wbqv,wnavr,xnlyn,fbaln,wna,xevfgvar,pnaqnpr,snaavr,znelnaa,bcny,nyvfba,lirggr,zrybql,yhm,fhfvr,byvivn,syben,furyyrl,xevfgl,znzvr,yhyn,ybyn,irean,orhynu,nagbvarggr,pnaqvpr,whnan,wrnaarggr,cnz,xryyv,juvgarl,oevqtrg,xneyn,pryvn,yngbln,cnggl,furyvn,tnlyr,qryyn,ivpxl,ylaar,furev,znevnaar,xnen,wnpdhryla,rezn,oynapn,zlen,yrgvpvn,cng,xevfgn,ebknaar,natryvpn,ebola,nqevraar,ebfnyvr,nyrknaqen,oebbxr,orgunal,fnqvr,oreanqrggr,genpv,wbql,xraqen,avpubyr,enpunry,znoyr,rearfgvar,zhevry,znepryyn,ryran,xelfgny,natryvan,anqvar,xnev,rfgryyr,qvnaan,cnhyrggr,yben,zban,qberra,ebfrznevr,qrfverr,nagbavn,wnavf,orgfl,puevfgvr,serqn,zrerqvgu,ylarggr,grev,pevfgvan,rhyn,yrvtu,zrtuna,fbcuvn,rybvfr,ebpuryyr,tergpura,prpryvn,endhry,uraevrggn,nylffn,wnan,tjra,wraan,gevpvn,ynirear,byvir,gnfun,fvyivn,ryiven,qryvn,xngr,cnggv,yberan,xryyvr,fbawn,yvyn,ynan,qneyn,zvaql,rffvr,znaql,yberar,ryfn,wbfrsvan,wrnaavr,zvenaqn,qvkvr,yhpvn,znegn,snvgu,yryn,wbunaan,funev,pnzvyyr,gnzv,funjan,ryvfn,robal,zryon,ben,arggvr,gnovgun,byyvr,jvavserq,xevfgvr,nyvfun,nvzrr,eran,zlean,zneyn,gnzzvr,yngnfun,obavgn,cngevpr,ebaqn,fureevr,nqqvr,senapvar,qrybevf,fgnpvr,nqevnan,purev,novtnvy,pryrfgr,wrjry,pnen,nqryr,erorxnu,yhpvaqn,qbegul,rssvr,gevan,eron,fnyyvr,nheben,yraben,rggn,ybggvr,xreev,gevfun,avxxv,rfgryyn,senapvfpn,wbfvr,genpvr,znevffn,xneva,oevggarl,wnaryyr,ybheqrf,ynhery,uryrar,srea,ryin,pbevaar,xryfrl,van,orggvr,ryvfnorgu,nvqn,pnvgyva,vatevq,vin,rhtravn,puevfgn,tbyqvr,znhqr,wravsre,gurerfr,qran,ybean,wnarggr,yngbaln,pnaql,pbafhryb,gnzvxn,ebfrggn,qroben,purevr,cbyyl,qvan,wrjryy,snl,wvyyvna,qbebgurn,aryy,gehql,rfcrenamn,cngevpn,xvzoreyrl,funaan,uryran,pyrb,fgrsnavr,ebfnevb,byn,wnavar,zbyyvr,yhcr,nyvfn,ybh,znevory,fhfnaar,orggr,fhfnan,ryvfr,prpvyr,vfnoryyr,yrfyrl,wbpryla,cnvtr,wbav,enpuryyr,yrbyn,qncuar,nygn,rfgre,crgen,tenpvryn,vzbtrar,wbyrar,xrvfun,ynprl,tyraan,tnoevryn,xrev,hefhyn,yvmmvr,xvefgra,funan,nqryvar,znlen,wnlar,wnpyla,tenpvr,fbaqen,pnezryn,znevfn,ebfnyvaq,punevgl,gbavn,orngevm,znevfby,pynevpr,wrnavar,furran,natryvar,sevrqn,yvyl,funhan,zvyyvr,pynhqrggr,pnguyrra,natryvn,tnoevryyr,nhghza,xngunevar,wbqvr,fgnpv,yrn,puevfgv,whfgvar,ryzn,yhryyn,zneterg,qbzvavdhr,fbpbeeb,znegvan,znetb,znivf,pnyyvr,oboov,znevgmn,yhpvyr,yrnaar,wrnaavar,qrnan,nvyrra,ybevr,ynqbaan,jvyyn,znahryn,tnyr,fryzn,qbyyl,flovy,nool,vil,qrr,jvaavr,znepl,yhvfn,wrev,zntqnyran,bsryvn,zrntna,nhqen,zngvyqn,yrvyn,pbearyvn,ovnapn,fvzbar,orgglr,enaqv,ivetvr,yngvfun,oneoen,trbetvan,ryvmn,yrnaa,oevqtrggr,eubqn,unyrl,nqryn,abyn,oreanqvar,sybffvr,vyn,tergn,ehguvr,aryqn,zvarein,yvyyl,greevr,yrgun,uvynel,rfgryn,inynevr,oevnaan,ebfnyla,rneyvar,pngnyvan,nin,zvn,pynevffn,yvqvn,pbeevar,nyrknaqevn,pbaprcpvba,gvn,funeeba,enr,qban,revpxn,wnzv,ryaben,punaqen,yraber,arin,znelybh,zryvfn,gnongun,freran,nivf,nyyvr,fbsvn,wrnavr,bqrffn,anaavr,uneevrgg,ybenvar,crarybcr,zvyntebf,rzvyvn,oravgn,nyylfba,nfuyrr,gnavn,rfzrenyqn,rir,crneyvr,mryzn,znyvaqn,aberra,gnzrxn,fnhaqen,uvyynel,nzvr,nygurn,ebfnyvaqn,yvyvn,nynan,pyner,nyrwnaqen,ryvabe,ybeevr,wreev,qnepl,rnearfgvar,pnezryyn,abrzv,znepvr,yvmn,naanoryyr,ybhvfn,rneyrar,znyybel,pneyrar,avgn,fryran,gnavfun,xngl,whyvnaar,ynxvfun,rqjvan,znevpryn,znetrel,xraln,qbyyvr,ebkvr,ebfyla,xnguevar,anarggr,puneznvar,ynibaar,vyrar,gnzzv,fhmrggr,pbevar,xnlr,puelfgny,yvan,qrnaar,yvyvna,whyvnan,nyvar,yhnaa,xnfrl,znelnaar,rinatryvar,pbyrggr,zryin,ynjnaqn,lrfravn,anqvn,znqtr,xnguvr,bcuryvn,inyrevn,aban,zvgmv,znev,trbetrggr,pynhqvar,sena,nyvffn,ebfrnaa,ynxrvfun,fhfnaan,erin,qrvqer,punfvgl,furerr,ryivn,nylpr,qrveqer,tran,oevnan,nenpryv,xngryla,ebfnaar,jraqv,grffn,oregn,znein,vzryqn,znevrggn,znepv,yrbabe,neyvar,fnfun,znqryla,wnaan,whyvrggr,qrran,nheryvn,wbfrsn,nhthfgn,yvyvnan,yrffvr,nznyvn,fninaanu,nanfgnfvn,ivyzn,angnyvn,ebfryyn,ylaarggr,pbevan,nyserqn,yrnaan,nzcneb,pbyrra,gnzen,nvfun,jvyqn,xnela,znhen,znv,rinatryvan,ebfnaan,unyyvr,rean,ravq,znevnan,ynpl,whyvrg,wnpxyla,servqn,znqryrvar,znen,pnguela,yryvn,pnfnaqen,oevqtrgg,natryvgn,wnaavr,qvbaar,naaznevr,xngvan,orely,zvyyvprag,xngurela,qvnaa,pnevffn,znelryyra,yvm,ynhev,urytn,tvyqn,eurn,znedhvgn,ubyyvr,gvfun,gnzren,natryvdhr,senaprfpn,xnvgyva,ybyvgn,sybevar,ebjran,erlan,gjvyn,snaal,wnaryy,varf,pbaprggn,oregvr,nyon,oevtvggr,nylfba,ibaqn,cnafl,ryon,abryyr,yrgvgvn,qrnaa,oenaqvr,ybhryyn,yrgn,sryrpvn,funeyrar,yrfn,orireyrl,vfnoryyn,urezvavn,green,pryvan,gbev,bpgnivn,wnqr,qravpr,treznvar,zvpuryy,pbegarl,aryyl,qbergun,qrvqen,zbavxn,ynfubaqn,whqv,puryfrl,nagvbarggr,znetbg,nqrynvqr,yrrnaa,ryvfun,qrffvr,yvool,xnguv,tnlyn,yngnaln,zvan,zryyvfn,xvzoreyrr,wnfzva,eranr,mryqn,ryqn,whfgvan,thffvr,rzvyvr,pnzvyyn,noovr,ebpvb,xnvgyla,rqlgur,nfuyrvtu,fryvan,ynxrfun,trev,nyyrar,cnznyn,zvpunryn,qnlan,pnela,ebfnyvn,wnpdhyvar,erorpn,znelorgu,xelfgyr,vbyn,qbggvr,oryyr,tevfryqn,rearfgvan,ryvqn,nqevnaar,qrzrgevn,qryzn,wndhryvar,neyrra,ivetvan,ergun,sngvzn,gvyyvr,ryrnaber,pnev,gerin,jvyuryzvan,ebfnyrr,znhevar,yngevpr,wran,gnela,ryvn,qrool,znhqvr,wrnaan,qryvynu,pngevan,fubaqn,ubegrapvn,gurbqben,grerfvgn,eboova,qnarggr,qrycuvar,oevnaar,avyqn,qnaan,pvaqv,orff,vban,jvaban,ivqn,ebfvgn,znevnaan,enpurny,thvyyrezvan,rybvfn,pryrfgvar,pnera,znyvffn,yban,punagry,furyyvr,znevfryn,yrben,ntngun,fbyrqnq,zvtqnyvn,virggr,puevfgra,nguran,wnary,irqn,cnggvr,grffvr,gren,znevylaa,yhpergvn,xneevr,qvanu,qnavryn,nyrpvn,nqryvan,ireavpr,fuvryn,cbegvn,zreel,ynfunja,qnen,gnjnan,ireqn,nyrar,mryyn,fnaqv,ensnryn,znln,xven,pnaqvqn,nyivan,fhmna,funlyn,yrggvr,fnzngun,benyvn,zngvyqr,ynevffn,irfgn,eravgn,qrybvf,funaqn,cuvyyvf,ybeev,reyvaqn,pnguevar,oneo,vfnoryy,vbar,tvfryn,ebknaan,znlzr,xvfun,ryyvr,zryyvffn,qbeevf,qnyvn,oryyn,naarggn,mbvyn,ergn,ervan,ynherggn,xlyvr,puevfgny,cvyne,puneyn,ryvffn,gvssnav,gnan,cnhyvan,yrbgn,oernaan,wnlzr,pnezry,irearyy,gbznfn,znaqv,qbzvatn,fnagn,zrybqvr,yhen,nyrkn,gnzryn,zvean,xreevr,irahf,sryvpvgn,pevfgl,pnezryvgn,oreavrpr,naarznevr,gvnen,ebfrnaar,zvffl,pbev,ebknan,cevpvyyn,xevfgny,what,rylfr,unlqrr,nyrgun,orggvan,znetr,tvyyvna,svybzran,mranvqn,uneevrggr,pnevqnq,inqn,nergun,crneyvar,znewbel,znepryn,sybe,rirggr,rybhvfr,nyvan,qnznevf,pngunevar,oryin,anxvn,zneyran,yhnaar,ybevar,xneba,qberar,qnavgn,oeraan,gngvnan,ybhnaa,whyvnaan,naqevn,cuvybzran,yhpvyn,yrbaben,qbivr,ebzban,zvzv,wnpdhryva,tnlr,gbawn,zvfgv,punfgvgl,fgnpvn,ebknaa,zvpnryn,iryqn,zneylf,wbuaan,nhen,vibaar,unlyrl,avpxv,znwbevr,ureyvaqn,lnqven,creyn,tertbevn,nagbarggr,furyyv,zbmryyr,znevnu,wbryyr,pbeqryvn,wbfrggr,puvdhvgn,gevfgn,yndhvgn,trbetvnan,pnaqv,funaba,uvyqrtneq,fgrcunal,zntqn,xneby,tnoevryyn,gvnan,ebzn,evpuryyr,byrgn,wnpdhr,vqryyn,nynvan,fhmnaan,wbivgn,gbfun,arervqn,zneyla,xlyn,qrysvan,gran,fgrcuravr,fnovan,angunyvr,znepryyr,tregvr,qneyrra,gurn,funebaqn,funagry,oryra,irarffn,ebfnyvan,trabirin,pyrzragvar,ebfnyon,erangr,erangn,trbetvnaan,sybl,qbepnf,nevnan,glen,gurqn,znevnz,whyv,wrfvpn,ivxxv,ireyn,ebfryla,zryivan,wnaarggr,tvaal,qroenu,pbeevr,ivbyrgn,zlegvf,yngevpvn,pbyyrggr,puneyrra,navffn,ivivnan,gjlyn,arqen,yngbavn,uryyra,snovbyn,naanznevr,nqryy,funela,punagny,avxv,znhq,yvmrggr,yvaql,xrfun,wrnan,qnaryyr,puneyvar,punary,inybevr,qbegun,pevfgny,fhaal,yrbar,yrvynav,treev,qrov,naqen,xrfuvn,rhynyvn,rnfgre,qhypr,angvivqnq,yvaavr,xnzv,trbetvr,pngvan,oebbx,nyqn,jvaavserq,funeyn,ehgunaa,zrntuna,zntqnyrar,yvffrggr,nqrynvqn,iravgn,geran,fuveyrar,funzrxn,ryvmrorgu,qvna,funagn,yngbfun,pneybggn,jvaql,ebfvan,znevnaa,yrvfn,wbaavr,qnjan,pnguvr,nfgevq,ynherra,wnarra,ubyyv,snja,ivpxrl,grerffn,funagr,eholr,znepryvan,punaqn,grerfr,fpneyrgg,zneavr,yhyh,yvfrggr,wravssre,ryrabe,qbevaqn,qbavgn,pnezna,oreavgn,nygntenpvn,nyrgn,nqevnaan,mbenvqn,ylaqfrl,wnavan,fgneyn,culyvf,cuhbat,xlen,punevffr,oynapu,fnawhnavgn,eban,anapv,znevyrr,znenaqn,oevtrggr,fnawhnan,znevgn,xnffnaqen,wblpryla,sryvcn,puryfvr,obaal,zverln,yberamn,xlbat,vyrnan,pnaqrynevn,furevr,yhpvr,yrngevpr,ynxrfuvn,treqn,rqvr,onzov,znelyva,yniba,ubegrafr,tnearg,rivr,gerffn,funlan,ynivan,xlhat,wrnarggn,fureevyy,funen,culyvff,zvggvr,nanory,nyrfvn,guhl,gnjnaqn,wbnavr,gvssnavr,ynfunaqn,xnevffn,raevdhrgn,qnevn,qnavryyn,pbevaan,nynaan,noorl,ebknar,ebfrnaan,zntabyvn,yvqn,wbryyra,pbeny,pneyrra,gerfn,crttvr,abiryyn,avyn,znloryyr,wraryyr,pnevan,abin,zryvan,znedhrevgr,znetnerggr,wbfrcuvan,ribaar,pvaguvn,nyovan,gbln,gnjaln,furevgn,zlevnz,yvmnorgu,yvfr,xrryl,wraav,tvfryyr,purelyr,neqvgu,neqvf,nyrfun,nqevnar,funvan,yvaarn,xnebyla,sryvfun,qbev,qnepv,negvr,nezvqn,mbyn,kvbznen,iretvr,funzvxn,aran,anaarggr,znkvr,ybivr,wrnar,wnvzvr,vatr,sneenu,rynvan,pnvgyla,sryvpvgnf,pureyl,pnely,lbybaqn,lnfzva,grran,cehqrapr,craavr,alqvn,znpxramvr,becun,zneiry,yvmorgu,ynherggr,wreevr,urezryvaqn,pnebyrr,gvreen,zvevna,zrgn,zrybal,xbev,wraarggr,wnzvyn,lbfuvxb,fhfnaanu,fnyvan,euvnaaba,wbyrra,pevfgvar,nfugba,nenpryl,gbzrxn,funybaqn,znegv,ynpvr,xnyn,wnqn,vyfr,unvyrl,oevggnav,mban,floyr,fureely,avqvn,zneyb,xnaqvpr,xnaqv,nylpvn,ebaan,aberar,zrepl,vatrobet,tvbinaan,trzzn,puevfgry,nhqel,mben,ivgn,gevfu,fgrcunvar,fuveyrr,funavxn,zrybavr,znmvr,wnmzva,vatn,urggvr,trenyla,sbaqn,rfgeryyn,nqryyn,fnevgn,evan,zvyvffn,znevorgu,tbyqn,riba,rguryla,rarqvan,purevfr,punan,iryin,gnjnaan,fnqr,zvegn,xnevr,wnpvagn,ryan,qnivan,pvreen,nfuyvr,nyoregun,gnarfun,aryyr,zvaqv,ybevaqn,ynehr,syberar,qrzrgen,qrqen,pvnen,punagryyr,nfuyl,fhml,ebfnyin,abryvn,ylqn,yrngun,xelfglan,xevfgna,xneev,qneyvar,qnepvr,pvaqn,pureevr,njvyqn,nyzrqn,ebynaqn,ynarggr,wrevyla,tvfryr,rinyla,plaqv,pyrgn,pneva,mvan,mran,iryvn,gnavxn,punevffn,gnyvn,znetnergr,ynibaqn,xnlyrr,xnguyrar,wbaan,veran,vyban,vqnyvn,pnaqvf,pnaqnapr,oenaqrr,navgen,nyvqn,fvtevq,avpbyrggr,znelwb,yvarggr,urqjvt,puevfgvnan,nyrkvn,gerffvr,zbqrfgn,yhcvgn,yvgn,tynqvf,riryvn,qnivqn,pureev,prpvyl,nfuryl,naanory,nthfgvan,jnavgn,fuveyl,ebfnhen,uhyqn,lrggn,ireban,gubznfvan,fvoly,funaana,zrpuryyr,yrnaqen,ynav,xlyrr,xnaql,wbylaa,srear,robav,pberar,nylfvn,mhyn,anqn,zbven,ylaqfnl,ybeerggn,wnzzvr,ubegrafvn,tnlaryy,nqevn,ivan,ivpragn,gnatryn,fgrcuvar,abevar,aryyn,yvnan,yrfyrr,xvzoreryl,vyvnan,tybel,sryvpn,rzbtrar,rysevrqr,rqra,rnegun,pnezn,bpvr,yraavr,xvnen,wnpnyla,pneybgn,nevryyr,bgvyvn,xvefgva,xnprl,wbuarggn,wbrggn,wrenyqvar,wnhavgn,rynan,qbegurn,pnzv,nznqn,nqryvn,ireavgn,gnzne,fvbouna,erarn,enfuvqn,bhvqn,avyfn,zrely,xevfgla,whyvrgn,qnavpn,oernaar,nhern,natyrn,fureeba,bqrggr,znyvn,yberyrv,yrrfn,xraan,xnguyla,svban,puneyrggr,fhmvr,funagryy,fnoen,enpdhry,zlbat,zven,znegvar,yhpvraar,yninqn,whyvnaa,ryiren,qrycuvn,puevfgvnar,punebyrggr,pneev,nfun,natryyn,cnbyn,avasn,yrqn,fgrsnav,funaryy,cnyzn,znpuryyr,yvffn,xrpvn,xnguelar,xneyrar,whyvffn,wrggvr,wraavssre,pbeevan,pnebynaa,nyran,ebfnevn,zlegvpr,znelyrr,yvnar,xralnggn,whqvr,wnarl,ryzven,ryqben,qraan,pevfgv,pnguv,mnvqn,ibaavr,ivin,ireavr,ebfnyvar,znevryn,yhpvnan,yrfyv,xnena,sryvpr,qrarra,nqvan,jlaban,gnefun,fureba,funavgn,funav,funaqen,enaqn,cvaxvr,aryvqn,znevybh,ylyn,ynherar,ynpv,wnarar,qbebgun,qnavryr,qnav,pnebylaa,pneyla,oreravpr,nlrfun,naaryvrfr,nyrgurn,gurefn,gnzvxb,ehsvan,byvin,zbmryy,znelyla,xevfgvna,xngulea,xnfnaqen,xnaqnpr,wnanr,qbzravpn,qrooen,qnaavryyr,puha,nepryvn,mrabovn,funera,funerr,ynivavn,xnpvr,wnpxryvar,uhbat,sryvfn,rzryvn,ryrnaben,plguvn,pevfgva,pynevory,nanfgnpvn,mhyzn,mnaqen,lbxb,gravfun,fhfnaa,furevyla,funl,funjnaqn,ebznan,znguvyqn,yvafrl,xrvxb,wbnan,vfryn,terggn,trbetrggn,rhtravr,qrfvenr,qryben,pbenmba,nagbavan,navxn,jvyyrar,genprr,gnzngun,avpuryyr,zvpxvr,znrtna,yhnan,ynavgn,xryfvr,rqryzven,oerr,nsgba,grbqben,gnzvr,furan,yvau,xryv,xnpv,qnalryyr,neyrggr,nyoregvar,nqryyr,gvssval,fvzban,avpbynfn,avpuby,anxvfun,znven,yberra,xvmml,snyyba,puevfgrar,oboolr,lvat,ivapramn,gnawn,ehovr,ebav,dhrravr,znetnergg,xvzoreyv,veztneq,vqryy,uvyzn,riryvan,rfgn,rzvyrr,qraavfr,qnavn,pnevr,evfn,evxxv,cnegvpvn,znfnxb,yhiravn,yberr,ybav,yvra,tvtv,syberapvn,qravgn,ovyylr,gbzvxn,funevgn,enan,avxbyr,arbzn,znetnevgr,znqnyla,yhpvan,ynvyn,xnyv,wrarggr,tnoevryr,rirylar,ryraben,pyrzragvan,nyrwnaqevan,mhyrzn,ivbyrggr,inaarffn,guerfn,erggn,cngvrapr,abryyn,avpxvr,wbaryy,punln,pnzryvn,orgury,naln,fhmnaa,zvyn,yvyyn,ynirean,xrrfun,xnggvr,trbetrar,riryvar,rfgryy,ryvmorgu,ivivraar,inyyvr,gehqvr,fgrcunar,zntnyl,znqvr,xralrggn,xneera,wnarggn,urezvar,qehpvyyn,qroov,pryrfgvan,pnaqvr,oevgav,orpxvr,nzvan,mvgn,lbynaqr,ivivra,irearggn,gehqv,crneyr,cngevan,bffvr,avpbyyr,yblpr,yrggl,xngunevan,wbfryla,wbaryyr,wraryy,vrfun,urvqr,sybevaqn,syberagvan,rybqvn,qbevar,oehavyqn,oevtvq,nfuyv,neqryyn,gjnan,gnenu,funiba,frevan,enlan,enzbavgn,znethevgr,yhperpvn,xbhegarl,xngv,wrfravn,pevfgn,nlnan,nyvpn,nyvn,ivaavr,fhryyra,ebzryvn,enpuryy,bylzcvn,zvpuvxb,xngunyrra,wbyvr,wrffv,wnarffn,unan,ryrnfr,pneyrggn,oevgnal,fuban,fnybzr,ebfnzbaq,ertran,envan,atbp,aryvn,ybhiravn,yrfvn,yngevan,yngvpvn,yneubaqn,wvan,wnpxv,rzzl,qrrnaa,pberggn,nearggn,gunyvn,funavpr,argn,zvxxv,zvpxv,ybaan,yrnan,ynfuhaqn,xvyrl,wblr,wnpdhyla,vtanpvn,ulha,uvebxb,uraevrggr,rynlar,qryvaqn,qnuyvn,pberra,pbafhryn,pbapuvgn,onorggr,nlnaan,narggr,nyoregvan,funjarr,funarxn,dhvnan,cnzryvn,zreev,zreyrar,znetvg,xvrfun,xvren,xnlyrar,wbqrr,wravfr,reyrar,rzzvr,qnyvyn,qnvfrl,pnfvr,oryvn,ononen,irefvr,inarfn,furyon,funjaqn,avxvn,anbzn,znean,znetrerg,znqnyvar,ynjnan,xvaqen,whggn,wnmzvar,wnargg,unaaryber,tyraqben,tregehq,tneargg,serrqn,serqrevpn,sybenapr,synivn,pneyvar,orireyrr,nawnarggr,inyqn,gnznyn,fubaan,fnevan,barvqn,zrevyla,zneyrra,yheyvar,yraan,xngureva,wrav,tenpvn,tynql,snenu,rabyn,qbzvadhr,qriban,qrynan,prpvyn,pncevpr,nylfun,nyrguvn,iran,gurerfvn,gnjal,funxven,fnznen,fnpuvxb,enpuryr,cnzryyn,zneav,znevry,znera,znyvfn,yvtvn,yren,yngbevn,ynenr,xvzore,xngurea,xnerl,wraarsre,wnargu,unyvan,serqvn,qryvfn,qroebnu,pvren,natryvxn,naqerr,nygun,ivina,greerfn,gnaan,fhqvr,fvtar,fnyran,ebaav,eroorppn,zlegvr,znyvxn,znvqn,yrbaneqn,xnlyrvtu,rguly,ryyla,qnlyr,pnzzvr,oevggav,ovetvg,niryvan,nfhapvba,nevnaan,nxvxb,iravpr,glrfun,gbavr,gvrfun,gnxvfun,fgrssnavr,fvaql,zrtunaa,znaqn,znpvr,xryylr,xryyrr,wbfyla,vatre,vaqven,tyvaqn,tyraavf,sreanaqn,snhfgvan,rarvqn,ryvpvn,qvtan,qryy,neyrggn,jvyyvn,gnzznen,gnorgun,fureeryy,fnev,eroorpn,cnhyrggn,angbfun,anxvgn,znzzvr,xravfun,xnmhxb,xnffvr,rneyrna,qncuvar,pbeyvff,pybgvyqr,pnebylar,orearggn,nhthfgvan,nhqern,naavf,naanoryy,graavyyr,gnzvpn,fryrar,ebfnan,ertravn,dvnan,znexvgn,znpl,yrrnaar,ynhevar,wrffravn,wnavgn,trbetvar,travr,rzvxb,ryivr,qrnaqen,qntzne,pbevr,pbyyra,purevfu,ebznvar,cbefun,crneyrar,zvpuryvar,zrean,znetbevr,znetnerggn,yber,wravar,urezvan,serqrevpxn,ryxr,qehfvyyn,qbengul,qvbar,pryran,oevtvqn,nyyrten,gnzrxvn,flaguvn,fbbx,fylivn,ebfnaa,erngun,enlr,znedhrggn,znetneg,yvat,ynlyn,xlzoreyl,xvnan,xnlyrra,xngyla,xnezra,wbryyn,rzryqn,ryrav,qrgen,pyrzzvr,purelyy,punagryy,pngurl,neavgn,neyn,natyr,natryvp,nylfr,mbsvn,gubznfvar,graavr,fureyl,fureyrl,funely,erzrqvbf,crgevan,avpxbyr,zlhat,zleyr,zbmryyn,ybhnaar,yvfun,yngvn,xelfgn,whyvraar,wrnarar,wnpdhnyvar,vfnhen,tjraqn,rneyrra,pyrbcngen,pneyvr,nhqvr,nagbavrggn,nyvfr,ireqryy,gbzbxb,gunb,gnyvfun,furzvxn,fninaan,fnagvan,ebfvn,enrnaa,bqvyvn,anan,zvaan,zntna,ylaryyr,xnezn,wbrnaa,vinan,varyy,vynan,thqeha,qernzn,pevffl,punagr,pnezryvan,neivyyn,naanznr,nyiren,nyrvqn,lnaven,inaqn,gvnaan,fgrsnavn,fuven,avpby,anapvr,zbafreengr,zrylaqn,zrynal,ybiryyn,ynher,xnpl,wnpdhrylaa,ulba,tregun,ryvnan,puevfgran,puevfgrra,punevfr,pngrevan,pneyrl,pnaqlpr,neyran,nzzvr,jvyyrggr,inavgn,ghlrg,flerrgn,craarl,alyn,znelnz,zneln,zntra,yhqvr,ybzn,yvivn,ynaryy,xvzoreyvr,whyrr,qbarggn,qvrqen,qravfun,qrnar,qnjar,pynevar,pureely,oebajla,nyyn,inyrel,gbaqn,fhrnaa,fbenln,fubfunan,furyn,funeyrra,funaryyr,arevffn,zrevqvgu,zryyvr,znlr,zncyr,zntnerg,yvyv,yrbavyn,yrbavr,yrrnaan,ynibavn,yniren,xevfgry,xngurl,xngur,wnaa,vyqn,uvyqerq,uvyqrtneqr,travn,shzvxb,riryva,rezryvaqn,ryyl,qhat,qbybevf,qvbaan,qnanr,orearvpr,naavpr,nyvk,ireran,ireqvr,funjaan,funjnan,funhaan,ebmryyn,enaqrr,enanr,zvynteb,ylaryy,yhvfr,ybvqn,yvforgu,xneyrra,whavgn,wban,vfvf,ulnpvagu,urql,tjraa,rguryrar,reyvar,qbaln,qbzbavdhr,qryvpvn,qnaarggr,pvpryl,oenaqn,oylgur,orgunaa,nfuyla,naanyrr,nyyvar,lhxb,iryyn,genat,gbjnaqn,grfun,fureyla,anepvfn,zvthryvan,zrev,znloryy,zneynan,znethrevgn,znqyla,ybel,ybevnaa,yrbaber,yrvtunaa,ynhevpr,yngrfun,ynebaqn,xngevpr,xnfvr,xnyrl,wnqjvtn,tyraavr,trneyqvar,senapvan,rcvsnavn,qlna,qbevr,qvrqer,qrarfr,qrzrgevpr,qryran,pevfgvr,pyrben,pngnevan,pnevfn,oneoren,nyzrgn,gehyn,grernfn,fbynatr,furvynu,funibaar,fnaben,ebpuryy,znguvyqr,znetnergn,znvn,ylafrl,ynjnaan,ynhan,xran,xrran,xngvn,tylaqn,tnlyrar,ryivan,rynabe,qnahgn,qnavxn,pevfgra,pbeqvr,pbyrggn,pynevgn,pnezba,oelaa,nmhpran,nhaqern,natryr,ireyvr,ireyrar,gnzrfun,fvyinan,froevan,fnzven,erqn,enlyrar,craav,abenu,abzn,zvervyyr,zryvffvn,znelnyvpr,ynenvar,xvzorel,xnely,xnevar,wbynaqn,wbunan,wrfhfn,wnyrrfn,wnpdhrylar,vyhzvanqn,uvynevn,unau,traavr,senapvr,syberggn,rkvr,rqqn,qerzn,qrycun,oneone,nffhagn,neqryy,naanyvfn,nyvfvn,lhxvxb,lbynaqb,jbaqn,jnygenhq,irgn,grzrxn,gnzrvxn,fuveyrra,furavgn,cvrqnq,bmryyn,zvegun,znevyh,xvzvxb,whyvnar,wravpr,wnanl,wnpdhvyvar,uvyqr,rybvf,rpub,qribenu,punh,oevaqn,orgfrl,nezvaqn,nenpryvf,ncely,naargg,nyvfuvn,irbyn,hfun,gbfuvxb,gurbyn,gnfuvn,gnyvgun,furel,erarggn,ervxb,enfurrqn,boqhyvn,zvxn,zrynvar,zrttna,zneyra,znetrg,znepryvar,znan,zntqnyra,yvoenqn,yrmyvr,yngnfuvn,ynfnaqen,xryyr,vfvqen,vabprapvn,tjla,senapbvfr,rezvavn,revaa,qvzcyr,qriben,pevfryqn,neznaqn,nevr,nevnar,natryran,nyvmn,nqevrar,nqnyvar,kbpuvgy,gjnaan,gbzvxb,gnzvfun,gnvfun,fhfl,ehgun,euban,abevxb,angnfuvn,zreevr,znevaqn,znevxb,znetreg,ybevf,yvmmrggr,yrvfun,xnvyn,wbnaavr,wreevpn,wrar,wnaarg,wnarr,wnpvaqn,uregn,ryraber,qberggn,qrynvar,qnavryy,pynhqvr,oevggn,ncbybavn,nzoreyl,nyrnfr,lhev,jnargn,gbzv,funeev,fnaqvr,ebfryyr,erlanyqn,enthry,culyvpvn,cngevn,byvzcvn,bqryvn,zvgmvr,zvaqn,zvtaba,zvpn,zraql,zneviry,znvyr,ylarggn,ynirggr,ynhela,yngevfun,ynxvrfun,xvrefgra,xnel,wbfcuvar,wbyla,wrggn,wnavfr,wnpdhvr,viryvffr,tylavf,tvnaan,tnlaryyr,qnalryy,qnavyyr,qnpvn,pbenyrr,pure,prbyn,nevnaar,nyrfuvn,lhat,jvyyvrznr,gevau,guben,furevxn,furzrxn,funhaqn,ebfryvar,evpxv,zryqn,znyyvr,ynibaan,yngvan,yndhnaqn,ynyn,ynpuryyr,xynen,xnaqvf,wbuan,wrnaznevr,wnlr,tenlpr,treghqr,rzrevgn,robavr,pybevaqn,puvat,purel,pnebyn,oernaa,oybffbz,oreaneqvar,orpxv,neyrgun,netryvn,nyvgn,lhynaqn,lrffravn,gbov,gnfvn,flyivr,fuvey,fuveryl,furyyn,funagryyr,fnpun,erorpxn,cebivqrapvn,cnhyrar,zvfun,zvxv,zneyvar,znevpn,ybevgn,yngblvn,ynfbaln,xrefgva,xraqn,xrvgun,xngueva,wnlzvr,tevpryqn,tvarggr,rela,ryvan,rysevrqn,qnalry,purerr,punaryyr,oneevr,nheber,naanznevn,nyyrra,nvyrar,nvqr,lnfzvar,infugv,gernfn,gvssnarl,furelyy,funevr,funanr,envfn,arqn,zvgfhxb,zveryyn,zvyqn,znelnaan,znenterg,znoryyr,yhrggn,ybevan,yrgvfun,yngnefun,ynaryyr,ynwhnan,xevffl,xneyl,xneran,wrffvxn,wrevpn,wrnaryyr,wnyvfn,wnpryla,vmbyn,rhan,rgun,qbzvgvyn,qbzvavpn,qnvan,perbyn,pneyv,pnzvr,oevggal,nfunagv,navfun,nyrra,nqnu,lnfhxb,inyevr,gban,gvavfun,grevfn,gnarxn,fvzbaar,funynaqn,frevgn,erffvr,ershtvn,byrar,zneturevgn,znaqvr,znver,ylaqvn,yhpv,ybeevnar,ybergn,yrbavn,yniban,ynfunjaqn,ynxvn,xlbxb,xelfgvan,xelfgra,xravn,xryfv,wrnavpr,vfbory,trbetvnaa,traal,sryvpvqnq,rvyrar,qrybvfr,qrrqrr,pbaprcgvba,pyben,purevyla,pnynaqen,neznaqvan,navfn,gvren,gurerffn,fgrcunavn,fvzn,fulyn,fubagn,furen,fundhvgn,funyn,ebffnan,aburzv,arel,zbevnu,zryvgn,zryvqn,zrynav,znelylaa,znevfun,znevrggr,znybevr,znqryrar,yhqvivan,ybevn,yberggr,ybenyrr,yvnaar,yniravn,ynhevaqn,ynfuba,xvzv,xrvyn,xngrylaa,wbar,wbnar,wnlan,wnaryyn,uregun,senaprar,ryvaber,qrfcvan,qryfvr,qrrqen,pyrzrapvn,pnebyva,ohynu,oevggnavr,oybaqryy,ovov,ornhynu,orngn,naavgn,ntevcvan,ivetra,inyrar,gjnaqn,gbzzlr,gneen,gnev,gnzzren,funxvn,fnqlr,ehgunaar,ebpury,evixn,chen,aravgn,angvfun,zvat,zreevyrr,zrybqrr,zneivf,yhpvyyn,yrran,ynirgn,ynevgn,ynavr,xrera,vyrra,trbetrnaa,traan,sevqn,rhsrzvn,rzryl,rqlgu,qrbaan,qrnqen,qneyran,punaryy,pngurea,pnffbaqen,pnffnhaqen,oreaneqn,orean,neyvaqn,nanznevn,iregvr,inyrev,gbeev,fgnfvn,furevfr,furevyy,fnaqn,ehgur,ebfl,eboov,enarr,dhlra,crneyl,cnyzven,bavgn,avfun,avrfun,avqn,zreyla,znlbyn,znelybhvfr,znegu,znetrar,znqrynvar,ybaqn,yrbagvar,yrbzn,yrvn,ynhenyrr,ynaben,ynxvgn,xvlbxb,xrghenu,xngryva,xnerra,wbavr,wbuarggr,wrarr,wrnargg,vmrggn,uvrqv,urvxr,unffvr,tvhfrccvan,trbetnaa,svqryn,sreanaqr,ryjnaqn,ryynznr,ryvm,qhfgv,qbggl,plaql,pbenyvr,pryrfgn,nyiregn,kravn,jnin,inarggn,gbeevr,gnfuvan,gnaql,gnzoen,gnzn,fgrcnavr,fuvyn,funhagn,funena,funavdhn,funr,frgfhxb,frensvan,fnaqrr,ebfnznevn,cevfpvyn,byvaqn,anqrar,zhbv,zvpuryvan,zreprqrm,znelebfr,zneprar,zntnyv,znsnyqn,ynaavr,xnlpr,xnebyvar,xnzvynu,xnznyn,whfgn,wbyvar,wraavar,wnpdhrggn,venvqn,trbetrnaan,senapurfpn,rzryvar,rynar,rugry,rneyvr,qhypvr,qnyrar,pynffvr,purer,punevf,pneblya,pnezvan,pnevgn,orgunavr,nlnxb,nevpn,nylfn,nyrffnaqen,nxvynu,nqevra,mrggn,lbhynaqn,lryran,lnunven,khna,jraqbyla,gvwhnan,grevan,grerfvn,fhmv,fureryy,funibaqn,funhagr,funeqn,funxvgn,fran,elnaa,ehov,evin,ertvavn,enpuny,cneguravn,cnzhyn,zbaavr,zbarg,zvpunryr,zryvn,znyxn,znvfun,yvfnaqen,yrxvfun,yrna,ynxraqen,xelfgva,xbegarl,xvmmvr,xvggvr,xren,xraqny,xrzoreyl,xnavfun,whyrar,whyr,wbunaar,wnzrr,unyyrl,tvqtrg,serqevpxn,syrgn,sngvznu,rhfrovn,rymn,ryrbaber,qbegurl,qbevn,qbaryyn,qvabenu,qrybefr,pynergun,puevfgvavn,puneyla,obat,oryxvf,nmmvr,naqren,nvxb,nqran,lnwnven,inavn,hyevxr,gbfuvn,gvsnal,fgrsnal,fuvmhr,furavxn,funjnaan,funebyla,funevyla,fundhnan,funagnl,ebmnaar,ebfryrr,erzban,ernaan,enryrar,cuhat,crgebavyn,angnpun,anaprl,zley,zvlbxb,zvrfun,zrevqrgu,zneiryyn,znedhvggn,zneugn,znepuryyr,yvmrgu,yvoovr,ynubzn,ynqnja,xvan,xnguryrra,xngunela,xnevfn,xnyrvtu,whavr,whyvrnaa,wbuafvr,wnarna,wnvzrr,wnpxdhryvar,uvfnxb,urezn,urynvar,tjlargu,tvgn,rhfgbyvn,rzryvan,ryva,rqevf,qbaarggr,qbaarggn,qvreqer,qranr,qnepry,pynevfn,pvaqreryyn,puvn,puneyrfrggn,punevgn,pryfn,pnffl,pnffv,pneyrr,oehan,oevggnarl,oenaqr,ovyyv,nagbarggn,natyn,natryla,nanyvfn,nynar,jraban,jraqvr,irebavdhr,inaarfn,gbovr,grzcvr,fhzvxb,fhyrzn,fbzre,furon,funevpr,funary,funyba,ebfvb,ebfryvn,eranl,erzn,erran,bmvr,bergun,benyrr,atna,anxrfun,zvyyl,zneloryyr,znetergg,znentnerg,znavr,yheyrar,yvyyvn,yvrfrybggr,yniryyr,ynfunhaqn,ynxrrfun,xnlprr,xnyla,wbln,wbrggr,wranr,wnavrpr,vyyn,tevfry,tynlqf,trarivr,tnyn,serqqn,ryrbabe,qroren,qrnaqern,pbeevaar,pbeqvn,pbagrffn,pbyrar,pyrbgvyqr,punagnl,prpvyyr,orngevf,nmnyrr,neyrna,neqngu,nawryvpn,nawn,nyserqvn,nyrvfun,mnqn,lhbaar,kvnb,jvyybqrna,iraavr,inaan,glvfun,gbin,gbevr,gbavfun,gvyqn,gvra,fveran,fureevy,funagv,funa,franvqn,fnzryyn,eboola,eraqn,ervgn,curor,cnhyvgn,abohxb,athlrg,arbzv,zvxnryn,zrynavn,znkvzvan,znet,znvfvr,ylaan,yvyyv,ynfunha,ynxraln,ynry,xvefgvr,xnguyvar,xnfun,xneyla,xnevzn,wbina,wbfrsvar,wraaryy,wnpdhv,wnpxryla,uvra,tenmlan,sybeevr,sybevn,ryrbaben,qjnan,qbeyn,qryzl,qrwn,qrqr,qnaa,pelfgn,pyryvn,pynevf,puvrxb,pureyla,pureryyr,puneznva,punen,pnzzl,nearggr,neqryyr,naavxn,nzvrr,nzrr,nyyran,libar,lhxv,lbfuvr,lrirggr,lnry,jvyyrggn,ibapvyr,irarggn,ghyn,gbarggr,gvzvxn,grzvxn,gryzn,grvfun,gnera,fgnprr,funjagn,fngheavan,evpneqn,cnfgl,bavr,ahovn,znevryyr,znevryyn,znevnaryn,zneqryy,yhnaan,ybvfr,yvfnorgu,yvaqfl,yvyyvnan,yvyyvnz,yrynu,yrvtun,yrnaben,xevfgrra,xunyvynu,xrryrl,xnaqen,whaxb,wbndhvan,wreyrar,wnav,wnzvxn,ufvh,urezvyn,trarivir,rivn,rhtran,rzznyvar,ryserqn,ryrar,qbarggr,qrypvr,qrrnaan,qneprl,pynevaqn,pven,punr,pryvaqn,pngurela,pnfvzven,pnezryvn,pnzryyvn,oernan,oborggr,oreaneqvan,oror,onfvyvn,neylar,nzny,nynlan,mbavn,mravn,lhevxb,lnrxb,jlaryy,jvyyran,ireavn,gben,greevyla,grevpn,grarfun,gnjan,gnwhnan,gnvan,fgrcuavr,fban,fvan,fubaqen,fuvmhxb,fureyrar,furevpr,funevxn,ebffvr,ebfran,evzn,euron,eraan,angnyln,anaprr,zrybqv,zrqn,zngun,znexrggn,znevpehm,znepryrar,znyivan,yhon,ybhrggn,yrvqn,yrpvn,ynhena,ynfunjan,ynvar,xunqvwnu,xngrevar,xnfv,xnyyvr,whyvrggn,wrfhfvgn,wrfgvar,wrffvn,wrssvr,wnalpr,vfnqben,trbetvnaar,svqryvn,rivgn,rhen,rhynu,rfgrsnan,ryfl,rynqvn,qbqvr,qravffr,qrybenf,qryvyn,qnlfv,pelfgyr,pbapun,pynerggn,puneyfvr,puneyran,pnelyba,orgglnaa,nfyrl,nfuyrn,nzven,nthrqn,ntahf,lhrggr,ivavgn,ivpgbevan,glavfun,gerran,gbppnen,gvfu,gubznfran,grtna,fbvyn,furaan,funeznvar,funagnr,funaqv,fnena,fnenv,fnan,ebfrggr,ebynaqr,ertvar,bgryvn,byrivn,avpubyyr,arpbyr,anvqn,zlegn,zlrfun,zvgfhr,zvagn,zregvr,znetl,znunyvn,znqnyrar,ybhen,yberna,yrfun,yrbavqn,yravgn,ynibar,ynfuryy,ynfunaqen,ynzbavpn,xvzoen,xngurevan,xneel,xnarfun,wbat,wrarin,wndhryla,tvyzn,tuvfynvar,tregehqvf,senafvfpn,srezvan,rggvr,rgfhxb,ryyna,ryvqvn,rqen,qbergurn,qberngun,qralfr,qrrggn,qnvar,plefgny,pbeeva,pnlyn,pneyvgn,pnzvyn,ohezn,ohyn,ohran,onenonen,nievy,nynvar,mnan,jvyurzvan,jnarggn,ireyvar,infvyvxv,gbavgn,gvfn,grbsvyn,gnlan,gnhaln,gnaqen,gnxnxb,fhaav,fhnaar,fvkgn,funeryy,frrzn,ebfraqn,eboran,enlzbaqr,cnzvyn,bmryy,arvqn,zvfgvr,zvpun,zrevffn,znhevgn,znelya,znelrggn,znepryy,znyran,znxrqn,ybirggn,ybhevr,ybeevar,ybevyrr,ynheran,ynfunl,yneenvar,ynerr,ynperfun,xevfgyr,xrin,xrven,xnebyr,wbvr,wvaal,wrnaarggn,wnzn,urvql,tvyoregr,trzn,snivbyn,rirylaa,raqn,ryyv,ryyran,qvivan,qntal,pbyyrar,pbqv,pvaqvr,punffvql,punfvql,pngevpr,pngurevan,pnffrl,pnebyy,pneyran,pnaqen,pnyvfgn,oelnaan,oevggral,orhyn,onev,nhqevr,nhqevn,neqryvn,naaryyr,natvyn,nyban,nyyla".split(","),surnames:"fzvgu,wbuafba,jvyyvnzf,wbarf,oebja,qnivf,zvyyre,jvyfba,zbber,gnlybe,naqrefba,wnpxfba,juvgr,uneevf,znegva,gubzcfba,tnepvn,znegvarm,ebovafba,pynex,ebqevthrm,yrjvf,yrr,jnyxre,unyy,nyyra,lbhat,ureanaqrm,xvat,jevtug,ybcrm,uvyy,terra,nqnzf,onxre,tbamnyrm,aryfba,pnegre,zvgpuryy,crerm,eboregf,gheare,cuvyyvcf,pnzcoryy,cnexre,rinaf,rqjneqf,pbyyvaf,fgrjneg,fnapurm,zbeevf,ebtref,errq,pbbx,zbetna,oryy,zhecul,onvyrl,eviren,pbbcre,evpuneqfba,pbk,ubjneq,jneq,gbeerf,crgrefba,tenl,enzverm,jngfba,oebbxf,fnaqref,cevpr,oraargg,jbbq,onearf,ebff,uraqrefba,pbyrzna,wraxvaf,creel,cbjryy,ybat,cnggrefba,uhturf,syberf,jnfuvatgba,ohgyre,fvzzbaf,sbfgre,tbamnyrf,oelnag,nyrknaqre,tevssva,qvnm,unlrf,zlref,sbeq,unzvygba,tenunz,fhyyvina,jnyynpr,jbbqf,pbyr,jrfg,bjraf,erlabyqf,svfure,ryyvf,uneevfba,tvofba,zpqbanyq,pehm,znefunyy,begvm,tbzrm,zheenl,serrzna,jryyf,jroo,fvzcfba,fgriraf,ghpxre,cbegre,uvpxf,penjsbeq,oblq,znfba,zbenyrf,xraarql,jneera,qvkba,enzbf,erlrf,oheaf,tbeqba,funj,ubyzrf,evpr,eboregfba,uhag,oynpx,qnavryf,cnyzre,zvyyf,avpubyf,tenag,xavtug,srethfba,fgbar,unjxvaf,qhaa,crexvaf,uhqfba,fcrapre,tneqare,fgrcuraf,cnlar,cvrepr,oreel,znggurjf,neabyq,jntare,jvyyvf,jngxvaf,byfba,pneebyy,qhapna,falqre,uneg,phaavatunz,ynar,naqerjf,ehvm,unecre,sbk,evyrl,nezfgebat,pnecragre,jrnire,terrar,ryyvbgg,punirm,fvzf,crgref,xryyrl,senaxyva,ynjfba,svryqf,thgvreerm,fpuzvqg,pnee,infdhrm,pnfgvyyb,jurryre,punczna,zbagtbzrel,evpuneqf,jvyyvnzfba,wbuafgba,onaxf,zrlre,ovfubc,zppbl,ubjryy,nyinerm,zbeevfba,unafra,sreanaqrm,tnemn,uneirl,ohegba,athlra,wnpbof,ervq,shyyre,ylapu,tneergg,ebzreb,jrypu,ynefba,senmvre,ohexr,unafba,zraqbmn,zberab,objzna,zrqvan,sbjyre,oerjre,ubsszna,pneyfba,fvyin,crnefba,ubyynaq,syrzvat,wrafra,inetnf,oleq,qnivqfba,ubcxvaf,ureeren,jnqr,fbgb,jnygref,arny,pnyqjryy,ybjr,wraavatf,oneargg,tenirf,wvzrarm,ubegba,furygba,oneergg,boevra,pnfgeb,fhggba,zpxvaarl,yhpnf,zvyrf,ebqevdhrm,punzoref,ubyg,ynzoreg,syrgpure,jnggf,ongrf,unyr,eubqrf,cran,orpx,arjzna,unlarf,zpqnavry,zraqrm,ohfu,inhtua,cnexf,qnjfba,fnagvntb,abeevf,uneql,fgrryr,pheel,cbjref,fpuhygm,onexre,thmzna,cntr,zhabm,onyy,xryyre,punaqyre,jrore,jnyfu,ylbaf,enzfrl,jbysr,fpuarvqre,zhyyvaf,orafba,funec,objra,oneore,phzzvatf,uvarf,onyqjva,tevssvgu,inyqrm,uhooneq,fnynmne,errirf,jneare,fgrirafba,ohetrff,fnagbf,gngr,pebff,tneare,znaa,znpx,zbff,gubeagba,zptrr,snezre,qrytnqb,nthvyne,irtn,tybire,znaavat,pbura,unezba,ebqtref,eboovaf,arjgba,oynve,uvttvaf,vatenz,errfr,pnaaba,fgevpxynaq,gbjafraq,cbggre,tbbqjva,jnygba,ebjr,unzcgba,begrtn,cnggba,fjnafba,tbbqzna,znyqbanqb,lngrf,orpxre,revpxfba,ubqtrf,evbf,pbaare,nqxvaf,jrofgre,znybar,unzzbaq,sybjref,pboo,zbbql,dhvaa,cbcr,bfobear,zppnegul,threereb,rfgenqn,fnaqbiny,tvoof,tebff,svgmtrenyq,fgbxrf,qblyr,fnhaqref,jvfr,pbyba,tvyy,nyinenqb,terre,cnqvyyn,jngref,aharm,onyyneq,fpujnegm,zpoevqr,ubhfgba,puevfgrafra,xyrva,cengg,oevttf,cnefbaf,zpynhtuyva,mvzzrezna,ohpunana,zbena,pbcrynaq,cvggzna,oenql,zppbezvpx,ubyybjnl,oebpx,cbbyr,ybtna,onff,znefu,qenxr,jbat,wrssrefba,zbegba,noobgg,fcnexf,abegba,uhss,znffrl,svthrebn,pnefba,objref,eborefba,onegba,gena,ynzo,uneevatgba,obbar,pbegrm,pynexr,znguvf,fvatyrgba,jvyxvaf,pnva,haqrejbbq,ubtna,zpxramvr,pbyyvre,yhan,curycf,zpthver,oevqtrf,jvyxrefba,anfu,fhzzref,ngxvaf,jvypbk,cvggf,pbayrl,znedhrm,oheargg,pbpuena,punfr,qniracbeg,ubbq,tngrf,nlnyn,fnjlre,inmdhrm,qvpxrefba,ubqtr,npbfgn,sylaa,rfcvabmn,avpubyfba,zbaebr,jbys,zbeebj,juvgnxre,bpbaabe,fxvaare,jner,zbyvan,xveol,uhsszna,tvyzber,qbzvathrm,barny,ynat,pbzof,xenzre,unapbpx,tnyynture,tnvarf,funssre,jvttvaf,zngurjf,zppynva,svfpure,jnyy,zrygba,urafyrl,obaq,qlre,tevzrf,pbagerenf,jlngg,onkgre,fabj,zbfyrl,furcureq,ynefra,ubbire,ornfyrl,crgrefra,juvgrurnq,zrlref,tneevfba,fuvryqf,ubea,fnintr,byfra,fpuebrqre,unegzna,jbbqneq,zhryyre,xrzc,qryrba,obbgu,cngry,pnyubha,jvyrl,rngba,pyvar,anineeb,uneeryy,uhzcuerl,cneevfu,qhena,uhgpuvafba,urff,qbefrl,ohyybpx,eboyrf,orneq,qnygba,nivyn,evpu,oynpxjryy,wbuaf,oynaxrafuvc,gerivab,fnyvanf,pnzcbf,cehvgg,pnyynuna,zbagbln,uneqva,threen,zpqbjryy,fgnssbeq,tnyyrtbf,urafba,jvyxvafba,obbxre,zreevgg,ngxvafba,bee,qrpxre,uboof,gnaare,xabk,cnpurpb,fgrcurafba,tynff,ebwnf,freenab,znexf,uvpxzna,fjrrarl,fgebat,zppyher,pbajnl,ebgu,znlaneq,sneeryy,ybjrel,uhefg,avkba,jrvff,gehwvyyb,ryyvfba,fybna,whnerm,jvagref,zpyrna,oblre,ivyyneerny,zppnyy,tragel,pneevyyb,nlref,ynen,frkgba,cnpr,uhyy,yroynap,oebjavat,irynfdhrm,yrnpu,punat,fryyref,ureevat,aboyr,sbyrl,onegyrgg,zrepnqb,ynaqel,qheunz,jnyyf,onee,zpxrr,onhre,eviref,oenqfunj,chtu,iryrm,ehfu,rfgrf,qbqfba,zbefr,furccneq,jrrxf,pnznpub,orna,oneeba,yvivatfgba,zvqqyrgba,fcrnef,oenapu,oyrivaf,pura,xree,zppbaaryy,ungsvryq,uneqvat,fbyvf,sebfg,tvyrf,oynpxohea,craavatgba,jbbqjneq,svayrl,zpvagbfu,xbpu,zpphyybhtu,oynapuneq,evinf,oeraana,zrwvn,xnar,oragba,ohpxyrl,inyragvar,znqqbk,ehffb,zpxavtug,ohpx,zbba,zpzvyyna,pebfol,oret,qbgfba,znlf,ebnpu,puna,evpuzbaq,zrnqbjf,snhyxare,barvyy,xancc,xyvar,bpubn,wnpbofba,tnl,uraqevpxf,ubear,furcneq,uroreg,pneqranf,zpvagler,jnyyre,ubyzna,qbanyqfba,pnagh,zbeva,tvyyrfcvr,shragrf,gvyyzna,oragyrl,crpx,xrl,fnynf,ebyyvaf,tnzoyr,qvpxfba,fnagnan,pnoeren,preinagrf,ubjr,uvagba,uheyrl,fcrapr,mnzben,lnat,zparvy,fhnerm,crggl,tbhyq,zpsneynaq,fnzcfba,pneire,oenl,znpqbanyq,fgbhg,urfgre,zryraqrm,qvyyba,sneyrl,ubccre,tnyybjnl,cbggf,wblare,fgrva,nthveer,bfobea,zrepre,oraqre,senapb,ebjynaq,flxrf,cvpxrgg,frnef,znlb,qhaync,unlqra,jvyqre,zpxnl,pbssrl,zppnegl,rjvat,pbbyrl,inhtuna,obaare,pbggba,ubyqre,fgnex,sreeryy,pnageryy,shygba,ybgg,pnyqreba,cbyyneq,ubbcre,ohepu,zhyyra,sel,evqqyr,yril,qhxr,bqbaaryy,oevgg,qnhturegl,oretre,qvyyneq,nyfgba,selr,evttf,punarl,bqbz,qhssl,svgmcngevpx,inyramhryn,znlre,nysbeq,zpcurefba,nprirqb,oneeren,pbgr,ervyyl,pbzcgba,zbbarl,zptbjna,pensg,pyrzbaf,jlaa,avryfra,onveq,fgnagba,favqre,ebfnyrf,oevtug,jvgg,unlf,ubyqra,ehgyrqtr,xvaarl,pyrzragf,pnfgnarqn,fyngre,unua,ohexf,qrynarl,cngr,ynapnfgre,funecr,juvgsvryq,gnyyrl,znpvnf,oheevf,engyvss,zppenl,znqqra,xnhszna,ornpu,tbss,pnfu,obygba,zpsnqqra,yrivar,olref,xvexynaq,xvqq,jbexzna,pnearl,zpyrbq,ubypbzo,svapu,fbfn,unarl,senaxf,fnetrag,avrirf,qbjaf,enfzhffra,oveq,urjvgg,sberzna,inyrapvn,barvy,qrynpehm,ivafba,qrwrfhf,ulqr,sbeorf,tvyyvnz,thguevr,jbbgra,uhore,oneybj,oblyr,zpznuba,ohpxare,ebpun,chpxrgg,ynatyrl,xabjyrf,pbbxr,irynmdhrm,juvgyrl,inat,furn,ebhfr,unegyrl,znlsvryq,ryqre,enaxva,unaan,pbjna,yhpreb,neeblb,fynhtugre,unnf,bpbaaryy,zvabe,obhpure,nepure,obttf,qbhturegl,naqrefra,arjryy,pebjr,jnat,sevrqzna,oynaq,fjnva,ubyyrl,crnepr,puvyqf,lneoebhtu,tnyina,cebpgbe,zrrxf,ybmnab,zben,enatry,onpba,ivyynahrin,fpunrsre,ebfnqb,uryzf,oblpr,tbff,fgvafba,voneen,uhgpuvaf,pbivatgba,pebjyrl,ungpure,znpxrl,ohapu,jbznpx,cbyx,qbqq,puvyqerff,puvyqref,ivyyn,fcevatre,znubarl,qnvyrl,orypure,ybpxuneg,tevttf,pbfgn,oenaqg,jnyqra,zbfre,gnghz,zppnaa,nxref,yhgm,celbe,bebmpb,zpnyyvfgre,yhtb,qnivrf,fubrznxre,ehguresbeq,arjfbzr,zntrr,punzoreynva,oynagba,fvzzf,tbqserl,synantna,pehz,pbeqbin,rfpbone,qbjavat,fvapynve,qbanuhr,xehrtre,zptvaavf,tber,sneevf,jroore,pbeorgg,naqenqr,fgnee,ylba,lbqre,unfgvatf,zptengu,fcvirl,xenhfr,uneqra,penogerr,xvexcngevpx,neevatgba,evggre,zpturr,obyqra,znybarl,tntaba,qhaone,cbapr,cvxr,znlrf,ornggl,zboyrl,xvzonyy,ohggf,zbagrf,ryqevqtr,oenha,unzz,tvoobaf,zblre,znayrl,ureeba,cyhzzre,ryzber,penzre,ehpxre,cvrefba,sbagrabg,ehovb,tbyqfgrva,ryxvaf,jvyyf,abinx,uvpxrl,jbeyrl,tbezna,xngm,qvpxvafba,oebhffneq,jbbqehss,pebj,oevggba,anapr,yruzna,ovatunz,mhavtn,junyrl,funsre,pbsszna,fgrjneq,qrynebfn,arryl,zngn,qnivyn,zppnor,xrffyre,uvaxyr,jryfu,cntna,tbyqoret,tbvaf,pebhpu,phrinf,dhvabarf,zpqrezbgg,uraqevpxfba,fnzhryf,qragba,oretreba,virl,ybpxr,unvarf,faryy,ubfxvaf,olear,nevnf,pbeova,orygena,punccryy,qbjarl,qbbyrl,ghggyr,pbhpu,cnlgba,zpryebl,pebpxrgg,tebirf,pnegjevtug,qvpxrl,zptvyy,qhobvf,zhavm,gbyoreg,qrzcfrl,pvfarebf,frjryy,yngunz,ivtvy,gncvn,envarl,abejbbq,fgebhq,zrnqr,gvcgba,xhua,uvyyvneq,obavyyn,grnthr,thaa,terrajbbq,pbeern,errpr,cvarqn,cuvccf,serl,xnvfre,nzrf,thagre,fpuzvgg,zvyyvtna,rfcvabfn,objqra,ivpxref,ybjel,cevgpuneq,pbfgryyb,cvcre,zppyryyna,ybiryy,furruna,ungpu,qbofba,fvatu,wrssevrf,ubyyvatfjbegu,fberafra,zrmn,svax,qbaaryyl,oheeryy,gbzyvafba,pbyoreg,ovyyvatf,evgpuvr,urygba,fhgureynaq,crbcyrf,zpdhrra,gubznfba,tviraf,pebpxre,ibtry,ebovfba,qhaunz,pbxre,fjnegm,xrlf,ynqare,evpugre,unetebir,rqzbaqf,oenagyrl,nyoevtug,zheqbpx,obfjryy,zhyyre,dhvagreb,cnqtrgg,xraarl,qnyl,pbaabyyl,vazna,dhvagnan,yhaq,oneaneq,ivyyrtnf,fvzbaf,uhttvaf,gvqjryy,fnaqrefba,ohyyneq,zppyraqba,qhnegr,qencre,zneereb,qjlre,noenzf,fgbire,tbbqr,senfre,perjf,oreany,tbqjva,pbaxyva,zparny,onpn,rfcnemn,pebjqre,objre,oerjfgre,zparvyy,ebqevthrf,yrny,pbngrf,envarf,zppnva,zppbeq,zvare,ubyoebbx,fjvsg,qhxrf,pneyvfyr,nyqevqtr,npxrezna,fgnexf,evpxf,ubyyvqnl,sreevf,unvefgba,furssvryq,ynatr,sbhagnva,qbff,orggf,xncyna,pnezvpunry,oybbz,ehssva,craa,xrea,objyrf,fvmrzber,ynexva,qhcerr,frnyf,zrgpnys,uhgpuvfba,urayrl,snee,zppnhyrl,unaxvaf,thfgnsfba,pheena,jnqqryy,enzrl,pngrf,cbyybpx,phzzvaf,zrffre,uryyre,shax,pbeargg,cnynpvbf,tnyvaqb,pnab,ungunjnl,cunz,raevdhrm,fnytnqb,cryyrgvre,cnvagre,jvfrzna,oybhag,sryvpvnab,ubhfre,qburegl,zrnq,zptenj,fjna,pnccf,oynapb,oynpxzba,gubzfba,zpznahf,ohexrgg,tyrnfba,qvpxraf,pbezvre,ibff,ehfuvat,ebfraoret,uheq,qhznf,oravgrm,neryynab,zneva,pnhqvyy,oentt,wnenzvyyb,uhregn,tvcfba,pbyiva,ovttf,iryn,cyngg,pnffvql,gbzcxvaf,zppbyyhz,qbyna,qnyrl,pehzc,farrq,xvytber,tebir,tevzz,qnivfba,oehafba,cengre,znephz,qrivar,qbqtr,fgenggba,ebfnf,pubv,gevcc,yrqorggre,uvtugbjre,sryqzna,rccf,lrntre,cbfrl,fpehttf,pbcr,fghoof,evpurl,biregba,gebggre,fcenthr,pbeqreb,ohgpure,fgvyrf,ohetbf,jbbqfba,ubeare,onffrgg,chepryy,unfxvaf,nxvaf,mvrtyre,fcnhyqvat,unqyrl,tehoof,fhzare,zhevyyb,mninyn,fubbx,ybpxjbbq,qevfpbyy,qnuy,gubecr,erqzbaq,chganz,zpjvyyvnzf,zpenr,ebznab,wbvare,fnqyre,urqevpx,untre,untra,svgpu,pbhygre,gunpxre,znafsvryq,ynatfgba,thvqel,sreerven,pbeyrl,pbaa,ebffv,ynpxrl,onrm,fnram,zpanznen,zpzhyyra,zpxraan,zpqbabhtu,yvax,ratry,oebjar,ebcre,crnpbpx,rhonaxf,qehzzbaq,fgevatre,cevgpurgg,cneunz,zvzf,ynaqref,tenlfba,fpunsre,rtna,gvzzbaf,bunen,xrra,unzyva,svaa,pbegrf,zpanve,anqrnh,zbfryrl,zvpunhq,ebfra,bnxrf,xhegm,wrssref,pnyybjnl,orny,onhgvfgn,jvaa,fhttf,fgrea,fgncyrgba,ylyrf,ynveq,zbagnab,qnjxvaf,untna,tbyqzna,oelfba,onenwnf,ybirgg,frthen,zrgm,ybpxrgg,ynatsbeq,uvafba,rnfgzna,ubbxf,fznyyjbbq,funcveb,pebjryy,junyra,gevcyrgg,pungzna,nyqevpu,pnuvyy,lbhatoybbq,loneen,fgnyyvatf,furrgf,errqre,pbaaryyl,ongrzna,noreangul,jvaxyre,jvyxrf,znfgref,unpxrgg,tenatre,tvyyvf,fpuzvgm,fncc,ancvre,fbhmn,ynavre,tbzrf,jrve,bgreb,yrqsbeq,oheebhtuf,onopbpx,iraghen,fvrtry,qhtna,oyrqfbr,ngjbbq,jenl,ineare,fcnatyre,nanln,fgnyrl,xensg,sbheavre,orynatre,jbyss,gubear,olahz,ohearggr,oblxva,fjrafba,cheivf,cvan,xuna,qhinyy,qneol,kvbat,xnhsszna,urnyl,ratyr,orabvg,inyyr,fgrvare,fcvpre,funire,enaqyr,yhaql,puva,pnyireg,fgngba,arss,xrnearl,qneqra,bnxyrl,zrqrvebf,zppenpxra,perafunj,creqhr,qvyy,juvggnxre,gbova,jnfuohea,ubthr,tbbqevpu,rnfyrl,oenib,qraavfba,fuvcyrl,xreaf,wbetrafra,penva,ivyynybobf,znhere,ybatbevn,xrrar,pbba,jvgurefcbba,fgncyrf,crggvg,xvapnvq,rnfba,znqevq,rpubyf,yhfx,fgnuy,pheevr,gunlre,fuhygm,zpanyyl,frnl,znure,tntar,oneebj,anin,zberynaq,ubarlphgg,urnea,qvttf,pneba,juvggra,jrfgoebbx,fgbinyy,entynaq,zhafba,zrvre,ybbarl,xvzoyr,wbyyl,ubofba,tbqqneq,phyire,ohee,cerfyrl,arteba,pbaaryy,gbine,uhqqyrfgba,nfuol,fnygre,ebbg,craqyrgba,byrnel,avpxrefba,zlevpx,whqq,wnpbofra,onva,nqnve,fgnearf,zngbf,ohfol,ureaqba,unayrl,oryynzl,qbgl,onegyrl,lnmmvr,ebjryy,cnefba,tvssbeq,phyyra,puevfgvnafra,oranivqrf,oneauneg,gnyobg,zbpx,penaqnyy,pbaabef,obaqf,juvgg,tntr,oretzna,neerqbaqb,nqqvfba,yhwna,qbjql,wreavtna,uhlau,obhpuneq,qhggba,eubnqrf,bhryyrggr,xvfre,ureevatgba,uner,oynpxzna,onoo,nyyerq,ehqq,cnhyfba,btqra,xbravt,trvtre,ortnl,cneen,ynffvgre,unjx,rfcbfvgb,jnyqeba,enafbz,cengure,punpba,ivpx,fnaqf,ebnex,cnee,znloreel,terraoret,pbyrl,oehare,juvgzna,fxnttf,fuvczna,yrnel,uhggba,ebzb,zrqenab,ynqq,xehfr,nfxrj,fpuhym,nysneb,gnobe,zbue,tnyyb,orezhqrm,crerven,oyvff,ernirf,syvag,pbzre,jbbqnyy,andhva,thrinen,qrybat,pneevre,cvpxraf,gvyyrl,fpunssre,xahgfba,sragba,qbena,ibtg,inaa,cerfpbgg,zpynva,ynaqvf,pbepbena,mncngn,ulngg,urzcuvyy,snhyx,qbir,obhqernhk,nentba,juvgybpx,gerwb,gnpxrgg,furnere,fnyqnan,unaxf,zpxvaaba,xbruyre,obhetrbvf,xrlrf,tbbqfba,sbbgr,yhafsbeq,tbyqfzvgu,sybbq,jvafybj,fnzf,erntna,zppybhq,ubhtu,rfdhviry,anlybe,ybbzvf,pbebanqb,yhqjvt,oenfjryy,orneqra,uhnat,sntna,rmryy,rqzbaqfba,pebava,ahaa,yrzba,thvyybel,tevre,qhobfr,genlybe,elqre,qboovaf,pblyr,ncbagr,juvgzber,fznyyf,ebjna,znyybl,pneqban,oenkgba,obeqra,uhzcuevrf,pneenfpb,ehss,zrgmtre,uhagyrl,uvabwbfn,svaarl,znqfra,reafg,qbmvre,ohexuneg,objfre,crenygn,qnvtyr,juvggvatgba,fberafba,fnhprqb,ebpur,erqqvat,shtngr,ninybf,jnvgr,yvaq,uhfgba,unjgubear,unzol,oblyrf,obyrf,ertna,snhfg,pebbx,ornz,onetre,uvaqf,tnyyneqb,jvyybhtuol,jvyyvatunz,rpxreg,ohfpu,mrcrqn,jbeguvatgba,gvafyrl,ubss,unjyrl,pnezban,ineryn,erpgbe,arjpbzo,xvafrl,qhor,jungyrl,entfqnyr,oreafgrva,orpreen,lbfg,znggfba,sryqre,purrx,unaql,tebffzna,tnhguvre,rfpborqb,oenqra,orpxzna,zbgg,uvyyzna,synuregl,qlxrf,fgbpxgba,fgrneaf,ybsgba,pbngf,pninmbf,orniref,oneevbf,gnat,zbfure,pneqjryy,pbyrf,oheaunz,jryyre,yrzbaf,orror,nthvyren,cnearyy,unezna,pbhgher,nyyrl,fpuhznpure,erqq,qboof,oyhz,oynybpx,zrepunag,raavf,qrafba,pbggeryy,oenaaba,ontyrl,nivyrf,jngg,fbhfn,ebfraguny,ebbarl,qvrgm,oynax,cndhrggr,zppyryynaq,qhss,irynfpb,yragm,tehoo,oheebjf,oneobhe,hyevpu,fubpxyrl,enqre,orlre,zvkba,ynlgba,nygzna,jrnguref,fgbare,fdhverf,fuvcc,cevrfg,yvcfpbzo,phgyre,pnonyyreb,mvzzre,jvyyrgg,guhefgba,fgberl,zrqyrl,rccrefba,funu,zpzvyyvna,onttrgg,gbeerm,uvefpu,qrag,cbvevre,crnpurl,sneene,perrpu,onegu,gevzoyr,qhcer,nyoerpug,fnzcyr,ynjyre,pevfc,pbaebl,jrgmry,arfovgg,zheel,wnzrfba,jvyuryz,cnggra,zvagba,zngfba,xvzoebhtu,thvaa,pebsg,gbgu,chyyvnz,ahtrag,arjol,yvggyrwbua,qvnf,pnanyrf,oreavre,oneba,fvatyrgnel,eragrevn,cehrgg,zpuhtu,znoel,ynaqehz,oebjre,fgbqqneq,pntyr,fgwbua,fpnyrf,xbuyre,xryybtt,ubcfba,tnag,gunec,tnaa,mrvtyre,cevatyr,unzzbaf,snvepuvyq,qrngba,punivf,pnearf,ebjyrl,zngybpx,xrneaf,vevmneel,pneevatgba,fgnexrl,ybcrf,wneeryy,penira,onhz,yvggyrsvryq,yvaa,uhzcuerlf,rgurevqtr,phryyne,punfgnva,ohaql,fcrre,fxrygba,dhvebm,clyr,cbegvyyb,cbaqre,zbhygba,znpunqb,xvyyvna,uhgfba,uvgpupbpx,qbjyvat,pybhq,oheqvpx,fcnaa,crqrefra,yriva,yrttrgg,unljneq,qvrgevpu,ornhyvrh,onexfqnyr,jnxrsvryq,fabjqra,oevfpbr,objvr,orezna,btyr,zptertbe,ynhtuyva,uryz,oheqra,jurngyrl,fpuervore,cerffyrl,cneevf,nynavm,ntrr,fjnaa,fabqtenff,fpuhfgre,enqsbeq,zbax,znggvatyl,unec,tveneq,purarl,lnaprl,jntbare,evqyrl,ybzoneqb,uhqtvaf,tnfxvaf,qhpxjbegu,pbohea,jvyyrl,cenqb,arjoreel,zntnan,unzzbaqf,rynz,juvccyr,fynqr,frean,bwrqn,yvyrf,qbezna,qvruy,hcgba,erneqba,zvpunryf,tbrgm,ryyre,onhzna,onre,ynlar,uhzzry,oeraare,nznln,nqnzfba,bearynf,qbjryy,pybhgvre,pnfgryynabf,jryyzna,fnlybe,bebhexr,zbln,zbagnyib,xvycngevpx,qheova,furyy,byqunz,xnat,tneiva,sbff,oenaunz,onegubybzrj,grzcyrgba,znthver,ubygba,evqre,zbanuna,zppbeznpx,orngl,naqref,fgerrgre,avrgb,avryfba,zbssrgg,ynaxsbeq,xrngvat,urpx,tngyva,qryngbeer,pnyynjnl,nqpbpx,jbeeryy,hatre,ebovarggr,abjnx,wrgre,oehaare,fgrra,cneebgg,birefgerrg,aboyrf,zbagnarm,pyriratre,oevaxyrl,genuna,dhneyrf,cvpxrevat,crqrefba,wnafra,tenagunz,tvypuevfg,perfcb,nvxra,fpuryy,fpunrssre,yberam,yrlin,unezf,qlfba,jnyyvf,crnfr,yrnivgg,purat,pninanhtu,onggf,jneqra,frnzna,ebpxjryy,dhrmnqn,cnkgba,yvaqre,ubhpx,sbagnvar,qhenag,pnehfb,nqyre,cvzragry,zvmr,ylgyr,pyrnel,pnfba,npxre,fjvgmre,vfnnpf,uvttvaobgunz,jngrezna,inaqlxr,fgnzcre,fvfx,fuhyre,evqqvpx,zpznuna,yrirfdhr,unggba,oebafba,obyyvatre,neargg,bxrrsr,treore,tnaaba,sneafjbegu,onhtuzna,fvyirezna,fnggresvryq,zppenel,xbjnyfxv,tevtfol,terpb,pnoeny,gebhg,evaruneg,znuba,yvagba,tbbqra,pheyrl,onhtu,jlzna,jrvare,fpujno,fpuhyre,zbeevffrl,znuna,ohaa,guenfure,fcrne,jnttbare,dhnyyf,cheql,zpjubegre,znhyqva,tvyzna,creelzna,arjfbz,zraneq,znegvab,tens,ovyyvatfyrl,negvf,fvzcxvaf,fnyvfohel,dhvagnavyyn,tvyyvynaq,senyrl,sbhfg,pebhfr,fpneobebhtu,tevffbz,shygm,zneybj,znexunz,znqevtny,ynjgba,onesvryq,juvgvat,inearl,fpujnem,tbbpu,nepr,jurng,gehbat,cbhyva,uhegnqb,fryol,tnvgure,sbegare,phycrccre,pbhtuyva,oevafba,obhqernh,onyrf,fgrcc,ubyz,fpuvyyvat,zbeeryy,xnua,urngba,tnzrm,pnhfrl,ghecva,funaxf,fpuenqre,zrrx,vfbz,uneqvfba,pneenamn,lnarm,fpebttvaf,fpubsvryq,ehalba,engpyvss,zheeryy,zbryyre,veol,pheevre,ohggresvryq,enyfgba,chyyra,cvafba,rfgrc,pneobar,unjxf,ryyvatgba,pnfvyynf,fcheybpx,fvxrf,zbgyrl,zppnegarl,xehtre,vforyy,ubhyr,ohex,gbzyva,dhvtyrl,arhznaa,ybirynpr,sraaryy,purngunz,ohfgnznagr,fxvqzber,uvqnytb,sbezna,phyc,objraf,orgnapbheg,ndhvab,eboo,zvyare,znegry,terfunz,jvyrf,evpxrggf,qbjq,pbyynmb,obfgvp,oynxryl,fureebq,xralba,tnaql,roreg,qrybnpu,nyyneq,fnhre,ebovaf,byvinerf,tvyyrggr,purfgahg,obhedhr,cnvar,uvgr,unhfre,qriber,penjyrl,puncn,gnyoreg,cbvaqrkgre,zrnqbe,zpqhssvr,znggbk,xenhf,unexvaf,pubngr,jera,fyrqtr,fnaobea,xvaqre,trnel,pbeajryy,onepynl,noarl,frjneq,eubnqf,ubjynaq,sbegvre,oraare,ivarf,ghoof,gebhgzna,encc,zppheql,qryhpn,jrfgzberynaq,uniraf,thnwneqb,pynel,frny,zrruna,urembt,thvyyra,nfupensg,jnhtu,eraare,zvynz,ryebq,puhepuvyy,oernhk,obyva,nfure,jvaqunz,gvenqb,crzoregba,abyra,abynaq,xabgg,rzzbaf,pbeavfu,puevfgrafba,oebjayrr,oneorr,jnyqebc,cvgg,byiren,ybzoneqv,tehore,tnssarl,rttyrfgba,onaqn,nepuhyrgn,fybar,cerjvgg,csrvssre,arggyrf,zran,zpnqnzf,uraavat,tneqvare,pebzjryy,puvfubyz,oheyrfba,irfg,btyrfol,zppnegre,yhzcxva,jbssbeq,inaubea,gubea,grry,fjnssbeq,fgpynve,fgnasvryq,bpnzcb,ureeznaa,unaaba,nefranhyg,ebhfu,zpnyvfgre,uvngg,thaqrefba,sbeflgur,qhttna,qryinyyr,pvageba,jvyxf,jrvafgrva,hevor,evmmb,ablrf,zpyraqba,theyrl,orgurn,jvafgrnq,zncyrf,thlgba,tvbeqnab,nyqrezna,inyqrf,cbynapb,cnccnf,yviryl,tebtna,tevssvguf,obob,nerinyb,juvgfba,fbjryy,eraqba,sreanaqrf,sneebj,oranivqrm,nlerf,nyvprn,fghzc,fznyyrl,frvgm,fpuhygr,tvyyrl,tnyynag,pnasvryq,jbysbeq,bznyyrl,zpahgg,zpahygl,zptbirea,uneqzna,uneova,pbjneg,punineevn,oevax,orpxrgg,ontjryy,nezfgrnq,natyva,noerh,erlabfb,xerof,wrgg,ubssznaa,terrasvryq,sbegr,ohearl,oebbzr,fvffba,genzzryy,cnegevqtr,znpr,ybznk,yrzvrhk,tbffrgg,senagm,sbtyr,pbbarl,oebhtugba,crapr,cnhyfra,zhapl,zpneguhe,ubyyvaf,ornhpunzc,jvguref,bfbevb,zhyyvtna,ublyr,qbpxrel,pbpxeryy,ortyrl,nznqbe,ebol,envaf,yvaqdhvfg,tragvyr,rireuneg,obunaaba,jlyvr,fbzzref,chearyy,sbegva,qhaavat,oerrqra,invy,curyna,cuna,znek,pbfol,pbyohea,obyvat,ovqqyr,yrqrfzn,tnqqvf,qraarl,pubj,ohrab,oreevbf,jvpxre,gbyyvire,guvobqrnhk,antyr,ynibvr,svfx,pevfg,oneobfn,errql,ybpxyrne,xbyo,uvzrf,orueraf,orpxjvgu,jrrzf,jnuy,fubegre,funpxrysbeq,errf,zhfr,preqn,inynqrm,guvobqrnh,fnnirqen,evqtrjnl,ervgre,zpurael,znwbef,ynpunapr,xrngba,sreenen,pyrzraf,oybpxre,nccyrtngr,arrqunz,zbwvpn,xhlxraqnyy,unzry,rfpnzvyyn,qbhtugl,ohepurgg,nvafjbegu,ivqny,hcpuhepu,guvtcra,fgenhff,fcehvyy,fbjref,evttvaf,evpxre,zppbzof,uneybj,ohssvatgba,fbgryb,byvinf,artergr,zberl,znpba,ybtfqba,yncbvagr,ovtrybj,oryyb,jrfgsnyy,fghooyrsvryq,yvaqyrl,urva,unjrf,sneevatgba,oerra,ovepu,jvyqr,fgrrq,frchyirqn,ervauneqg,cebssvgg,zvagre,zrffvan,zpanoo,znvre,xrryre,tnzobn,qbabuhr,onfunz,fuvaa,pebbxf,pbgn,obeqref,ovyyf,onpuzna,gvfqnyr,gninerf,fpuzvq,cvpxneq,thyyrl,sbafrpn,qrybffnagbf,pbaqba,ongvfgn,jvpxf,jnqfjbegu,znegryy,yvggyrgba,vfba,unnt,sbyfbz,oehzsvryq,oeblyrf,oevgb,zveryrf,zpqbaaryy,yrpynve,unzoyva,tbhtu,snaavat,ovaqre,jvasvryq,juvgjbegu,fbevnab,cnyhzob,arjxvex,znathz,uhgpurefba,pbzfgbpx,pneyva,ornyy,onve,jraqg,jnggref,jnyyvat,chgzna,bgbbyr,zbeyrl,znerf,yrzhf,xrrare,uhaqyrl,qvny,qnzvpb,ovyyhcf,fgebgure,zpsneynar,ynzz,rnirf,pehgpure,pnenonyyb,pnagl,ngjryy,gnsg,fvyre,ehfg,enjyf,enjyvatf,cevrgb,zparryl,zpnsrr,uhyfrl,unpxarl,tnyirm,rfpnynagr,qryntnemn,pevqre,onaql,jvyonaxf,fgbjr,fgrvaoret,eraseb,znfgrefba,znffvr,ynaunz,unfxryy,unzevpx,qruneg,oheqrggr,oenafba,obhear,onova,nyrzna,jbegul,gvoof,fzbbg,fynpx,cnenqvf,zhyy,yhpr,ubhtugba,tnagg,shezna,qnaare,puevfgvnafba,ohetr,nfusbeq,neaqg,nyzrvqn,fgnyyjbegu,funqr,frnepl,fntre,abbana,zpyrzber,zpvagver,znkrl,ynivtar,wbor,sreere,snyx,pbssva,olearf,nenaqn,ncbqnpn,fgnzcf,ebhaqf,crrx,byzfgrnq,yrjnaqbjfxv,xnzvafxv,qhanjnl,oehaf,oenpxrgg,nzngb,ervpu,zppyhat,ynpebvk,xbbagm,ureevpx,uneqrfgl,synaqref,pbhfvaf,pngb,pnqr,ivpxrel,funax,antry,qhchvf,pebgrnh,pbggre,fghpxrl,fgvar,cbegresvryq,cnhyrl,zbssvgg,xahqfra,uneqjvpx,tbsbegu,qhcbag,oyhag,oneebjf,oneauvyy,fuhyy,enfu,ybsgvf,yrznl,xvgpuraf,ubeingu,teravre,shpuf,snveonaxf,phyoregfba,pnyxvaf,oheafvqr,ornggvr,nfujbegu,nyoregfba,jregm,inhtug,inyyrwb,ghex,ghpx,gvwrevan,fntr,crgrezna,zneebdhva,znee,ynagm,ubnat,qrznepb,pbar,orehor,onearggr,junegba,fgvaargg,fybphz,fpnayba,fnaqre,cvagb,znaphfb,yvzn,urnqyrl,rcfgrva,pbhagf,pynexfba,pneanuna,obera,negrntn,nqnzr,mbbx,juvggyr,juvgruhefg,jramry,fnkgba,erqqvpx,chragr,unaqyrl,unttregl,rneyrl,qriyva,punssva,pnql,nphan,fbynab,fvtyre,cbyynpx,craqretenff,bfgenaqre,wnarf,senapbvf,pehgpusvryq,punzoreyva,oehonxre,oncgvfgr,jvyyfba,ervf,arryrl,zhyyva,zrepvre,yven,ynlzna,xrryvat,uvtqba,rfcvany,puncva,jnesvryq,gbyrqb,chyvqb,crroyrf,antl,zbagnthr,zryyb,yrne,wnrtre,ubtt,tenss,shee,fbyvm,cbber,zraqraunyy,zpynheva,znrfgnf,tnoyr,oneenmn,gvyyrel,farnq,cbaq,arvyy,zpphyybpu,zppbexyr,yvtugsbbg,uhgpuvatf,ubyybzna,unearff,qbea,obpx,mvryvafxv,gheyrl,gernqjryy,fgcvreer,fgneyvat,fbzref,bfjnyq,zreevpx,rnfgreyvat,oviraf,gehvgg,cbfgba,cneel,bagvirebf,byvinerm,zbernh,zrqyva,yram,xabjygba,snveyrl,pboof,puvfbyz,onaavfgre,jbbqjbegu,gbyre,bpnfvb,abevrtn,arhzna,zblr,zvyohea,zppynanuna,yvyyrl,unarf,synaarel,qryyvatre,qnavryfba,pbagv,oybqtrgg,orref,jrnguresbeq,fgenva,xnee,uvgg,qraunz,phfgre,pboyr,pybhtu,pnfgrry,obyqhp,ongpurybe,nzzbaf,juvgybj,gvrearl,fgngra,fvoyrl,frvsreg,fpuhoreg,fnyprqb,znggvfba,ynarl,unttneq,tebbzf,qrrf,pebzre,pbbxf,pbyfba,pnfjryy,mnengr,fjvfure,fuva,entna,cevqtra,zpirl,zngural,ynsyrhe,senam,sreeneb,qhttre,juvgrfvqr,evtfol,zpzheenl,yruznaa,wnpbol,uvyqroenaq,uraqevpx,urnqevpx,tbnq,svapure,qehel,obetrf,nepuvonyq,nyoref,jbbqpbpx,gencc,fbnerf,frngba,zbafba,yhpxrgg,yvaqoret,xbcc,xrrgba,urnyrl,tneirl,tnqql,snva,ohepusvryq,jragjbegu,fgenaq,fgnpx,fcbbare,fnhpvre,evppv,cyhaxrgg,cnaaryy,arff,yrtre,servgnf,sbat,ryvmbaqb,qhiny,ornhqbva,heovan,evpxneq,cnegva,zpterj,zppyvagbpx,yrqbhk,sbeflgu,snvfba,qrievrf,oregenaq,jnffba,gvygba,fpneoebhtu,yrhat,veivar,tneore,qraavat,pbeeny,pbyyrl,pnfgyroreel,objyva,obtna,ornyr,onvarf,gevpr,enlohea,cnexvafba,aharf,zpzvyyra,yrnul,xvzzry,uvttf,shyzre,pneqra,orqsbeq,gnttneg,fcrnezna,cevpuneq,zbeevyy,xbbapr,urvam,urqtrf,thragure,tevpr,svaqyrl,qbire,pervtugba,obbgur,onlre,neerbyn,ivgnyr,inyyrf,enarl,bftbbq,unayba,oheyrl,obhaqf,jbeqra,jrngureyl,irggre,gnanxn,fgvygare,arinerm,zbfol,zbagreb,zrynapba,unegre,unzre,tboyr,tynqqra,tvfg,tvaa,nxva,mnentbmn,gneire,fnzzbaf,eblfgre,bervyyl,zhve,zberurnq,yhfgre,xvatfyrl,xryfb,tevfunz,tylaa,onhznaa,nyirf,lbhag,gnznlb,cngrefba,bngrf,zraraqrm,ybatb,unetvf,tvyyra,qrfnagvf,pbabire,oerrqybir,fhzcgre,fpurere,ehcc,ervpureg,urerqvn,perry,pbua,pyrzzbaf,pnfnf,ovpxsbeq,orygba,onpu,jvyyvsbeq,juvgpbzo,graanag,fhggre,fghyy,zppnyyhz,ynatybvf,xrry,xrrtna,qnatryb,qnapl,qnzeba,pyncc,pynagba,onaxfgba,byvirven,zvagm,zpvaavf,znegraf,znor,ynfgre,wbyyrl,uvyqergu,ursare,tynfre,qhpxrgg,qrzref,oebpxzna,oynvf,nypbea,ntarj,gbyvire,gvpr,frryrl,anwren,zhffre,zpsnyy,yncynagr,tnyiva,snwneqb,qbna,pblar,pbcyrl,pynjfba,purhat,onebar,jlaar,jbbqyrl,gerzoynl,fgbyy,fcneebj,fcnexzna,fpujrvgmre,fnffre,fnzcyrf,ebarl,yrtt,urvz,snevnf,pbyjryy,puevfgzna,oengpure,jvapurfgre,hcfunj,fbhgureynaq,fbeeryy,fryyf,zppybfxrl,znegvaqnyr,yhggeryy,ybiryrff,ybirwbl,yvanerf,yngvzre,rzoel,pbbzof,oenggba,obfgvpx,iranoyr,ghttyr,gbeb,fgnttf,fnaqyva,wrssrevrf,urpxzna,tevssvf,penlgba,pyrz,oebjqre,gubegba,fghetvyy,fcebhfr,eblre,ebhffrnh,evqrabhe,cbthr,crenyrf,crrcyrf,zrgmyre,zrfn,zpphgpurba,zporr,ubeafol,urssare,pbeevtna,nezvwb,cynagr,crlgba,cnerqrf,znpxyva,uhffrl,ubqtfba,tenanqbf,sevnf,orpary,onggra,nyznamn,ghearl,grny,fghetrba,zrrxre,zpqnavryf,yvzba,xrrarl,uhggb,ubythva,tbeunz,svfuzna,svreeb,oynapurggr,ebqevthr,erqql,bfohea,bqra,yrezn,xvexjbbq,xrrsre,unhtra,unzzrgg,punyzref,oevaxzna,onhztnegare,munat,inyrevb,gryyrm,fgrssra,fuhzngr,fnhyf,evcyrl,xrzcre,thssrl,riref,penqqbpx,pneinyub,oynlybpx,onahrybf,onyqrenf,jurngba,gheaohyy,fuhzna,cbvagre,zbfvre,zpphr,yvtba,xbmybjfxv,wbunafra,vatyr,uree,oevbarf,favcrf,evpxzna,cvcxva,cnagbwn,bebfpb,zbavm,ynjyrff,xhaxry,uvooneq,tnynemn,rabf,ohffrl,fpubgg,fnypvqb,creernhyg,zpqbhtny,zppbby,unvtug,tneevf,rnfgba,pbalref,nguregba,jvzoreyl,hgyrl,fcryyzna,fzvgufba,fyntyr,evgpurl,enaq,crgvg,bfhyyvina,bnxf,ahgg,zpinl,zppernel,znlurj,xabyy,wrjrgg,unejbbq,pneqbmn,nfur,neevntn,mryyre,jvegu,juvgzver,fgnhssre,ebhagerr,erqqra,zppnsserl,znegm,ynebfr,ynatqba,uhzrf,tnfxva,snore,qrivgb,pnff,nyzbaq,jvatsvryq,jvatngr,ivyynerny,glare,fzbguref,frirefba,erab,craaryy,znhcva,yrvtugba,wnaffra,unffryy,unyyzna,unypbzo,sbyfr,svgmfvzzbaf,snurl,penasbeq,obyra,onggyrf,onggntyvn,jbbyqevqtr,genfx,ebffre,ertnynqb,zprjra,xrrsr,shdhn,rpurineevn,pneb,oblagba,naqehf,ivren,inazrgre,gnore,fcenqyva,frvoreg,cebibfg,ceragvpr,byvcunag,yncbegr,ujnat,ungpurgg,unff,tervare,serrqzna,pbireg,puvygba,olnef,jvrfr,irartnf,fjnax,fuenqre,eboretr,zhyyvf,zbegrafra,zpphar,zneybjr,xvepuare,xrpx,vfnnpfba,ubfgrgyre,unyirefba,thagure,tevfjbyq,sraare,qheqra,oynpxjbbq,nueraf,fnjlref,fnibl,anobef,zpfjnva,znpxnl,yniraqre,ynfu,ynoor,wrffhc,shyyregba,pehfr,pevggraqra,pbeervn,pragrab,pnhqyr,pnanql,pnyyraqre,nynepba,nurea,jvaserl,gevooyr,fnyyrl,ebqra,zhftebir,zvaavpx,sbegraoreel,pneevba,ohagvat,ongvfgr,juvgrq,haqreuvyy,fgvyyjryy,enhpu,cvccva,creeva,zrffratre,znapvav,yvfgre,xvaneq,unegznaa,syrpx,jvyg,gernqjnl,gubeauvyy,fcnyqvat,enssregl,cvger,cngvab,beqbarm,yvaxbhf,xryyrure,ubzna,tnyoenvgu,srrarl,phegva,pbjneq,pnznevyyb,ohff,ohaaryy,obyg,orryre,nhgel,nypnyn,jvggr,jragm,fgvqunz,fuviryl,ahayrl,zrnpunz,znegvaf,yrzxr,yrsroier,ularf,ubebjvgm,ubccr,ubypbzor,qhaar,qree,pbpuenar,oevggnva,orqneq,ornhertneq,gbeerapr,fgehax,fbevn,fvzbafba,fuhznxre,fpbttvaf,bpbaare,zbevnegl,xhagm,virf,uhgpurfba,ubena,unyrf,tnezba,svggf,obua,ngpuvfba,jvfavrjfxv,inajvaxyr,fghez,fnyyrr,cebffre,zbra,yhaqoret,xham,xbuy,xrnar,wbetrafba,wnlarf,shaqreohex,serrq,qhee,pernzre,pbftebir,ongfba,inaubbfr,gubzfra,grrgre,fzlgu,erqzba,beryynan,znarff,ursyva,tbhyrg,sevpx,sbearl,ohaxre,nfohel,nthvne,gnyobgg,fbhguneq,zbjrel,zrnef,yrzzba,xevrtre,uvpxfba,ryfgba,qhbat,qrytnqvyyb,qnlgba,qnfvyin,pbanjnl,pngeba,oehgba,oenqohel,obeqryba,ovivaf,ovggare,oretfgebz,ornyf,noryy,juryna,grwnqn,chyyrl,cvab,abesyrrg,arnyl,znrf,ybcre,tngrjbbq,sevrefba,serhaq,svaartna,phcc,pbirl,pngnynab,obruz,onqre,lbba,jnyfgba,graarl,fvcrf,enjyvaf,zrqybpx,zppnfxvyy,zppnyyvfgre,znepbggr,znpyrna,uhturl,uraxr,unejryy,tynqarl,tvyfba,puvfz,pnfxrl,oenaqraohet,onlybe,ivyynfrabe,irny,gungpure,fgrtnyy,crgevr,abjyva,anineergr,ybzoneq,ybsgva,yrznfgre,xebyy,xbinpu,xvzoeryy,xvqjryy,urefuoretre,shypure,pnagjryy,ohfgbf,obynaq,oboovgg,ovaxyrl,jrfgre,jrvf,ireqva,gbat,gvyyre,fvfpb,funexrl,frlzber,ebfraonhz,ebue,dhvabarm,cvaxfgba,znyyrl,ybthr,yrffneq,yreare,yroeba,xenhff,xyvatre,unyfgrnq,unyyre,trgm,oheebj,nytre,fuberf,csrvsre,creeba,aryzf,zhaa,zpznfgre,zpxraarl,znaaf,xahqfba,uhgpuraf,uhfxrl,tbrory,syntt,phfuzna,pyvpx,pnfgryynab,pneqre,ohztneare,jnzcyre,fcvaxf,ebofba,arry,zperlabyqf,znguvnf,znnf,ybren,wrafba,syberm,pbbaf,ohpxvatunz,oebtna,oreelzna,jvyzbgu,jvyuvgr,guenfu,furcuneq,frvqry,fpuhymr,ebyqna,crggvf,boelna,znxv,znpxvr,ungyrl,senmre,svber,purffre,obggbzf,ovffba,orarsvryq,nyyzna,jvyxr,gehqrnh,gvzz,fuvssyrgg,zhaql,zvyyvxra,znlref,yrnxr,xbua,uhagvatgba,ubefyrl,ureznaa,threva,selre,sevmmryy,sberg,syrzzvat,svsr,pevfjryy,pneonwny,obmrzna,obvfireg,nathyb,jnyyra,gncc,fvyiref,enzfnl,bfurn,begn,zbyy,zpxrrire,zptrurr,yvaivyyr,xvrsre,xrgpuhz,ubjregba,tebpr,tnff,shfpb,pbeovgg,orgm,onegryf,nzneny,nvryyb,jrqqyr,fcreel,frvyre,ehalna,enyrl,bireol,bfgrra,byqf,zpxrbja,zngarl,ynhre,ynggvzber,uvaqzna,unegjryy,serqevpxfba,serqrevpxf,rfcvab,pyrtt,pnefjryy,pnzoryy,ohexubyqre,jbbqohel,jryxre,gbggra,gubeaohet,gurevnhyg,fgvgg,fgnzz,fgnpxubhfr,fpubyy,fnkba,evsr,enmb,dhvayna,cvaxregba,byvib,arfzvgu,anyy,znggbf,ynssregl,whfghf,tveba,trre,svryqre,qenlgba,qbegpu,pbaaref,pbatre,obngjevtug,ovyyvbg,oneqra,nezragn,gvoorggf,fgrnqzna,fynggrel,evanyqv,enlabe,cvapxarl,crggvterj,zvyar,znggrfba,unyfrl,tbafnyirf,sryybjf,qhenaq,qrfvzbar,pbjyrl,pbjyrf,oevyy,oneunz,oneryn,oneon,nfuzber,jvguebj,inyragv,grwrqn,fcevttf,fnler,fnyreab,crygvre,crry,zreevzna,zngurfba,ybjzna,yvaqfgebz,ulynaq,tvebhk,rneyf,qhtnf,qnoarl,pbyynqb,oevfrab,onkyrl,julgr,jratre,inabire,inaohera,guvry,fpuvaqyre,fpuvyyre,evtol,cbzrebl,cnffzber,zneoyr,znamb,znunssrl,yvaqtera,ynsynzzr,terngubhfr,svgr,pnynoerfr,onlar,lnznzbgb,jvpx,gbjarf,gunzrf,ervauneg,crryre,anenawb,zbagrm,zpqnqr,znfg,znexyrl,znepunaq,yrrcre,xryyhz,uhqtraf,uraarffrl,unqqra,tnvarl,pbccbyn,obeertb,obyyvat,ornar,nhyg,fyngba,cncr,ahyy,zhyxrl,yvtugare,ynatre,uvyyneq,rguevqtr,raevtug,qrebfn,onfxva,jrvaoret,ghezna,fbzreivyyr,cneqb,abyy,ynfuyrl,vatenunz,uvyyre,uraqba,tynmr,pbguena,pbbxfrl,pbagr,pneevpb,noare,jbbyrl,fjbcr,fhzzreyva,fghetvf,fgheqvinag,fgbgg,fchetrba,fcvyyzna,fcrvtug,ebhffry,cbcc,ahggre,zpxrba,znmmn,zntahfba,ynaavat,xbmnx,wnaxbjfxv,urljneq,sbefgre,pbejva,pnyyntuna,onlf,jbegunz,hfure,gurevbg,fnlref,fnob,cbyvat,ybln,yvrorezna,ynebpur,ynoryyr,ubjrf,unee,tnenl,sbtnegl,rirefba,qhexva,qbzvadhrm,punirf,punzoyvff,jvgpure,ivrven,inaqvire,greevyy,fgbxre,fpuervare,zbbezna,yvqqryy,ynjubea,xeht,vebaf,ulygba,ubyyraorpx,ureeva,urzoerr,tbbyfol,tbbqva,tvyzre,sbygm,qvaxvaf,qnhtugel,pnona,oevz,oevyrl,ovybqrnh,jlnag,iretnen,gnyyrag,fjrnevatra,fgebhc,fpevoare,dhvyyra,cvgzna,zppnagf,znksvryq,znegvafba,ubygm,sybheabl,oebbxvaf,oebql,onhztneqare,fgenho,fvyyf,eblony,ebhaqgerr,bfjnyg,zptevss,zpqbhtnyy,zppyrnel,znttneq,tentt,tbbqvat,tbqvarm,qbbyvggyr,qbangb,pbjryy,pnffryy,oenpxra,nccry,mnzoenab,erhgre,crern,anxnzhen,zbantuna,zvpxraf,zppyvagba,zppynel,zneyre,xvfu,whqxvaf,tvyoerngu,serrfr,synavtna,srygf,reqznaa,qbqqf,purj,oebjaryy,obngevtug,oneergb,fynlgba,fnaqoret,fnyqvine,crggjnl,bqhz,aneinrm,zbhygevr,zbagrznlbe,zreeryy,yrrf,xrlfre,ubxr,uneqnjnl,unaana,tvyoregfba,sbtt,qhzbag,qroreel,pbttvaf,ohkgba,ohpure,oebnqank,orrfba,nenhwb,nccyrgba,nzhaqfba,nthnlb,npxyrl,lbphz,jbefunz,fuviref,fnapurf,fnppb,eborl,eubqra,craqre,bpuf,zppheel,znqren,yhbat,xabggf,wnpxzna,urvaevpu,unetenir,tnhyg,pbzrnhk,puvgjbbq,pnenjnl,obrggpure,oreauneqg,oneevragbf,mvax,jvpxunz,juvgrzna,gubec,fgvyyzna,frggyrf,fpubbabire,ebdhr,evqqryy,cvypure,cuvsre,abibgal,znpyrbq,uneqrr,unnfr,tevqre,qbhprggr,pynhfra,orivaf,ornzba,onqvyyb,gbyyrl,gvaqnyy,fbhyr,fabbx,frnyr,cvaxarl,cryyrtevab,abjryy,arzrgu,zbaqentba,zpynar,yhaqtera,vatnyyf,uhqfcrgu,uvkfba,trneuneg,sheybat,qbjarf,qvooyr,qrlbhat,pbearwb,pnznen,oebbxfuver,oblrggr,jbypbgg,fheengg,fryynef,frtny,fnylre,errir,enhfpu,ynobagr,uneb,tbjre,serrynaq,snjprgg,rnqf,qevttref,qbayrl,pbyyrgg,oebzyrl,obngzna,onyyvatre,onyqevqtr,ibym,gebzoyrl,fgbatr,funanuna,evineq,eular,crqebmn,zngvnf,wnzvrfba,urqtrcrgu,unegargg,rfgrirm,rfxevqtr,qrazna,puvh,puvaa,pngyrgg,pneznpx,ohvr,orpugry,orneqfyrl,oneq,onyybh,hyzre,fxrra,eboyrqb,evapba,ervgm,cvnmmn,zhatre,zbgra,zpzvpunry,ybsghf,yrqrg,xrefrl,tebss,sbjyxrf,pehzcgba,pybhfr,orggvf,ivyyntbzrm,gvzzrezna,fgebz,fnagbeb,ebqql,craebq,zhffryzna,znpcurefba,yrobrhs,uneyrff,unqqnq,thvqb,tbyqvat,shyxrefba,snaava,qhynarl,qbjqryy,pbggyr,prwn,pngr,obfyrl,oratr,nyoevggba,ibvtg,gebjoevqtr,fbvyrnh,frryl,ebuqr,crnefnyy,cnhyx,begu,anfba,zbgn,zpzhyyva,znedhneqg,znqvtna,ubnt,tvyyhz,tnooneq,srajvpx,qnasbegu,phfuvat,perff,perrq,pnmnerf,orggrapbheg,oneevatre,onore,fgnaforeel,fpuenzz,ehggre,evireb,bdhraqb,arpnvfr,zbhgba,zbagrarteb,zvyrl,zptbhtu,zneen,znpzvyyna,ynzbagntar,wnffb,ubefg,urgevpx,urvyzna,tnlgna,tnyy,sbegarl,qvatyr,qrfwneqvaf,qnoof,oheonax,oevtunz,oerynaq,ornzna,neevbyn,lneobebhtu,jnyyva,gbfpnab,fgbjref,ervff,cvpuneqb,begba,zvpuryf,zpanzrr,zppebel,yrngurezna,xryy,xrvfgre,ubeavat,unetrgg,thnl,sreeb,qrobre,qntbfgvab,pnecre,oynaxf,ornhqel,gbjyr,gnsbln,fgevpxyva,fgenqre,fbcre,fbaavre,fvtzba,fpurax,fnqqyre,crqvtb,zraqrf,yhaa,ybue,ynue,xvatfohel,wnezna,uhzr,ubyyvzna,ubsznaa,unjbegu,uneeryfba,unzoevpx,syvpx,rqzhaqf,qnpbfgn,pebffzna,pbyfgba,puncyva,pneeryy,ohqq,jrvyre,jnvgf,inyragvab,genagunz,gnee,fbybevb,ebrohpx,cbjr,cynax,crgghf,cntnab,zvax,yhxre,yrnguref,wbfyva,unegmryy,tnzoeryy,prcrqn,pnegl,pnchgb,oerjvatgba,orqryy,onyyrj,nccyrjuvgr,jneabpx,jnym,heran,ghqbe,erry,cvtt,cnegba,zvpxryfba,zrnture,zpyryyna,zpphyyrl,znaqry,yrrpu,yninyyrr,xenrzre,xyvat,xvcc,xrubr,ubpufgrgyre,uneevzna,tertbver,tenobjfxv,tbffryva,tnzzba,snapure,rqraf,qrfnv,oenaana,nezraqnevm,jbbyfrl,juvgrubhfr,jurgfgbar,hffrel,gbjar,grfgn,gnyyzna,fghqre,fgenvg,fgrvazrgm,fbeeryyf,fnhprqn,ebysr,cnqqbpx,zvgpurz,zptvaa,zppern,ybingb,unmra,tvycva,tnlabe,svxr,qribr,qryevb,phevry,ohexuneqg,obqr,onpxhf,mvaa,jngnanor,jnpugre,inacryg,gheantr,funare,fpuebqre,fngb,evbeqna,dhvzol,cbegvf,angnyr,zpxbl,zppbja,xvyzre,ubgpuxvff,urffr,unyoreg,tjvaa,tbqfrl,qryvfyr,puevfzna,pnagre,neobtnfg,natryy,nperr,lnapl,jbbyyrl,jrffba,jrngurefcbba,genvabe,fgbpxzna,fcvyyre,fvcr,ebbxf,ernivf,cebcfg,cbeenf,arvyfba,zhyyraf,ybhpxf,yyrjryyla,xhzne,xbrfgre,xyvatrafzvgu,xvefpu,xrfgre,ubanxre,ubqfba,uraarffl,uryzvpx,tneevgl,tnevonl,qenva,pnfnerm,pnyyvf,obgryyb,nlpbpx,ninag,jvatneq,jnlzna,ghyyl,gurvfra,fmlznafxv,fgnafohel,frtbivn,envajngre,cerrpr,cvegyr,cnqeba,zvaprl,zpxryirl,zngurf,yneenorr,xbeartnl,xyht,vatrefbyy,urpug,treznva,rttref,qlxfgen,qrrevat,qrpbgrnh,qrnfba,qrnevat,pbsvryq,pneevtna,obaunz,onue,nhpbva,nccyrol,nyzbagr,lntre,jbzoyr,jvzzre,jrvzre,inaqrecbby,fgnapvy,fcevaxyr,ebzvar,erzvatgba,csnss,crpxunz,byviren,zrenm,znmr,ynguebc,xbrua,unmrygba,unyibefba,unyybpx,unqqbpx,qhpunezr,qrunira,pnehguref,oeruz,obfjbegu,obfg,ovnf,orrzna,onfvyr,onar,nvxraf,jbyq,jnygure,gnoo,fhore,fgenja,fgbpxre,fuverl,fpuybffre,evrqry,erzoreg,ervzre,clyrf,crryr,zreevjrngure,yrgbhearnh,ynggn,xvqqre,uvkba,uvyyvf,uvtug,ureofg,uraevdhrm,unltbbq,unzvyy,tnory,sevggf,rhonax,qnjrf,pbeeryy,ohfurl,ohpuubym,oebguregba,obggf,oneajryy,nhtre,ngpuyrl,jrfgcuny,irvyyrhk,hyybn,fghgmzna,fuevire,elnyf,cvyxvatgba,zblref,zneef,znatehz,znqqhk,ybpxneq,ynvat,xhuy,unearl,unzzbpx,unzyrgg,sryxre,qbree,qrcevrfg,pneenfdhvyyb,pnebguref,obtyr,ovfpubss,oretra,nyonarfr,jlpxbss,irezvyyvba,inafvpxyr,guvonhyg,grgernhyg,fgvpxarl,fubrznxr,ehttvreb,enjfba,enpvar,cuvycbg,cnfpuny,zpryunarl,znguvfba,yrtenaq,yncvreer,xjna,xerzre,wvyrf,uvyoreg,trlre,snvepybgu,ruyref,rtoreg,qrfebfvref,qnyelzcyr,pbggra,pnfuzna,pnqran,obneqzna,nypnenm,jlevpx,gureevra,gnaxrefyrl,fgevpxyre,chelrne,cybheqr,cnggvfba,cneqhr,zptvagl,zpribl,ynaqergu,xhuaf,xbba,urjrgg,tvqqraf,rzrevpx,rnqrf,qrnatryvf,pbfzr,pronyybf,oveqfbat,oraunz,orzvf,nezbhe,nathvnab,jryobea,gfbfvr,fgbezf,fubhc,frffbzf,fnznavrtb,ebbq,ebwb,euvaruneg,enol,abeguphgg,zlre,zhathvn,zberubhfr,zpqrivgg,znyyrgg,ybmnqn,yrzbvar,xhrua,unyyrgg,tevz,tvyyneq,tnlybe,tnezna,tnyynure,srnfgre,snevf,qneebj,qneqne,pbarl,pneerba,oenvgujnvgr,oblyna,oblrgg,ovkyre,ovtunz,orasbeq,oneentna,oneahz,mhore,jlpur,jrfgpbgg,ivavat,fgbygmshf,fvzbaqf,fuhcr,fnova,ehoyr,evggraubhfr,evpuzna,creebar,zhyubyynaq,zvyyna,ybzryv,xvgr,wrzvfba,uhyrgg,ubyyre,uvpxrefba,urebyq,unmryjbbq,tevssra,tnhfr,sbeqr,rvfraoret,qvyjbegu,puneeba,punvffba,oevfgbj,oerhavt,oenpr,obhgjryy,oragm,oryx,onlyrff,ongpuryqre,onena,onrmn,mvzzreznaa,jrngurefol,ibyx,gbbyr,gurvf,grqrfpb,frneyr,fpurapx,fnggrejuvgr,ehrynf,enaxvaf,cnegvqn,arfovg,zbery,zrapunpn,yrinffrhe,xnlybe,wbuafgbar,uhyfr,ubyyne,urefrl,uneevtna,uneovfba,thlre,tvfu,tvrfr,treynpu,tryyre,trvfyre,snypbar,ryjryy,qbhprg,qrrfr,qnee,pbeqre,punsva,olyre,ohffryy,oheqrgg,oenfure,objr,oryyvatre,onfgvna,oneare,nyyrlar,jvyobea,jrvy,jrtare,gngeb,fcvgmre,fzvguref,fpubra,erfraqrm,cnevfv,birezna,boevna,zhqq,znuyre,znttvb,yvaqare,ynybaqr,ynpnffr,ynobl,xvyyvba,xnuy,wrffra,wnzrefba,ubhx,urafunj,thfgva,tenore,qhefg,qhranf,qnirl,phaqvss,pbayba,pbyhatn,pbnxyrl,puvyrf,pncref,ohryy,oevpxre,ovffbaarggr,onegm,ontol,mnlnf,ibycr,gerrpr,gbbzof,gubz,greenmnf,fjvaarl,fxvyrf,fvyirven,fubhfr,fraa,enzntr,zbhn,ynatunz,xlyrf,ubyfgba,ubntynaq,ureq,sryyre,qravfba,pneenjnl,ohesbeq,ovpxry,nzoevm,norepebzovr,lnznqn,jrvqare,jnqqyr,ireqhmpb,guhezbaq,fjvaqyr,fpuebpx,fnanoevn,ebfraoretre,cebofg,crnobql,byvatre,anmnevb,zppnssregl,zpoebbz,zpnorr,znmhe,zngurear,zncrf,yrirergg,xvyyvatfjbegu,urvfyre,tevrtb,tbfaryy,senaxry,senaxr,sreenagr,sraa,rueyvpu,puevfgbcurefb,punffr,pngba,oeharyyr,oybbzsvryq,onoovgg,nmrirqb,noenzfba,noyrf,norlgn,lbhznaf,jbmavnx,jnvajevtug,fgbjryy,fzvgurezna,fnzhryfba,ehatr,ebguzna,ebfrasryq,crnxr,bjvatf,byzbf,zhaeb,zberven,yrngurejbbq,ynexvaf,xenagm,xbinpf,xvmre,xvaqerq,xnearf,wnssr,uhooryy,ubfrl,unhpx,tbbqryy,reqzna,qibenx,qbnar,phergba,pbsre,ohruyre,ovrezna,oreaqg,onagn,noqhyynu,jnejvpx,jnygm,ghepbggr,gbeerl,fgvgu,frtre,fnpuf,dhrfnqn,cvaqre,crccref,cnfphny,cnfpunyy,cnexuhefg,bmhan,bfgre,avpubyyf,yurherhk,yninyyrl,xvzhen,wnoybafxv,unha,tbheyrl,tvyyvtna,pebl,pbggb,pnetvyy,ohejryy,ohetrgg,ohpxzna,obbure,nqbeab,jeraa,juvggrzber,hevnf,fmnob,fnlyrf,fnvm,ehgynaq,enry,cunee,cryxrl,btenql,avpxryy,zhfvpx,zbngf,zngure,znffn,xvefpuare,xvrssre,xryyne,uraqrefubg,tbgg,tbqbl,tnqfba,shegnqb,svrqyre,refxvar,qhgpure,qrire,qnttrgg,purinyvre,oenxr,onyyrfgrebf,nzrefba,jvatb,jnyqba,gebgg,fvyirl,fubjref,fpuyrtry,evgm,crcva,crynlb,cnefyrl,cnyrezb,zbberurnq,zpunyr,yrgg,xbpure,xvyohea,vtyrfvnf,uhzoyr,uhyoreg,uhpxnol,unegsbeq,uneqvzna,thearl,tevtt,tenffb,tbvatf,svyyzber,sneore,qrcrj,qnaqern,pbjra,pbineehovnf,oheehf,oenpl,neqbva,gubzcxvaf,fgnaqyrl,enqpyvssr,cbuy,crefnhq,cneragrnh,cnoba,arjfba,arjubhfr,ancbyvgnab,zhypnul,znynir,xrvz,ubbgra,ureanaqrf,urssreana,urnear,terrayrns,tyvpx,shuezna,srggre,snevn,qvfuzna,qvpxrafba,pevgrf,pevff,pynccre,puranhyg,pnfgbe,pnfgb,ohtt,obir,obaarl,naqregba,nyytbbq,nyqrefba,jbbqzna,jneevpx,gbbzrl,gbbyrl,gneenag,fhzzreivyyr,fgroovaf,fbxby,frneyrf,fpuhgm,fpuhznaa,fpurre,erzvyyneq,encre,cebhyk,cnyzber,zbaebl,zrffvre,zryb,zrynafba,znfuohea,znamnab,yhffvre,wraxf,uharlphgg,unegjvt,tevzfyrl,shyx,svryqvat,svqyre,ratfgebz,ryqerq,qnagmyre,penaqryy,pnyqre,oehzyrl,oergba,oenaa,oenzyrgg,oblxvaf,ovnapb,onapebsg,nyznenm,nypnagne,juvgzre,juvgrare,jrygba,ivarlneq,enua,cndhva,zvmryy,zpzvyyva,zpxrna,znefgba,znpvry,yhaqdhvfg,yvttvaf,ynzcxva,xenam,xbfxv,xvexunz,wvzvarm,unmmneq,uneebq,tenmvnab,tenzzre,traqeba,tneevqb,sbequnz,ratyreg,qelqra,qrzbff,qryhan,penoo,pbzrnh,oehzzrgg,oyhzr,oranyyl,jrffry,inaohfxvex,gubefba,fghzcs,fgbpxjryy,ernzf,enqgxr,enpxyrl,crygba,avrzv,arjynaq,aryfra,zbeevffrggr,zvenzbagrf,zptvayrl,zppyhfxrl,znepunag,yhrinab,ynzcr,ynvy,wrsspbng,vasnagr,uvazna,tnban,rnql,qrfznenvf,qrpbfgn,qnafol,pvfpb,pubr,oerpxraevqtr,obfgjvpx,obet,ovnapuv,nyoregf,jvyxvr,jubegba,inetb,gnvg,fbhpl,fpuhzna,bhfyrl,zhzsbeq,yvccreg,yrngu,yniretar,ynyvoregr,xvexfrl,xraare,wbuafra,vmmb,uvyrf,thyyrgg,terrajryy,tnfcne,tnyoerngu,tnvgna,revpfba,qryncnm,pebbz,pbggvatunz,pyvsg,ohfuaryy,ovpr,ornfba,neebjbbq,jnevat,ibbeurrf,gehnk,fuerir,fubpxrl,fpungm,fnaqvsre,ehovab,ebmvre,ebfroreel,cvrcre,crqra,arfgre,anir,zhecurl,znyvabjfxv,znptertbe,ynsenapr,xhaxyr,xvexzna,uvcc,unfgl,unqqvk,treinvf,treqrf,tnznpur,sbhgf,svgmjngre,qvyyvatunz,qrzvat,qrnaqn,prqrab,pnaanql,ohefba,obhyqva,neprarnhk,jbbqubhfr,juvgsbeq,jrfpbgg,jrygl,jrvtry,gbetrefba,gbzf,fheore,fhaqreynaq,fgreare,frgmre,evbwnf,chzcuerl,chtn,zrggf,zptneel,zppnaqyrff,zntvyy,yhcb,ybirynaq,yynznf,yrpyrep,xbbaf,xnuyre,uhff,ubyoreg,urvagm,unhcg,tevzzrgg,tnfxvyy,ryyvatfba,qbee,qvatrff,qrjrrfr,qrfvyin,pebffyrl,pbeqrveb,pbairefr,pbaqr,pnyqren,pnveaf,ohezrvfgre,ohexunygre,oenjare,obgg,lbhatf,ivreen,inyynqnerf,fuehz,fuebcfuver,frivyyn,ehfx,ebqnegr,crqenmn,avab,zrevab,zpzvaa,znexyr,zncc,ynwbvr,xbreare,xvggeryy,xngb,ulqre,ubyyvsvryq,urvfre,unmyrgg,terrajnyq,snag,ryqerqtr,qerure,qrynshragr,peniraf,pynlcbby,orrpure,nebafba,nynavf,jbegura,jbwpvx,jvatre,juvgnper,inyireqr,inyqvivn,gebhcr,guebjre,fjvaqryy,fhggyrf,fgebzna,fcverf,fyngr,furnyl,fneire,fnegva,fnqbjfxv,ebaqrnh,ebyba,enfpba,cevqql,cnhyvab,abygr,zhaebr,zbyybl,zpvire,ylxvaf,ybttvaf,yrabve,xybgm,xrzcs,uhcc,ubyybjryy,ubyynaqre,unlavr,unexarff,unexre,tbggyvro,sevgu,rqqvaf,qevfxryy,qbttrgg,qrafzber,punerggr,pnffnql,olehz,ohepunz,ohttf,oraa,juvggrq,jneevatgba,inaqhfra,invyynapbheg,fgrtre,fvroreg,fpbsvryq,dhvex,chefre,cyhzo,bephgg,abeqfgebz,zbfryl,zvpunyfxv,zpcunvy,zpqnivq,zppenj,znepurfr,znaavab,yrsrier,ynetrag,ynamn,xerff,vfunz,uhafnxre,ubpu,uvyqroenaqg,thnevab,tevwnyin,tenlovyy,svpx,rjryy,rjnyq,phfvpx,pehzyrl,pbfgba,pngupneg,pneehguref,ohyyvatgba,objrf,oynva,oynpxsbeq,oneobmn,lvatyvat,jreg,jrvynaq,inetn,fvyirefgrva,fvriref,fuhfgre,fuhzjnl,ehaaryf,ehzfrl,erasebr,cebirapure,cbyyrl,zbuyre,zvqqyroebbxf,xhgm,xbfgre,tebgu,tyvqqra,snmvb,qrra,puvczna,purabjrgu,punzcyva,prqvyyb,pneereb,pnezbql,ohpxyrf,oevra,obhgva,obfpu,orexbjvgm,nygnzvenab,jvysbat,jvrtnaq,jnvgrf,gehrfqnyr,gbhffnvag,gborl,grqqre,fgrryzna,fvebvf,fpuaryy,ebovpunhq,evpuohet,cyhzyrl,cvmneeb,cvrepl,begrtb,boret,arnpr,zregm,zparj,znggn,yncc,ynve,xvoyre,ubjyrgg,ubyyvfgre,ubsre,unggra,untyre,snytbhfg,ratryuneqg,roreyr,qbzoebjfxv,qvafzber,qnlr,pnfnerf,oenhq,onypu,nhgerl,jraqry,glaqnyy,fgebory,fgbygm,fcvaryyv,freengb,erore,enguobar,cnybzvab,avpxryf,znlyr,znguref,znpu,ybrssyre,yvggeryy,yrivafba,yrbat,yrzver,yrwrhar,ynmb,ynfyrl,xbyyre,xraaneq,ubryfpure,uvagm,untrezna,ternirf,sber,rhql,ratyre,pbeenyrf,pbeqrf,oeharg,ovqjryy,oraarg,gleeryy,gunecr,fjvagba,fgevoyvat,fbhgujbegu,fvfarebf,fnibvr,fnzbaf,ehinypnon,evrf,enzre,bznen,zbfdhrqn,zvyyne,zpcrnx,znpbzore,yhpxrl,yvggba,yrue,yniva,uhoof,ubneq,uvoof,untnaf,shgeryy,rkhz,rirafba,phyyre,pneonhtu,pnyyra,oenfurne,oybbzre,oynxrarl,ovtyre,nqqvatgba,jbbqsbeq,haehu,gbyragvab,fhzenyy,fgtreznva,fzbpx,furere,enlare,cbbyre,bdhvaa,areb,zptybguyva,yvaqra,xbjny,xreevtna,voenuvz,uneiryy,unaenuna,tbbqnyy,trvfg,shffryy,shat,srerorr,ryrl,rttreg,qbefrgg,qvatzna,qrfgrsnab,pbyhppv,pyrzzre,ohearyy,oehzonhtu,obqqvr,oreeluvyy,niryne,nypnagnen,jvaqre,jvapuryy,inaqraoret,gebgzna,guheore,guvornhyg,fgybhvf,fgvyjryy,fcreyvat,fungghpx,fnezvragb,ehccreg,ehzcu,eranhq,enaqnmmb,enqrznpure,dhvyrf,crnezna,cnybzb,zrephevb,ybjerl,yvaqrzna,ynjybe,ynebfn,ynaqre,ynoerpdhr,ubivf,ubyvsvryq,uraavatre,unjxrf,unegsvryq,unaa,unthr,trabirfr,tneevpx,shqtr,sevax,rqqvatf,qvau,pevoof,pnyivyyb,ohagba,oebqrhe,obyqvat,oynaqvat,ntbfgb,mnua,jvrare,gehffryy,gryyb,grvkrven,fcrpx,funezn,funaxyva,frnyl,fpnayna,fnagnznevn,ebhaql,ebovpunhk,evatre,evtarl,ceribfg,cbyfba,abeq,zbkyrl,zrqsbeq,zppnfyva,zpneqyr,znpneguhe,yrjva,ynfure,xrgpunz,xrvfre,urvar,unpxjbegu,tebfr,tevmmyr,tvyyzna,tnegare,senmrr,syrhel,rqfba,rqzbafba,qreel,pebax,pbanag,oheerff,ohetva,oebbz,oebpxvatgba,obyvpx,obtre,ovepusvryq,ovyyvatgba,onvyl,onuran,nezoehfgre,nafba,lbub,jvypure,gvaarl,gvzoreynxr,guvryra,fhgcuva,fghygm,fvxben,freen,fpuhyzna,fpurssyre,fnagvyyna,ertb,cerpvnqb,cvaxunz,zvpxyr,ybznf,yvmbggr,yrag,xryyrezna,xrvy,wbunafba,ureanqrm,unegfsvryq,unore,tbefxv,snexnf,roreuneqg,qhdhrggr,qrynab,pebccre,pbmneg,pbpxreunz,punzoyrr,pnegntran,pnubba,ohmmryy,oevfgre,oerjgba,oynpxfurne,orasvryq,nfgba,nfuohea,neehqn,jrgzber,jrvfr,inppneb,ghppv,fhqqhgu,fgebzoret,fgbbcf,fubjnygre,furnef,ehavba,ebjqra,ebfraoyhz,evssyr,erasebj,crerf,boelnag,yrsgjvpu,ynex,ynaqrebf,xvfgyre,xvyybhtu,xreyrl,xnfgare,ubttneq,uneghat,thregva,tbina,tngyvat,tnvyrl,shyyzre,shysbeq,syngg,rfdhvory,raqvpbgg,rqzvfgba,rqryfgrva,qhserfar,qerffyre,qvpxzna,purr,ohffr,obaargg,oreneq,lbfuvqn,iryneqr,irnpu,inaubhgra,inpuba,gbyfba,gbyzna,graalfba,fgvgrf,fbyre,fuhgg,ehttyrf,eubar,crthrf,arrfr,zheb,zbapevrs,zrssbeq,zpcurr,zpzbeevf,zprnpurea,zppyhet,znafbhe,znqre,yrvwn,yrpbzcgr,ynsbhagnva,ynoevr,wndhrm,urnyq,unfu,unegyr,tnvare,sevfol,snevan,rvqfba,rqtregba,qlxr,qheergg,qhuba,phbzb,pbobf,preinagrm,olorr,oebpxjnl,obebjfxv,ovavba,orrel,nethryyb,nzneb,npgba,lhra,jvagba,jvtsnyy,jrrxyrl,ivqevar,inaabl,gneqvss,fubbc,fuvyyvat,fpuvpx,fnssbeq,ceraqretnfg,cvytevz,cryyreva,bfhan,avffra,anyyrl,zbyyre,zrffare,zrffvpx,zreevsvryq,zpthvaarff,zngureyl,znepnab,znubar,yrzbf,yroeha,wnen,ubssre,ureera,urpxre,unjf,unht,tjva,tbore,tvyyvneq,serqrggr,sniryn,rpurireevn,qbjare,qbabsevb,qrfebpuref,pebmvre,pbefba,orpugbyq,nethrgn,ncnevpvb,mnzhqvb,jrfgbire,jrfgrezna,hggre,geblre,guvrf,gncyrl,fyniva,fuvex,fnaqyre,ebbc,evzzre,enlzre,enqpyvss,bggra,zbbere,zvyyrg,zpxvoora,zpphgpura,zpnibl,zpnqbb,znlbetn,znfgva,znegvarnh,znerx,znqber,yrsyber,xebrtre,xraaba,wvzrefba,ubfgrggre,ubeaonpx,uraqyrl,unapr,thneqnqb,tenanqb,tbjra,tbbqnyr,syvaa,syrrgjbbq,svgm,qhexrr,qhcerl,qvcvrgeb,qvyyrl,pylohea,oenjyrl,orpxyrl,nenan,jrngureol,ibyyzre,irfgny,ghaaryy,gevtt,gvatyr,gnxnunfuv,fjrngg,fgbere,fancc,fuvire,ebbxre,enguoha,cbvffba,creevar,creev,cnezre,cnexr,cner,cncn,cnyzvrev,zvqxvss,zrpunz,zppbznf,zpnycvar,ybirynql,yvyyneq,ynyyl,xabcc,xvyr,xvtre,unvyr,thcgn,tbyqforeel,tvyerngu,shyxf,sevrfra,senamra,synpx,svaqynl,sreynaq,qerlre,qber,qraaneq,qrpxneq,qrobfr,pevz,pbhybzor,punaprl,pnagbe,oenagba,ovffryy,oneaf,jbbyneq,jvgunz,jnffrezna,fcvrtry,fubssare,fpubym,ehpu,ebffzna,crgel,cnynpvb,cnrm,arnel,zbegrafba,zvyyfnc,zvryr,zraxr,zpxvz,zpnanyyl,znegvarf,yrzyrl,ynebpuryyr,xynhf,xyngg,xnhsznaa,xncc,uryzre,urqtr,unyybena,tyvffba,serpurggr,sbagnan,rntna,qvfgrsnab,qnayrl,perrxzber,punegvre,punssrr,pnevyyb,ohet,obyvatre,orexyrl,oram,onffb,onfu,mrynln,jbbqevat,jvgxbjfxv,jvyzbg,jvyxraf,jvrynaq,ireqhtb,hedhuneg,gfnv,gvzzf,fjvtre,fjnvz,fhffzna,cverf,zbyane,zpngrr,ybjqre,ybbf,yvaxre,ynaqrf,xvatrel,uhssbeq,uvtn,uraqera,unzznpx,unznaa,tvyynz,treuneqg,rqryzna,qryx,qrnaf,phey,pbafgnagvar,pyrnire,pynne,pnfvnab,pneehgu,pneylyr,oebcul,obynabf,ovoof,orffrggr,orttf,onhture,onegry,nirevyy,naqerfra,nzva,nqnzrf,inyragr,gheaobj,fjvax,fhoyrgg,fgebu,fgevatsryybj,evqtjnl,chtyvrfr,cbgrng,buner,arhonhre,zhepuvfba,zvatb,yrzzbaf,xjba,xryynz,xrna,wnezba,ulqra,uhqnx,ubyyvatre,uraxry,urzvatjnl,unffba,unafry,unygre,unver,tvaforet,tvyyvfcvr,sbtry,sybel,rggre,ryyrqtr,rpxzna,qrnf,pheeva,pensgba,pbbzre,pbygre,pynkgba,ohygre,oenqqbpx,objlre,ovaaf,oryybjf,onfxreivyyr,oneebf,nafyrl,jbbys,jvtug,jnyqzna,jnqyrl,ghyy,gehyy,grfpu,fgbhssre,fgnqyre,fynl,fuhoreg,frqvyyb,fnagnpehm,ervaxr,cblagre,arev,arnyr,zbjel,zbenyrm,zbatre,zvgpuhz,zreelzna,znavba,znpqbhtnyy,yvgpusvryq,yrivgg,yrcntr,ynfnyyr,xubhel,xninantu,xneaf,vivr,uhroare,ubqtxvaf,unycva,tnevpn,rirefbyr,qhgen,qhantna,qhssrl,qvyyzna,qvyyvba,qrivyyr,qrneobea,qnzngb,pbhefba,pbhyfba,oheqvar,obhfdhrg,obava,ovfu,ngrapvb,jrfgoebbxf,jntrf,inpn,gbare,gvyyvf,fjrgg,fgehoyr,fgnasvyy,fbybemnab,fyhfure,fvccyr,fvyinf,fuhygf,fpurkanlqre,fnrm,ebqnf,entre,chyire,cragba,cnavnthn,zrarfrf,zpsneyva,zpnhyrl,zngm,znybl,zntehqre,ybuzna,ynaqn,ynpbzor,wnvzrf,ubymre,ubyfg,urvy,unpxyre,tehaql,tvyxrl,sneaunz,qhesrr,qhagba,qhafgba,qhqn,qrjf,penire,pbeevirnh,pbajryy,pbyryyn,punzoyrff,oerzre,obhggr,obhenffn,oynvfqryy,onpxzna,onovarnhk,nhqrggr,nyyrzna,gbjare,gnirenf,gnenatb,fhyyvaf,fhvgre,fgnyyneq,fbyoret,fpuyhrgre,cbhybf,cvzragny,bjfyrl,bxryyrl,zbssngg,zrgpnysr,zrrxvaf,zrqryyva,zptylaa,zppbjna,zneevbgg,znenoyr,yraabk,ynzbherhk,xbff,xreol,xnec,vfraoret,ubjmr,ubpxraoreel,uvtufzvgu,unyyznex,thfzna,terryrl,tvqqvatf,tnhqrg,tnyyhc,syrrabe,rvpure,rqvatgba,qvznttvb,qrzrag,qrzryyb,qrpnfgeb,ohfuzna,oehaqntr,oebbxre,obhet,oynpxfgbpx,oretznaa,orngba,onavfgre,netb,nccyvat,jbegzna,jnggrefba,ivyynycnaqb,gvyybgfba,gvtur,fhaqoret,fgreaoret,fgnzrl,fuvcr,frrtre,fpneoreel,fnggyre,fnva,ebgufgrva,cbgrrg,cybjzna,crggvsbeq,craynaq,cnegnva,cnaxrl,blyre,btyrgerr,btohea,zbgba,zrexry,yhpvre,ynxrl,xengm,xvafre,xrefunj,wbfrcufba,vzubss,uraqel,unzzba,sevfovr,senjyrl,sentn,sberfgre,rfxrj,rzzreg,qeraana,qblba,qnaqevqtr,pnjyrl,pneinwny,oenprl,oryvfyr,ongrl,nuare,jlfbpxv,jrvfre,iryvm,gvapure,fnafbar,fnaxrl,fnaqfgebz,ebuere,evfare,cevqrzber,csrssre,crefvatre,crrel,bhoer,abjvpxv,zhftenir,zheqbpu,zhyyvank,zppnel,znguvrh,yviratbbq,xlfre,xyvax,xvzrf,xryyare,xninanhtu,xnfgra,vzrf,ubrl,uvafunj,unxr,thehyr,tehor,tevyyb,trgre,tnggb,tneire,tneergfba,snejryy,rvynaq,qhasbeq,qrpneyb,pbefb,pbyzna,pbyyneq,pyrtubea,punfgrra,pniraqre,pneyvyr,pnyib,olreyl,oebtqba,oebnqjngre,oernhyg,obab,oretva,orue,onyyratre,nzvpx,gnzrm,fgvssyre,fgrvaxr,fvzzba,funaxyr,fpunyyre,fnyzbaf,fnpxrgg,fnnq,evqrbhg,engpyvssr,enafba,cynfprapvn,crggrefba,byfmrjfxv,byarl,bythva,avyffba,ariryf,zberyyv,zbagvry,zbatr,zvpunryfba,zregraf,zppurfarl,zpnycva,zngurjfba,ybhqrezvyx,yvaroreel,yvttrgg,xvaynj,xvtug,wbfg,urersbeq,uneqrzna,unycrea,unyyvqnl,unsre,tnhy,sevry,servgnt,sbeforet,rinatryvfgn,qbrevat,qvpneyb,qraql,qryc,qrthmzna,qnzreba,phegvff,pbfcre,pnhgura,oenqoreel,obhgba,obaaryy,ovkol,ovrore,orirevqtr,orqjryy,oneubefg,onaaba,onygnmne,onvre,nlbggr,nggnjnl,neranf,noertb,ghetrba,ghafgnyy,gunkgba,grabevb,fgbggf,fguvynver,furqq,frnobyg,fpnys,fnylref,ehuy,ebjyrgg,ebovargg,csvfgre,creyzna,crcr,cnexzna,ahaanyyl,abeiryy,anccre,zbqyva,zpxryyne,zppyrna,znfpneranf,yrvobjvgm,yrqrmzn,xhuyzna,xbonlnfuv,uhayrl,ubyzdhvfg,uvaxyrl,unmneq,unegfryy,tevooyr,teniryl,svsvryq,ryvnfba,qbnx,pebffynaq,pneyrgba,oevqtrzna,obwbedhrm,obttrff,nhgra,jbbfyrl,juvgryrl,jrkyre,gjbzrl,ghyyvf,gbjayrl,fgnaqevqtr,fnagblb,ehrqn,evraqrnh,eriryy,cyrff,bggvatre,avteb,avpxyrf,zhyirl,zrarsrr,zpfunar,zpybhtuyva,zpxvamvr,znexrl,ybpxevqtr,yvcfrl,xavfyrl,xarccre,xvggf,xvry,wvaxf,ungupbpx,tbqva,tnyyrtb,svxrf,srpgrnh,rfgnoebbx,ryyvatre,qhaybc,qhqrx,pbhagelzna,punhiva,pungunz,ohyyvaf,oebjasvryq,obhtugba,oybbqjbegu,ovoo,onhpbz,oneovrev,nhova,nezvgntr,nyrffv,nofure,noongr,mvgb,jbbyrel,jvttf,jnpxre,glarf,gbyyr,gryyrf,gnegre,fjnerl,fgebqr,fgbpxqnyr,fgnyanxre,fcvan,fpuvss,fnnev,evfyrl,enzrevm,enxrf,crggnjnl,craare,cnhyhf,cnyynqvab,bzrnen,zbagrybatb,zryavpx,zrugn,zptnel,zppbheg,zppbyybhtu,znepurggv,znamnanerf,ybjgure,yrvin,ynhqreqnyr,ynsbagnvar,xbjnypmlx,xavtugba,wbhoreg,wnjbefxv,uhgu,uheqyr,ubhfyrl,unpxzna,thyvpx,tbeql,tvyfgenc,truexr,trouneg,tnhqrggr,sbkjbegu,raqerf,qhaxyr,pvzvab,pnqqryy,oenhre,oenyrl,obqvar,oynpxzber,oryqra,onpxre,nlre,naqerff,jvfare,ihbat,inyyvrer,gjvtt,gninerm,fgenuna,fgrvo,fgnho,fbjqre,frvore,fpuhgg,fpunes,fpunqr,ebqevdhrf,evfvatre,erafunj,enuzna,cerfaryy,cvngg,avrzna,arivaf,zpvyjnva,zptnun,zpphyyl,zppbzo,znffratnyr,znprqb,yrfure,xrnefr,wnherthv,uhfgrq,uhqanyy,ubyzoret,uregry,uneqvr,tyvqrjryy,senhfgb,snffrgg,qnyrffnaqeb,qnuytera,pbehz,pbafgnagvab,pbayva,pbydhvgg,pbybzob,pynlpbzo,pneqva,ohyyre,obarl,obpnarten,ovttref,orarqrggb,nenvmn,naqvab,nyova,mbea,jregu,jrvfzna,jnyyrl,inartnf,hyvoneev,gbjr,grqsbeq,grnfyrl,fhggyr,fgrssraf,fgple,fdhver,fvatyrl,fvshragrf,fuhpx,fpuenz,fnff,evrtre,evqraubhe,evpxreg,evpurefba,enlobea,enor,enno,craqyrl,cnfgber,beqjnl,zblavuna,zryybgg,zpxvffvpx,zptnaa,zppernql,znharl,zneehsb,yrauneg,ynmne,ynsnir,xrryr,xnhgm,wneqvar,wnuaxr,wnpbob,ubeq,uneqpnfgyr,untrzna,tvtyvb,truevat,sbegfba,qhdhr,qhcyrffvf,qvpxra,qrebfvre,qrvgm,qnyrffvb,penz,pnfgyrzna,pnaqrynevb,pnyyvfba,pnprerf,obmnegu,ovyrf,orwnenab,onfunj,nivan,nezragebhg,nyirerm,npbeq,jngreubhfr,irerra,inaynaqvatunz,fgenjfre,fubgjryy,frirenapr,frygmre,fpubbaznxre,fpubpx,fpunho,fpunssare,ebrqre,ebqevtrm,evssr,enforeel,enapbheg,envyrl,dhnqr,chefyrl,cebhgl,creqbzb,bkyrl,bfgrezna,avpxraf,zhecuerr,zbhagf,zrevqn,znhf,znggrea,znffr,znegvaryyv,znatna,yhgrf,yhqjvpx,ybarl,ynhernab,ynfngre,xavtugra,xvffvatre,xvzfrl,xrffvatre,ubarn,ubyyvatfurnq,ubpxrgg,urlre,ureba,theebyn,tbir,tynffpbpx,tvyyrgg,tnyna,srngurefgbar,rpxuneqg,qheba,qhafba,qnfure,phyoergu,pbjqra,pbjnaf,pynlcbbyr,puhepujryy,punobg,pnivarff,pngre,pnfgba,pnyyna,olvatgba,ohexrl,obqra,orpxsbeq,ngjngre,nepunzonhyg,nyirl,nyfhc,juvfranag,jrrfr,iblyrf,ireerg,gfnat,grffvre,fjrvgmre,furejva,funhtuarffl,erivf,erzl,cevar,cuvycbgg,crnil,cnlagre,cnezragre,binyyr,bsshgg,avtugvatnyr,arjyva,anxnab,zlngg,zhgu,zbuna,zpzvyyba,zppneyrl,zppnyro,znkfba,znevaryyv,znyrl,yvfgba,yrgraqer,xnva,uhagfzna,uvefg,untregl,thyyrqtr,terrajnl,tenwrqn,tbegba,tbvarf,tvggraf,serqrevpxfba,snaryyv,rzoerr,rvpuryoretre,qhaxva,qvkfba,qvyybj,qrsryvpr,puhzyrl,oheyrvtu,obexbjfxv,ovarggr,ovttrefgnss,oretyhaq,oryyre,nhqrg,neohpxyr,nyynva,nysnab,lbhatzna,jvggzna,jrvagenho,inamnag,inqra,gjvggl,fgbyyvatf,fgnaqvsre,fvarf,fubcr,fpnyvfr,fnivyyr,cbfnqn,cvfnab,bggr,abynfpb,zvre,zrexyr,zraqvbyn,zrypure,zrwvnf,zpzheel,zppnyyn,znexbjvgm,znavf,znyyrggr,znpsneynar,ybhtu,ybbcre,ynaqva,xvggyr,xvafryyn,xvaaneq,uboneg,uryzna,uryyzna,unegfbpx,unysbeq,untr,tbeqna,tynffre,tnlgba,tnggvf,tnfgryhz,tnfcneq,sevfpu,svgmuhtu,rpxfgrva,roreyl,qbjqra,qrfcnva,pehzcyre,pebggl,pbearyvfba,pubhvaneq,punzarff,pngyva,pnaa,ohztneqare,ohqqr,oenahz,oenqsvryq,oenqql,obefg,oveqjryy,onmna,onanf,onqr,nenatb,nurnea,nqqvf,mhzjnyg,jhegu,jvyx,jvqrare,jntfgnss,heehgvn,grejvyyvtre,gneg,fgrvazna,fgnngf,fybng,evirf,evttyr,eriryf,ervpuneq,cevpxrgg,cbss,cvgmre,crgeb,cryy,abeguehc,avpxf,zbyvar,zvryxr,znlabe,znyyba,zntarff,yvatyr,yvaqryy,yvro,yrfxb,yrornh,ynzzref,ynsbaq,xvreana,xrgeba,whenqb,ubyztera,uvyohea,unlnfuv,unfuvzbgb,uneonhtu,thvyybg,tneq,sebruyvpu,srvaoret,snypb,qhsbhe,qerrf,qbarl,qvrc,qrynb,qnirf,qnvy,pebjfba,pbff,pbatqba,pneare,pnzneran,ohggrejbegu,oheyvatnzr,obhssneq,oybpu,ovylrh,onegn,onxxr,onvyynetrba,nirag,ndhvyne,mrevathr,lneore,jbysfba,ibtyre,ibryxre,gehff,gebkryy,guevsg,fgebhfr,fcvryzna,fvfgehax,frivtal,fpuhyyre,fpunns,ehssare,ebhgu,ebfrzna,evppvneqv,crenmn,crtenz,bireghes,bynaqre,bqnavry,zvyyare,zrypube,znebarl,znpuhpn,znpnyhfb,yvirfnl,ynlsvryq,ynfxbjfxv,xjvngxbjfxv,xvyol,ubirl,urljbbq,unlzna,unineq,uneivyyr,unvtu,untbbq,tevrpb,tynffzna,trouneqg,syrvfpure,snaa,ryfba,rppyrf,phaun,pehzo,oynxyrl,oneqjryy,nofuver,jbbqunz,jvarf,jrygre,jnetb,ineanqb,ghgg,genlabe,fjnarl,fgevpxre,fgbssry,fgnzonhtu,fvpxyre,funpxyrsbeq,fryzna,frnire,fnafbz,fnazvthry,eblfgba,ebhexr,ebpxrgg,evbhk,chyrb,cvgpusbeq,aneqv,zhyinarl,zvqqnhtu,znyrx,yrbf,ynguna,xhwnjn,xvzoeb,xvyyroerj,ubhyvuna,uvapxyrl,urebq,urcyre,unzare,unzzry,unyybjryy,tbafnyrm,tvatrevpu,tnzovyy,shaxubhfre,sevpxr,srjryy,snyxare,raqfyrl,qhyva,qeraara,qrnire,qnzoebfvb,punqjryy,pnfgnaba,ohexrf,oehar,oevfpb,oevaxre,objxre,obyqg,oreare,ornhzbag,ornveq,onmrzber,oneevpx,nyonab,lbhagf,jhaqreyvpu,jrvqzna,inaarff,gbynaq,gurbonyq,fgvpxyre,fgrvtre,fgnatre,fcvrf,fcrpgbe,fbyynef,fzrqyrl,frvory,fpbivyyr,fnvgb,ehzzry,ebjyrf,ebhyrnh,ebbf,ebtna,ebrzre,ernz,enln,chexrl,cevrfgre,creerven,cravpx,cnhyva,cnexvaf,birepnfu,byrfba,arirf,zhyqebj,zvaneq,zvqtrgg,zvpunynx,zrytne,zpragver,zpnhyvssr,znegr,ylqba,yvaqubyz,yrlon,ynatriva,yntnffr,ynsnlrggr,xrfyre,xrygba,xnzvafxl,wnttref,uhzoreg,uhpx,ubjnegu,uvaevpuf,uvtyrl,thcgba,thvzbaq,tenibvf,tvthrer,sergjryy,sbagrf,srryrl,snhpure,rvpuubea,rpxre,rnec,qbyr,qvatre,qreeloreel,qrznef,qrry,pbcraunire,pbyyvafjbegu,pbynatryb,pyblq,pynvobear,pnhysvryq,pneyfra,pnymnqn,pnssrl,oebnqhf,oeraarzna,obhvr,obqane,oynarl,oynap,orygm,oruyvat,onenuban,lbpxrl,jvaxyr,jvaqbz,jvzre,ivyyngbeb,gerkyre,grena,gnyvnsreeb,flqabe,fjvafba,faryyvat,fzgvu,fvzbagba,fvzbarnhk,fvzbarnh,fureere,frnirl,fpurry,ehfugba,ehcr,ehnab,evccl,ervare,ervss,enovabjvgm,dhnpu,crayrl,bqyr,abpx,zvaavpu,zpxbja,zppneire,zpnaqerj,ybatyrl,ynhk,ynzbgur,ynseravrer,xebcc,xevpx,xngrf,wrcfba,uhvr,ubjfr,ubjvr,uraevdhrf,unlqba,unhtug,unggre,unegmbt,unexrl,tevznyqb,tbfubea,tbezyrl,tyhpx,tvyebl,tvyyrajngre,tvssva,syhxre,srqre,rler,rfuryzna,rnxvaf,qrgjvyre,qryebfnevb,qnivffba,pngnyna,pnaavat,pnygba,oenzzre,obgryub,oynxarl,onegryy,nirergg,nfxvaf,nxre,jvgzre,jvaxryzna,jvqzre,juvggvre,jrvgmry,jneqryy,jntref,hyyzna,ghccre,gvatyrl,gvytuzna,gnygba,fvzneq,frqn,fpuryyre,fnyn,ehaqryy,ebfg,evorveb,enovqrnh,cevzz,cvaba,crneg,bfgebz,bore,alfgebz,ahffonhz,anhtugba,zhee,zbbeurnq,zbagv,zbagrveb,zryfba,zrvffare,zpyva,zptehqre,znebggn,znxbjfxv,znwrjfxv,znqrjryy,yhag,yhxraf,yrvavatre,yrory,ynxva,xrcyre,wndhrf,uhaavphgg,uhatresbeq,ubbcrf,uregm,urvaf,unyyvohegba,tebffb,tenivgg,tynfcre,tnyyzna,tnyynjnl,shaxr,shyoevtug,snytbhg,rnxva,qbfgvr,qbenqb,qrjoreel,qrebfr,phgfunyy,penzcgba,pbfgnamb,pbyyrggv,pybavatre,pynlgbe,puvnat,pnzcntan,oheq,oebxnj,oebnqqhf,oergm,oenvaneq,ovasbeq,ovyoerl,nycreg,nvgxra,nuyref,mnwnp,jbbysbyx,jvggra,jvaqyr,jnlynaq,genzry,gvggyr,gnyniren,fhgre,fgenyrl,fcrpug,fbzzreivyyr,fbybzna,fxrraf,fvtzna,fvoreg,funiref,fpuhpx,fpuzvg,fnegnva,fnoby,ebfraoyngg,ebyyb,enfuvq,enoo,cbyfgba,aloret,abeguebc,anineen,zhyqbba,zvxrfryy,zpqbhtnyq,zpohearl,znevfpny,ybmvre,yvatresryg,yrtrer,yngbhe,ynthanf,ynpbhe,xhegu,xvyyra,xvryl,xnlfre,xnuyr,vfyrl,uhregnf,ubjre,uvam,unhtu,thzz,tnyvpvn,sbeghangb,synxr,qhayrnil,qhttvaf,qbol,qvtvbinaav,qrinarl,qrygbeb,pevoo,pbechm,pbebary,pbra,puneobaarnh,pnvar,ohepurggr,oynxrl,oynxrzber,oretdhvfg,orrar,ornhqrggr,onlyrf,onyynapr,onxxre,onvyrf,nforeel,nejbbq,mhpxre,jvyyzna,juvgrfryy,jnyq,jnypbgg,inapyrnir,gehzc,fgenffre,fvznf,fuvpx,fpuyrvpure,fpunny,fnyru,ebgm,erfavpx,envare,cnegrr,byyvf,byyre,bqnl,abyrf,zhaqnl,zbat,zvyyvpna,zrejva,znmmbyn,znafryy,zntnyynarf,yynarf,yrjryyra,yrcber,xvfare,xrrfrr,wrnaybhvf,vatunz,ubeaorpx,unja,unegm,uneore,unssare,thgfunyy,thgu,tenlf,tbjna,svaynl,svaxryfgrva,rlyre,raybr,qhatna,qvrm,qrnezna,phyy,pebffba,puebavfgre,pnffvgl,pnzcvba,pnyyvuna,ohgm,oernmrnyr,oyhzraguny,orexrl,onggl,onggba,neivmh,nyqrergr,nyqnan,nyonhtu,noreargul,jbygre,jvyyr,gjrrq,gbyyrsfba,gubznffba,grgre,grfgrezna,fcebhy,fcngrf,fbhgujvpx,fbhxhc,fxryyl,fragre,frnyrl,fnjvpxv,fnetrnag,ebffvgre,ebfrzbaq,ercc,cvsre,bezfol,avpxryfba,anhznaa,zbenovgb,zbamba,zvyyfncf,zvyyra,zpryengu,znepbhk,znagbbgu,znqfba,znparvy,znpxvaaba,ybhdhr,yrvfgre,ynzcyrl,xhfuare,xebhfr,xvejna,wrffrr,wnafba,wnua,wnpdhrm,vfynf,uhgg,ubyynqnl,uvyylre,urcohea,urafry,uneebyq,tvatevpu,trvf,tnyrf,shygf,svaaryy,sreev,srngurefgba,rcyrl,rorefbyr,rnzrf,qhavtna,qelr,qvfzhxr,qrinhtua,qryberamb,qnzvnab,pbasre,pbyyhz,pybjre,pybj,pynhffra,pynpx,pnlybe,pnjguba,pnfvnf,pneerab,oyhuz,ovatnzna,orjyrl,oryrj,orpxare,nhyq,nzrl,jbysraonetre,jvyxrl,jvpxyhaq,jnygzna,ivyynyon,inyreb,inyqbivabf,hyyevpu,glhf,gjlzna,gebfg,gneqvs,gnathnl,fgevcyvat,fgrvaonpu,fuhzcreg,fnfnxv,fnccvatgba,fnaqhfxl,ervaubyq,ervareg,dhvwnab,cynprapvn,cvaxneq,cuvaarl,creebggn,crearyy,cneergg,bkraqvar,bjrafol,bezna,ahab,zbev,zpeboregf,zparrfr,zpxnzrl,zpphyyhz,znexry,zneqvf,znvarf,yhrpx,yhova,yrsyre,yrssyre,ynevbf,ynoneoren,xrefuare,wbfrl,wrnaoncgvfgr,vmnthveer,urezbfvyyb,univynaq,unegfubea,unsare,tvagre,trggl,senapx,svfxr,qhserar,qbbql,qnivr,qnatresvryq,qnuyoret,phguoregfba,pebar,pbssryg,puvqrfgre,purffba,pnhyrl,pnhqryy,pnagnen,pnzcb,pnvarf,ohyyvf,ohppv,oebpuh,obtneq,ovpxrefgnss,oraavat,nembyn,nagbaryyv,nqxvafba,mryyref,jhys,jbefyrl,jbbyevqtr,juvggba,jrfgresvryq,jnypmnx,inffne,gehrgg,gehroybbq,genjvpx,gbjafyrl,gbccvat,gbone,grysbeq,fgrirefba,fgntt,fvggba,fvyy,fretrag,fpubrasryq,fnenovn,ehgxbjfxv,ehorafgrva,evtqba,ceragvff,cbzreyrnh,cyhzyrr,cuvyoevpx,cngabqr,bybhtuyva,boertba,ahff,zberyy,zvxryy,zryr,zpvarearl,zpthvtna,zpoenlre,ybyyne,xhruy,xvamre,xnzc,wbcyva,wnpbov,ubjryyf,ubyfgrva,urqqra,unffyre,unegl,unyyr,tervt,tbhtr,tbbqehz,treuneg,trvre,trqqrf,tnfg,sberunaq,sreerr,sraqyrl,srygare,rfdhrqn,rapneanpvba,rvpuyre,rttre,rqzhaqfba,rngzba,qbhq,qbabubr,qbaryfba,qvyberamb,qvtvnpbzb,qvttvaf,qrybmvre,qrwbat,qnasbeq,pevccra,pbccntr,pbtfjryy,pyneql,pvbssv,pnor,oeharggr,oerfanuna,oybzdhvfg,oynpxfgbar,ovyyre,orivf,orina,orguhar,oraobj,ongl,onfvatre,onypbz,naqrf,nzna,nthreb,nqxvffba,lnaqryy,jvyqf,juvfrauhag,jrvtnaq,jrrqra,ibvtug,ivyyne,gebggvre,gvyyrgg,fhnmb,frgfre,fpheel,fpuhu,fpuerpx,fpunhre,fnzben,ebnar,evaxre,ervzref,engpusbeq,cbcbivpu,cnexva,angny,zryivyyr,zpoelqr,zntqnyrab,ybrue,ybpxzna,yvatb,yrqhp,ynebppn,ynzrer,ynpynve,xenyy,xbegr,xbtre,wnyoreg,uhtuf,uvtorr,uragba,urnarl,unvgu,thzc,terrfba,tbbqybr,tubyfgba,tnfcre,tntyvneqv,sertbfb,sneguvat,snoevmvb,rafbe,ryfjvpx,rytva,rxyhaq,rnqql,qebhva,qbegba,qvmba,qrebhra,qrureeren,qnil,qnzcvre,phyyhz,phyyrl,pbjtvyy,pneqbfb,pneqvanyr,oebqfxl,oebnqorag,oevzzre,oevprab,oenafphz,obylneq,obyrl,oraavatgba,ornqyr,onhe,onyyragvar,nmher,nhygzna,nepvavrtn,nthvyn,nprirf,lrcrm,jbbqehz,jrguvatgba,jrvffzna,irybm,gehfgl,gebhc,genzzry,gnecyrl,fgviref,fgrpx,fcenloreel,fcenttvaf,fcvgyre,fcvref,fbua,frntenirf,fpuvsszna,ehqavpx,evmb,evppvb,eraavr,dhnpxraohfu,chzn,cybgg,crnepl,cnenqn,cnvm,zhasbeq,zbfxbjvgm,zrnfr,zpanel,zpphfxre,ybmbln,ybatzver,ybrfpu,ynfxl,xhuyznaa,xevrt,xbmvby,xbjnyrjfxv,xbaenq,xvaqyr,wbjref,wbyva,wnpb,ubetna,uvar,uvyrzna,urcare,urvfr,urnql,unjxvafba,unaavtna,unorezna,thvysbeq,tevznyqv,tnegba,tntyvnab,sehtr,sbyyrgg,svfphf,sreerggv,roare,rnfgreqnl,rnarf,qvexf,qvznepb,qrcnyzn,qrsberfg,pehpr,penvturnq,puevfgare,pnaqyre,pnqjryy,ohepuryy,ohrggare,oevagba,oenmvre,oenaara,oenzr,obin,obzne,oynxrfyrr,oryxanc,onatf,onymre,ngurl,nezrf,nyivf,nyirefba,nyineqb,lrhat,jurrybpx,jrfgyhaq,jrffryf,ibyxzna,guernqtvyy,guryra,gnthr,flzbaf,fjvasbeq,fghegrinag,fgenxn,fgvre,fgntare,frtneen,frnjevtug,ehgna,ebhk,evatyre,evxre,enzfqryy,dhnggyronhz,chevsbl,cbhyfba,crezragre,crybdhva,cnfyrl,cntry,bfzna,bonaaba,altnneq,arjpbzre,zhabf,zbggn,zrnqbef,zpdhvfgba,zpavry,zpznaa,zppenr,znlar,znggr,yrtnhyg,yrpuare,xhpren,xebua,xengmre,xbbczna,wrfxr,ubeebpxf,ubpx,uvooyre,urffba,urefu,uneiva,unyibefra,tevare,tevaqyr,tynqfgbar,tnebsnyb,senzcgba,sbeovf,rqqvatgba,qvbevb,qvathf,qrjne,qrfnyib,phepvb,pernfl,pbegrfr,pbeqbon,pbaanyyl,pyhss,pnfpvb,pnchnab,pnanqnl,pnynoeb,ohffneq,oenlgba,obewn,ovtyrl,neabar,nethryyrf,nphss,mnzneevcn,jbbgba,jvqare,jvqrzna,guerngg,guvryr,grzcyva,grrgref,flaqre,fjvag,fjvpx,fghetrf,fgbtare,fgrqzna,fcengg,fvrtsevrq,furgyre,fphyy,fnivab,fngure,ebgujryy,ebbx,ebar,eurr,dhrirqb,cevirgg,cbhyvbg,cbpur,cvpxry,crgevyyb,cryyrtevav,crnfyrr,cnegybj,bgrl,ahaarel,zberybpx,zberyyb,zrhavre,zrffvatre,zpxvr,zpphoova,zppneeba,yrepu,ynivar,yniregl,ynevivrer,ynzxva,xhtyre,xeby,xvffry,xrrgre,uhooyr,uvpxbk,urgmry,unlare,untl,unqybpx,tebu,tbggfpunyx,tbbqfryy,tnffnjnl,tneeneq,tnyyvtna,svegu,sraqrefba,srvafgrva,rgvraar,ratyrzna,rzevpx,ryyraqre,qerjf,qbveba,qrtenj,qrrtna,qneg,pevffzna,pbee,pbbxfba,pbvy,pyrnirf,punerfg,punccyr,puncneeb,pnfgnab,pnecvb,olre,ohssbeq,oevqtrjngre,oevqtref,oenaqrf,obeereb,obanaab,nhor,napurgn,nonepn,nonq,jbbfgre,jvzohfu,jvyyuvgr,jvyynzf,jvtyrl,jrvforet,jneqynj,ivthr,inaubbx,haxabj,gbeer,gnfxre,gneobk,fgenpuna,fybire,funzoyva,frzcyr,fpuhlyre,fpuevzfure,fnlre,fnymzna,ehonypnin,evyrf,erarnh,ervpury,enlsvryq,enoba,clngg,cevaqyr,cbff,cbyvgb,cyrzzbaf,crfpr,creenhyg,crerlen,bfgebjfxv,avyfra,avrzrlre,zhafrl,zhaqryy,zbapnqn,zvpryv,zrnqre,zpznfgref,zpxrruna,zngfhzbgb,zneeba,zneqra,yvmneentn,yvatrasrygre,yrjnyyra,ynatna,ynznaan,xbinp,xvafyre,xrcuneg,xrbja,xnff,xnzzrere,wrsserlf,ulfryy,ubfzre,uneqargg,unaare,thlrggr,terravat,tynmre,tvaqre,sebzz,syhryyra,svaxyr,srffyre,rffnel,rvfryr,qhera,qvggzre,pebpurg,pbfragvab,pbtna,pbryub,pniva,pneevmnyrf,pnzchmnab,oebhtu,obcc,obbxzna,oboo,oybhva,orrfyrl,onggvfgn,onfpbz,onxxra,onqtrgg,nearfba,nafryzb,nyovab,nuhznqn,jbbqlneq,jbygref,jverzna,jvyyvfba,jnezna,jnyqehc,ibjryy,inagnffry,gjbzoyl,gbbzre,graavfba,grrgf,grqrfpuv,fjnaare,fghgm,fgryyl,furrul,fpurezreubea,fpnyn,fnaqvqtr,fnygref,fnyb,fnrpunb,ebfrobeb,ebyyr,erffyre,eram,eraa,erqsbeq,encbfn,envaobyg,cryserl,beaqbess,barl,abyva,avzzbaf,aneqbar,zluer,zbezna,zrawvine,zptybar,zppnzzba,znkba,znepvnab,znahf,ybjenapr,yberamra,ybaretna,ybyyvf,yvggyrf,yvaqnuy,ynznf,ynpu,xhfgre,xenjpmlx,xahgu,xarpug,xvexraqnyy,xrvgg,xrrire,xnagbe,wneobr,ublr,ubhpuraf,ubygre,ubyfvatre,uvpxbx,uryjvt,urytrfba,unffrgg,uneare,unzzna,unzrf,unqsvryq,tberr,tbyqsneo,tnhtuna,tnhqernh,tnagm,tnyyvba,senql,sbgv,syrfure,sreeva,snhtug,ratenz,qbartna,qrfbhmn,qrtebbg,phgevtug,pebjy,pevare,pbna,pyvaxfpnyrf,purjavat,puniven,pngpuvatf,pneybpx,ohytre,ohraebfgeb,oenzoyrgg,oenpx,obhyjner,obbxbhg,ovgare,oveg,onenabjfxv,onvfqra,nyyzba,npxyva,lbnxhz,jvyobhea,juvfyre,jrvaoretre,jnfure,infdhrf,inamnaqg,inanggn,gebkyre,gbzrf,gvaqyr,gvzf,guebpxzbegba,gunpu,fgcrgre,fgynherag,fgrafba,fcel,fcvgm,fbatre,faniryl,fueblre,fubegevqtr,furax,frivre,frnoebbx,fpeviare,fnygmzna,ebfraoreel,ebpxjbbq,eborfba,ebna,ervfre,enzverf,enore,cbfare,cbcunz,cvbgebjfxv,cvaneq,crgrexva,cryunz,crvssre,crnl,anqyre,zhffb,zvyyrgg,zrfgnf,zptbjra,znedhrf,znenfpb,znaevdhrm,znabf,znve,yvccf,yrvxre,xehzz,xabee,xvafybj,xrffry,xraqevpxf,xryz,vevpx,vpxrf,uheyoheg,ubegn,ubrxfgen,urhre,uryzhgu,urngureyl,unzcfba,untne,untn,terraynj,tenh,tbqorl,tvatenf,tvyyvrf,tvoo,tnlqra,tnhiva,tneebj,sbagnarm,sybevb,svaxr,snfnab,rmmryy,rjref,rirynaq,rpxraebqr,qhpybf,qehzz,qvzzvpx,qrynaprl,qrsnmvb,qnfuvryy,phfnpx,pebjgure,pevttre,penl,pbbyvqtr,pbyqveba,pyrynaq,punysnag,pnffry,pnzver,pnoenyrf,oebbzsvryq,oevggvatunz,oevffba,oevpxrl,oenmvry,oenmryy,oentqba,obhynatre,obzna,obunaana,orrz,oneer,nmne,nfuonhtu,nezvfgrnq,nyznmna,nqnzfxv,mraqrwnf,jvaohea,jvyynvzf,jvyubvg,jrfgoreel,jragmry,jraqyvat,ivffre,inafpbl,inaxvex,inyyrr,gjrrql,gubeaoreel,fjrral,fcenqyvat,fcnab,fzryfre,fuvz,frpuevfg,fpunyy,fpnvsr,ehtt,ebguebpx,ebrfyre,evruy,evqvatf,eraqre,enafqryy,enqxr,cvareb,crgerr,craqretnfg,cryhfb,crpbeneb,cnfpbr,cnarx,bfuveb,anineerggr,zhethvn,zbberf,zboret,zvpunryvf,zpjuvegre,zpfjrrarl,zpdhnqr,zppnl,znhx,znevnav,zneprnh,znaqrivyyr,znrqn,yhaqr,yhqybj,ybro,yvaqb,yvaqrezna,yrirvyyr,yrvgu,ynebpx,ynzoerpug,xhyc,xvafyrl,xvzoreyva,xrfgrefba,ublbf,urysevpu,unaxr,tevfol,tblrggr,tbhirvn,tynmvre,tvyr,treran,tryvanf,tnfnjnl,shapurf,shwvzbgb,sylag,srafxr,sryyref,srue,rfyvatre,rfpnyren,rapvfb,qhyrl,qvggzna,qvarra,qvyyre,qrinhyg,pbyyvatf,pylzre,pybjref,puniref,puneynaq,pnfgberan,pnfgryyb,pnznetb,ohapr,ohyyra,oblrf,obepuref,obepuneqg,oveaonhz,oveqfnyy,ovyyzna,oravgrf,onaxurnq,natr,nzzrezna,nqxvfba,jvartne,jvpxzna,jnee,jneaxr,ivyyrarhir,irnfrl,inffnyyb,inaanggn,inqanvf,gjvyyrl,gbjrel,gbzoyva,gvccrgg,gurvff,gnyxvatgba,gnynznagrf,fjneg,fjnatre,fgervg,fgvarf,fgnoyre,fcheyvat,fbory,fvar,fvzzref,fuvccl,fuvsyrgg,furneva,fnhgre,fnaqreyva,ehfpu,ehaxyr,ehpxzna,ebevr,ebrfpu,evpureg,eruz,enaqry,entva,dhrfraoreel,chragrf,cylyre,cybgxva,cnhtu,bfunhtuarffl,bunyybena,abefjbegul,avrznaa,anqre,zbbersvryq,zbbarlunz,zbqvpn,zvlnzbgb,zvpxry,zronar,zpxvaavr,znmherx,znapvyyn,yhxnf,ybivaf,ybhtuyva,ybgm,yvaqfyrl,yvqqyr,yrina,yrqrezna,yrpynver,ynffrgre,yncbvag,ynzbernhk,ynsbyyrggr,xhovnx,xvegyrl,xrssre,xnpmznerx,ubhfzna,uvref,uvooreg,ureebq,urtnegl,ungubea,terraunj,tensgba,tbirn,shgpu,shefg,senaxb,sbepvre,sbena,syvpxvatre,snvesvryq,rher,rzevpu,rzoerl,rqtvatgba,rpxyhaq,rpxneq,qhenagr,qrlb,qryirppuvb,qnqr,pheerl,perfjryy,pbggevyy,pnfninag,pnegvre,pnetvyr,pncry,pnzznpx,pnysrr,ohefr,oheehff,oehfg,oebhffrnh,oevqjryy,oenngra,obexubyqre,oybbzdhvfg,owbex,onegryg,nzohetrl,lrnel,juvgrsvryq,ivalneq,inainyxraohet,gjvgpuryy,gvzzvaf,gnccre,fgevatunz,fgnepure,fcbggf,fynhtu,fvzbafra,furssre,frdhrven,ebfngv,eulzrf,dhvag,cbyynx,crvepr,cngvyyb,cnexrefba,cnvin,avyfba,ariva,anepvffr,zvggba,zreevnz,zreprq,zrvaref,zpxnva,zpryirra,zporgu,znefqra,znerm,znaxr,znuheva,znoerl,yhcre,xehyy,uhafvpxre,ubeaohpxyr,ubygmpynj,uvaanag,urfgba,urevat,urzrajnl,urtjbbq,urneaf,unygrezna,thvgreerm,tebgr,tenavyyb,tenvatre,tynfpb,tvyqre,tneera,tneybpx,tnerl,selne,serqevpxf,senvmre,sbfurr,sreery,srygl,rirevgg,riraf,rffre,ryxva,roreuneg,qhefb,qhthnl,qevfxvyy,qbfgre,qrjnyy,qrirnh,qrzcf,qrznvb,qryerny,qryrb,qneenu,phzoreongpu,phyorefba,penazre,pbeqyr,pbytna,purfyrl,pninyyb,pnfgryyba,pnfgryyv,pneerenf,pnearyy,pneyhppv,obagentre,oyhzoret,oynfvatnzr,orpgba,negevc,naqhwne,nyxver,nyqre,mhxbjfxv,mhpxrezna,jeboyrjfxv,jevtyrl,jbbqfvqr,jvttvagba,jrfgzna,jrfgtngr,jregf,jnfunz,jneqybj,jnyfre,jnvgref,gnqybpx,fgevatsvryq,fgvzcfba,fgvpxyrl,fgnaqvfu,fcheyva,fcvaqyre,fcryyre,fcnrgu,fbgbznlbe,fyhqre,fuelbpx,furcneqfba,fungyrl,fpnaaryy,fnagvfgrina,ebfare,erfgb,ervauneq,enguohea,cevfpb,cbhyfra,cvaarl,cunerf,craabpx,cnfgenan,bivrqb,bfgyre,anhzna,zhysbeq,zbvfr,zboreyl,zvenony,zrgblre,zrgural,zragmre,zryqehz,zpvaghess,zprylrn,zpqbhtyr,znffneb,yhzcxvaf,ybirqnl,ybstera,yverggr,yrfcrenapr,yrsxbjvgm,yrqtre,ynhmba,ynpuncryyr,xynffra,xrbhtu,xrzcgba,xnryva,wrssbeqf,ufvru,ublre,ubejvgm,ubrsg,uraavt,unfxva,tbheqvar,tbyvtugyl,tvebhneq,shytunz,sevgfpu,serre,senfure,sbhyx,sverfgbar,svberagvab,srqbe,rafyrl,ratyruneg,rryyf,qhacul,qbanubr,qvyrb,qvorarqrggb,qnoebjfxv,pevpx,pbbaebq,pbaqre,pbqqvatgba,puhaa,punchg,prean,pneerveb,pnynuna,oenttf,obheqba,obyyzna,ovggyr,onhqre,oneerenf,nhohpuba,namnybar,nqnzb,mreor,jvyypbk,jrfgoret,jrvxry,jnlzver,iebzna,ivapv,inyyrwbf,gehrfqryy,gebhgg,gebggn,gbyyvfba,gbyrf,gvpurabe,flzbaqf,fheyrf,fgenlre,fgtrbetr,febxn,fbeeragvab,fbynerf,faryfba,fvyirfgev,fvxbefxv,funjire,fpuhznxre,fpubee,fpubbyrl,fpngrf,fnggreyrr,fngpuryy,elzre,ebfryyv,ebovgnvyyr,evrtry,ertvf,ernzrf,cebiramnab,cevrfgyrl,cynvfnapr,crggrl,cnybznerf,abjnxbjfxv,zbarggr,zvalneq,zpynzo,zpubar,zppneebyy,znffba,zntbba,znqql,yhaqva,yvpngn,yrbauneqg,ynaqjrue,xvepure,xvapu,xnecvafxv,wbunaafra,uhffnva,ubhtugnyvat,ubfxvafba,ubyynjnl,ubyrzna,ubotbbq,uvroreg,tbttva,trvffyre,tnqobvf,tnonyqba,syrfuzna,synaavtna,snvezna,rvyref,qlphf,qhazver,qhssvryq,qbjyre,qrybngpu,qrunna,qrrzre,pynlobea,puevfgbssrefb,puvyfba,purfarl,pungsvryq,pneeba,pnanyr,oevtzna,oenafgrggre,obffr,obegba,obane,oveba,oneebfb,nevfcr,mnpunevnf,mnory,lnrtre,jbbysbeq,jurgmry,jrnxyrl,irngpu,inaqrhfra,ghsgf,gebkry,gebpur,genire,gbjafry,gnynevpb,fjvyyrl,fgreergg,fgratre,fcrnxzna,fbjneqf,fbhef,fbhqref,fbhqre,fbyrf,fboref,fabqql,fzvgure,fuhgr,fubns,fununa,fpuhrgm,fpnttf,fnagvav,ebffba,ebyra,ebovqbhk,eragnf,erpvb,cvkyrl,cnjybjfxv,cnjynx,cnhyy,bireorl,berne,byvirev,byqraohet,ahggvat,anhtyr,zbffzna,zvfare,zvynmmb,zvpuryfba,zpragrr,zpphyyne,zpperr,zpnyrre,znmmbar,znaqryy,znanuna,znybgg,znvfbarg,znvyybhk,yhzyrl,ybjevr,ybhivrer,yvcvafxv,yvaqrznaa,yrccreg,yrnfher,ynonetr,xhovx,xavfryl,xarcc,xrajbegul,xraaryyl,xrypu,xnagre,ubhpuva,ubfyrl,ubfyre,ubyyba,ubyyrzna,urvgzna,unttvaf,tjnygarl,tbhyqvat,tbeqra,trenpv,tnguref,sevfba,srntva,snypbare,rfcnqn,reivat,revxfba,rvfraunhre,roryvat,qhetva,qbjqyr,qvajvqqvr,qrypnfgvyyb,qrqevpx,pevzzvaf,pbiryy,pbheablre,pbevn,pbuna,pngnyqb,pnecragvre,pnanf,pnzcn,oebqr,oenfurnef,oynfre,ovpxaryy,orqane,onejvpx,nfprapvb,nygubss,nyzbqbine,nynzb,mvexyr,mnonyn,jbyiregba,jvaroeraare,jrgureryy,jrfgynxr,jrtrare,jrqqvatgba,ghgra,gebfpynve,gerffyre,gurebhk,grfxr,fjvaruneg,fjrafra,fhaqdhvfg,fbhgunyy,fbpun,fvmre,fvyireoret,fubegg,fuvzvmh,fureeneq,funrssre,fpurvq,fpurrgm,fnenivn,fnaare,ehovafgrva,ebmryy,ebzre,eurnhzr,ervfvatre,enaqyrf,chyyhz,crgeryyn,cnlna,abeqva,abepebff,avpbyrggv,avpubyrf,arjobyq,anxntnjn,zbagrvgu,zvyfgrnq,zvyyvare,zryyra,zppneqyr,yvcgnx,yrvgpu,yngvzber,yneevfba,ynaqnh,ynobeqr,xbiny,vmdhvreqb,ulzry,ubfxva,ubygr,ubrsre,unljbegu,unhfzna,uneevyy,uneery,uneqg,thyyl,tebbire,tevaaryy,terrafcna,tenire,tenaqoreel,tbeeryy,tbyqraoret,tbthra,tvyyrynaq,shfba,sryqznaa,rireyl,qlrff,qhaavtna,qbjavr,qbyol,qrngurentr,pbfrl,purrire,prynln,pnire,pnfuvba,pncyvatre,pnafyre,oletr,oehqre,oerhre,oerfyva,oenmrygba,obgxva,obaarnh,obaqhenag,obunana,obthr,obqare,obngare,oyngg,ovpxyrl,oryyvirnh,orvyre,orvre,orpxfgrnq,onpuznaa,ngxva,nygvmre,nyybjnl,nyynver,nyoeb,noeba,mryyzre,lrggre,lryiregba,jvraf,juvqqra,ivenzbagrf,inajbezre,gnenagvab,gnaxfyrl,fhzyva,fgenhpu,fgenat,fgvpr,fcnua,fbfrorr,fvtnyn,fuebhg,frnzba,fpuehz,fpuarpx,fpunagm,ehqql,ebzvt,ebruy,eraavatre,erqvat,cbynx,cbuyzna,cnfvyynf,byqsvryq,byqnxre,bunayba,btvyivr,abeoret,abyrggr,arhsryq,aryyvf,zhzzreg,zhyivuvyy,zhyynarl,zbagryrbar,zraqbapn,zrvfare,zpzhyyna,zppyharl,znggvf,znffratvyy,znaserqv,yhrqgxr,ybhafohel,yvorengber,ynzcurer,ynsbetr,wbheqna,vbevb,vavthrm,vxrqn,uhoyre,ubqtqba,ubpxvat,urnpbpx,unfynz,unenyfba,unafunj,unaahz,unyynz,unqra,tnearf,tneprf,tnzzntr,tnzovab,svaxry,snhprgg,rueuneqg,rttra,qhfrx,qheenag,qhonl,qbarf,qrcnfdhnyr,qryhpvn,qrtenss,qrpnzc,qninybf,phyyvaf,pbaneq,pybhfre,pybagm,pvshragrf,punccry,punssvaf,pryvf,pnejvyr,olenz,oehttrzna,oerffyre,oengujnvgr,oenfsvryq,oenqohea,obbfr,obqvr,oybffre,oregfpu,oreaneqv,oreanor,oratgfba,oneerggr,nfgbetn,nyqnl,nyorr,noenunzfba,lnearyy,jvygfr,jvror,jnthrfcnpx,inffre,hcunz,gherx,genkyre,gbenva,gbznfmrjfxv,gvaava,gvare,gvaqryy,fgleba,fgnuyzna,fgnno,fxvon,furcreq,frvqy,frpbe,fpuhggr,fnasvyvccb,ehqre,ebaqba,ernevpx,cebpgre,cebpunfxn,crggratvyy,cnhyl,arvyfra,anyyl,zhyyrank,zbenab,zrnqf,zpanhtugba,zpzhegel,zpzngu,zpxvafrl,znggurf,znffraohet,zneyne,znetbyvf,znyva,zntnyyba,znpxva,ybirggr,ybhtuena,ybevat,ybatfgerrg,ybvfryyr,yravuna,xhamr,xbrcxr,xrejva,xnyvabjfxv,xntna,vaavf,vaarf,ubygmzna,urvarznaa,unefuzna,unvqre,unnpx,tebaqva,tevffrgg,terranjnyg,tbhql,tbbqyrgg,tbyqfgba,tbxrl,tneqrn,tnynivm,tnssbeq,tnoevryfba,sheybj,sevgpu,sbeqlpr,sbytre,ryvmnyqr,ruyreg,rpxubss,rppyrfgba,rnyrl,qhova,qvrzre,qrfpunzcf,qryncran,qrpvppb,qrobyg,phyyvana,pevggraqba,penfr,pbffrl,pbccbpx,pbbgf,pbylre,pyhpx,punzoreynaq,ohexurnq,ohzchf,ohpuna,obezna,ovexubym,oreneqv,oraqn,oruaxr,onegre,nzrmdhvgn,jbgevat,jvegm,jvatreg,jvrfare,juvgrfvqrf,jrlnag,jnvafpbgg,irarmvn,inearyy,ghffrl,guheybj,gnonerf,fgvire,fgryy,fgnexr,fgnaubcr,fgnarx,fvfyre,fvaabgg,fvpvyvnab,furuna,frycu,frntre,fpheybpx,fpenagba,fnaghppv,fnagnatryb,fnygfzna,ebttr,erggvt,erajvpx,ervql,ervqre,erqsvryq,cerzb,cneragr,cnbyhppv,cnyzdhvfg,buyre,arguregba,zhgpuyre,zbevgn,zvfgerggn,zvaavf,zvqqraqbes,zramry,zraqbfn,zraqryfba,zrnhk,zpfcnqqra,zpdhnvq,zpangg,znavtnhyg,znarl,zntre,yhxrf,ybcerfgv,yvevnab,yrgfba,yrpuhtn,ynmraol,ynhevn,ynevzber,xehcc,xehcn,xbcrp,xvapura,xvsre,xrearl,xreare,xraavfba,xrtyrl,xnepure,whfgvf,wbufba,wryyvfba,wnaxr,uhfxvaf,ubymzna,uvabwbf,ursyrl,ungznxre,unegr,unyybjnl,unyyraorpx,tbbqjla,tynfcvr,trvfr,shyyjbbq,selzna,senxrf,senver,sneere,raybj,ratra,ryymrl,rpxyrf,rneyrf,qhaxyrl,qevaxneq,qervyvat,qenrtre,qvaneqb,qvyyf,qrfebpurf,qrfnagvntb,pheyrr,pehzoyrl,pevgpuybj,pbhel,pbhegevtug,pbssvryq,pyrrx,punecragvre,pneqbar,pncyrf,pnagva,ohagva,ohtorr,oevaxreubss,oenpxva,obheynaq,oynffvatnzr,ornpunz,onaavat,nhthfgr,naqernfra,nznaa,nyzba,nyrwb,nqryzna,nofgba,lretre,jlzre,jbbqoreel,jvaqyrl,juvgrnxre,jrfgsvryq,jrvory,jnaare,jnyqerc,ivyynav,inanefqnyr,hggreonpx,hcqvxr,gevttf,gbcrgr,gbyne,gvtare,gubzf,gnhore,gneiva,gnyyl,fjvarl,fjrngzna,fghqronxre,fgraargg,fgneergg,fgnaaneq,fgnyirl,fbaaraoret,fzvgurl,fvrore,fvpxyrf,fuvanhyg,frtnef,fnatre,fnyzreba,ebgur,evmmv,erfgercb,enyyf,enthfn,dhvebtn,cncrashff,bebcrmn,bxnar,zhqtr,zbmvatb,zbyvaneb,zpivpxre,zptneirl,zpsnyyf,zppenarl,znghf,zntref,yynabf,yvirezber,yvaruna,yrvgare,ynlzba,ynjvat,ynpbhefr,xjbat,xbyyne,xarrynaq,xraargg,xryyrgg,xnatnf,wnamra,uhggre,uhyvat,ubszrvfgre,urjrf,unewb,unovo,thvpr,tehyyba,terttf,tenlre,tenavre,tenoyr,tbjql,tvnaavav,trgpuryy,tnegzna,tneavpn,tnarl,tnyyvzber,srggref,sretrefba,sneybj,snthaqrf,rkyrl,rfgrirf,raqref,rqrasvryq,rnfgrejbbq,qenxrsbeq,qvcnfdhnyr,qrfbhfn,qrfuvryqf,qrrgre,qrqzba,qrobeq,qnhtugrel,phggf,pbhegrznapur,pbhefrl,pbccyr,pbbzrf,pbyyvf,pbtohea,pybcgba,pubdhrggr,punvqrm,pnfgerwba,pnyubba,oheonpu,ohyybpu,ohpuzna,oehua,obuba,oybhtu,onlarf,onefgbj,mrzna,mnpxrel,lneqyrl,lnznfuvgn,jhyss,jvyxra,jvyvnzf,jvpxrefunz,jvoyr,juvcxrl,jrqtrjbegu,jnyzfyrl,jnyxhc,ierrynaq,ireevyy,hznan,genho,fjvatyr,fhzzrl,fgebhcr,fgbpxfgvyy,fgrssrl,fgrsnafxv,fgngyre,fgncc,fcrvtugf,fbynev,fbqreoret,fuhax,fuberl,furjznxre,furvyqf,fpuvssre,fpunax,fpunss,fntref,ebpuba,evfre,evpxrgg,ernyr,entyva,cbyra,cyngn,cvgpbpx,crepviny,cnyra,beban,boreyr,abpren,aninf,anhyg,zhyyvatf,zbagrwnab,zbaerny,zvavpx,zvqqyroebbx,zrrpr,zpzvyyvba,zpphyyra,znhpx,znefuohea,znvyyrg,znunarl,zntare,znpyva,yhprl,yvggreny,yvccvapbgg,yrvgr,yrnxf,ynzneer,whetraf,wrexvaf,wntre,uhejvgm,uhtuyrl,ubgnyvat,ubefgzna,ubuzna,ubpxre,uviryl,uvccf,urffyre,ureznafba,urcjbegu,uryynaq,urqyhaq,unexyrff,unvtyre,thgvrerm,tevaqfgnss,tynagm,tvneqvan,trexra,tnqfqra,svaaregl,sneahz,rapvanf,qenxrf,qraavr,phgyvc,phegfvatre,pbhgb,pbegvanf,pbeol,puvnffba,pneyr,pneonyyb,oevaqyr,obehz,obore,oyntt,oreguvnhzr,ornuz,ongerf,onfavtug,onpxrf,nkgryy,nggreoreel,nyinerf,nyrtevn,jbbqryy,jbwpvrpubjfxv,jvaserr,jvaohfu,jvrfg,jrfare,jnzfyrl,jnxrzna,ireare,gehrk,gensgba,gbzna,gubefra,gurhf,gryyvre,gnyynag,fmrgb,fgebcr,fgvyyf,fvzxvaf,fuhrl,funhy,freiva,frevb,frensva,fnythreb,elrefba,ehqqre,ehnex,ebgure,ebueonhtu,ebueonpu,ebuna,ebtrefba,evfure,errfre,celpr,cebxbc,cevaf,cevror,cerwrna,cvaurveb,crgebar,crgev,crafba,crneyzna,cnevxu,angbyv,zhenxnzv,zhyyvxva,zhyynar,zbgrf,zbeavatfgne,zpirvtu,zptenql,zptnhturl,zppheyrl,znepuna,znafxr,yhfol,yvaqr,yvxraf,yvpba,yrebhk,yrznver,yrtrggr,ynfxrl,yncenqr,yncynag,xbyne,xvggerqtr,xvayrl,xreore,xnantl,wrggba,wnavx,vccbyvgb,vabhlr,uhafvatre,ubjyrl,ubjrel,ubeeryy,ubygunhf,uvare,uvyfba,uvyqreoenaq,unegmyre,uneavfu,unenqn,unafsbeq,unyyvtna,untrqbea,tjlaa,thqvab,terrafgrva,terrne,tenprl,tbhqrnh,tbbqare,tvafohet,tregu,treare,shwvv,sevre,serarggr,sbyzne,syrvfure,syrvfpuznaa,srgmre,rvfrazna,rneuneg,qhchl,qhaxryoretre,qerkyre,qvyyvatre,qvyorpx,qrjnyq,qrzol,qrsbeq,penvar,purfahg,pnfnql,pnefgraf,pneevpx,pnevab,pnevtana,pnapubyn,ohfubat,ohezna,ohbab,oebjaybj,oebnpu,oevggra,oevpxubhfr,oblqra,obhygba,obeynaq,obuere,oyhonhtu,orire,orettera,orarivqrf,nebpub,neraqf,nzrmphn,nyzraqnerm,mnyrjfxv,jvgmry,jvaxsvryq,jvyubvgr,inathaql,inasyrrg,inarggra,inaqretevss,heonafxv,gebvnab,guvobqnhk,fgenhf,fgbarxvat,fgwrna,fgvyyvatf,fgnatr,fcrvpure,fcrrtyr,fzrygmre,fynjfba,fvzzbaqf,fuhggyrjbegu,frecn,fratre,frvqzna,fpujrvtre,fpuybff,fpuvzzry,fpurpugre,fnlyre,fnongvav,ebana,ebqvthrm,evttyrzna,evpuvaf,ernzre,cehagl,cbengu,cyhax,cvynaq,cuvyoebbx,crggvgg,crean,crenyrm,cnfpnyr,cnqhyn,boblyr,aviraf,avpxbyf,zhaqg,zhaqra,zbagvwb,zpznavf,zptenar,zppevzzba,znamv,znatbyq,znyvpx,znune,znqqbpx,ybfrl,yvggra,yrrql,yrniryy,ynqhr,xenua,xyhtr,whaxre,virefra,vzyre,uhegg,uhvmne,uhooreg,ubjvatgba,ubyybzba,ubyqera,ubvfvatgba,urvqra,unhtr,unegvtna,thgveerm,tevssvr,terrauvyy,tenggba,tenangn,tbggsevrq,tregm,tnhgernhk,sheel,sherl,shaqreohet,syvccra,svgmtvooba,qehpxre,qbabtuhr,qvyql,qriref,qrgjrvyre,qrfcerf,qraol,qrtrbetr,phrgb,penafgba,pbheivyyr,pyhxrl,pvevyyb,puviref,pnhqvyyb,ohgren,ohyyhpx,ohpxznfgre,oenhafgrva,oenpnzbagr,obheqrnh,obaarggr".split(","), us_tv_and_film:"lbh,v,gb,gung,vg,zr,jung,guvf,xabj,v'z,ab,unir,zl,qba'g,whfg,abg,qb,or,lbhe,jr,vg'f,fb,ohg,nyy,jryy,bu,nobhg,evtug,lbh'er,trg,urer,bhg,tbvat,yvxr,lrnu,vs,pna,hc,jnag,guvax,gung'f,abj,tb,uvz,ubj,tbg,qvq,jul,frr,pbzr,tbbq,ernyyl,ybbx,jvyy,bxnl,onpx,pna'g,zrna,gryy,v'yy,url,ur'f,pbhyq,qvqa'g,lrf,fbzrguvat,orpnhfr,fnl,gnxr,jnl,yvggyr,znxr,arrq,tbaan,arire,jr'er,gbb,fur'f,v'ir,fher,bhe,fbeel,jung'f,yrg,guvat,znlor,qbja,zna,irel,gurer'f,fubhyq,nalguvat,fnvq,zhpu,nal,rira,bss,cyrnfr,qbvat,gunax,tvir,gubhtug,uryc,gnyx,tbq,fgvyy,jnvg,svaq,abguvat,ntnva,guvatf,yrg'f,qbrfa'g,pnyy,gbyq,terng,orggre,rire,avtug,njnl,oryvrir,srry,rirelguvat,lbh'ir,svar,ynfg,xrrc,qbrf,chg,nebhaq,fgbc,gurl'er,v'q,thl,vfa'g,nyjnlf,yvfgra,jnagrq,thlf,uhu,gubfr,ovt,ybg,unccrarq,gunaxf,jba'g,gelvat,xvaq,jebat,gnyxvat,thrff,pner,onq,zbz,erzrzore,trggvat,jr'yy,gbtrgure,qnq,yrnir,haqrefgnaq,jbhyqa'g,npghnyyl,urne,onol,avpr,sngure,ryfr,fgnl,qbar,jnfa'g,pbhefr,zvtug,zvaq,rirel,rabhtu,gel,uryy,pnzr,fbzrbar,lbh'yy,jubyr,lbhefrys,vqrn,nfx,zhfg,pbzvat,ybbxvat,jbzna,ebbz,xarj,gbavtug,erny,fba,ubcr,jrag,uzz,unccl,cerggl,fnj,tvey,fve,sevraq,nyernql,fnlvat,arkg,wbo,ceboyrz,zvahgr,guvaxvat,unira'g,urneq,ubarl,znggre,zlfrys,pbhyqa'g,rknpgyl,univat,cebonoyl,unccra,jr'ir,uheg,obl,qrnq,tbggn,nybar,rkphfr,fgneg,xvyy,uneq,lbh'q,gbqnl,pne,ernql,jvgubhg,jnagf,ubyq,jnaan,lrg,frra,qrny,bapr,tbar,zbeavat,fhccbfrq,sevraqf,urnq,fghss,jbeel,yvir,gehgu,snpr,sbetrg,gehr,pnhfr,fbba,xabjf,gryyvat,jvsr,jub'f,punapr,eha,zbir,nalbar,crefba,olr,fbzrobql,urneg,zvff,znxvat,zrrg,naljnl,cubar,ernfba,qnza,ybfg,ybbxf,oevat,pnfr,ghea,jvfu,gbzbeebj,xvqf,gehfg,purpx,punatr,nalzber,yrnfg,nera'g,jbexvat,znxrf,gnxvat,zrnaf,oebgure,ungr,ntb,fnlf,ornhgvshy,tnir,snpg,penml,fvg,nsenvq,vzcbegnag,erfg,sha,xvq,jbeq,jngpu,tynq,rirelbar,fvfgre,zvahgrf,rirelobql,ovg,pbhcyr,jubn,rvgure,zef,srryvat,qnhtugre,jbj,trgf,nfxrq,oernx,cebzvfr,qbbe,pybfr,unaq,rnfl,dhrfgvba,gevrq,sne,jnyx,arrqf,zvar,xvyyrq,ubfcvgny,nalobql,nyevtug,jrqqvat,fuhg,noyr,qvr,cresrpg,fgnaq,pbzrf,uvg,jnvgvat,qvaare,shaal,uhfonaq,nyzbfg,cnl,nafjre,pbby,rlrf,arjf,puvyq,fubhyqa'g,lbhef,zbzrag,fyrrc,ernq,jurer'f,fbhaqf,fbaal,cvpx,fbzrgvzrf,orq,qngr,cyna,ubhef,ybfr,unaqf,frevbhf,fuvg,oruvaq,vafvqr,nurnq,jrrx,jbaqreshy,svtug,cnfg,phg,dhvgr,ur'yy,fvpx,vg'yy,rng,abobql,tbrf,fnir,frrzf,svanyyl,yvirf,jbeevrq,hcfrg,pneyl,zrg,oebhtug,frrz,fbeg,fnsr,jrera'g,yrnivat,sebag,fubg,ybirq,nfxvat,ehaavat,pyrne,svther,ubg,sryg,cneragf,qevax,nofbyhgryl,ubj'f,qnqql,fjrrg,nyvir,frafr,zrnag,unccraf,org,oybbq,nva'g,xvqqvat,yvr,zrrgvat,qrne,frrvat,fbhaq,snhyg,gra,ohl,ubhe,fcrnx,ynql,wra,guvaxf,puevfgznf,bhgfvqr,unat,cbffvoyr,jbefr,zvfgnxr,bbu,unaqyr,fcraq,gbgnyyl,tvivat,urer'f,zneevntr,ernyvmr,hayrff,frk,fraq,arrqrq,fpnerq,cvpgher,gnyxrq,nff,uhaqerq,punatrq,pbzcyrgryl,rkcynva,pregnvayl,fvta,oblf,eryngvbafuvc,ybirf,unve,ylvat,pubvpr,naljurer,shgher,jrveq,yhpx,fur'yy,ghearq,gbhpu,xvff,penar,dhrfgvbaf,boivbhfyl,jbaqre,cnva,pnyyvat,fbzrjurer,guebj,fgenvtug,pbyq,snfg,jbeqf,sbbq,abar,qevir,srryvatf,gurl'yy,zneel,qebc,pnaabg,qernz,cebgrpg,gjragl,fhecevfr,fjrrgurneg,cbbe,ybbxrq,znq,rkprcg,tha,l'xabj,qnapr,gnxrf,nccerpvngr,rfcrpvnyyl,fvghngvba,orfvqrf,chyy,unfa'g,jbegu,furevqna,nznmvat,rkcrpg,fjrne,cvrpr,ohfl,unccravat,zbivr,jr'q,pngpu,creuncf,fgrc,snyy,jngpuvat,xrcg,qneyvat,qbt,ubabe,zbivat,gvyy,nqzvg,ceboyrzf,zheqre,ur'q,rivy,qrsvavgryl,srryf,ubarfg,rlr,oebxr,zvffrq,ybatre,qbyynef,gverq,riravat,fgnegvat,ragver,gevc,avyrf,fhccbfr,pnyz,vzntvar,snve,pnhtug,oynzr,fvggvat,snibe,ncnegzrag,greevoyr,pyrna,yrnea,senfvre,erynk,nppvqrag,jnxr,cebir,fzneg,zrffntr,zvffvat,sbetbg,vagrerfgrq,gnoyr,aofc,zbhgu,certanag,evat,pnershy,funyy,qhqr,evqr,svtherq,jrne,fubbg,fgvpx,sbyybj,natel,jevgr,fgbccrq,ena,fgnaqvat,sbetvir,wnvy,jrnevat,ynqvrf,xvaqn,yhapu,pevfgvna,terrayrr,tbggra,ubcvat,cubror,gubhfnaq,evqtr,cncre,gbhtu,gncr,pbhag,oblsevraq,cebhq,nterr,oveguqnl,gurl'ir,funer,bssre,uheel,srrg,jbaqrevat,qrpvfvba,barf,svavfu,ibvpr,urefrys,jbhyq'ir,zrff,qrfreir,rivqrapr,phgr,qerff,vagrerfgvat,ubgry,rawbl,dhvrg,pbaprearq,fgnlvat,orng,fjrrgvr,zragvba,pybgurf,sryy,arvgure,zzz,svk,erfcrpg,cevfba,nggragvba,ubyqvat,pnyyf,fhecevfrq,one,xrrcvat,tvsg,unqa'g,chggvat,qnex,bjr,vpr,urycvat,abezny,nhag,ynjlre,ncneg,cynaf,wnk,tveysevraq,sybbe,jurgure,rirelguvat'f,obk,whqtr,hcfgnvef,fnxr,zbzzl,cbffvoyl,jbefg,npgvat,npprcg,oybj,fgenatr,fnirq,pbairefngvba,cynar,znzn,lrfgreqnl,yvrq,dhvpx,yngryl,fghpx,qvssrerapr,fgber,fur'q,obhtug,qbhog,yvfgravat,jnyxvat,pbcf,qrrc,qnatrebhf,ohssl,fyrrcvat,puybr,ensr,wbva,pneq,pevzr,tragyrzra,jvyyvat,jvaqbj,jnyxrq,thvygl,yvxrf,svtugvat,qvssvphyg,fbhy,wbxr,snibevgr,hapyr,cebzvfrq,obgure,frevbhfyl,pryy,xabjvat,oebxra,nqivpr,fbzrubj,cnvq,ybfvat,chfu,urycrq,xvyyvat,obff,yvxrq,vaabprag,ehyrf,yrnearq,guvegl,evfx,yrggvat,fcrnxvat,evqvphybhf,nsgreabba,ncbybtvmr,areibhf,punetr,cngvrag,obng,ubj'q,uvqr,qrgrpgvir,cynaavat,uhtr,oernxsnfg,ubeevoyr,njshy,cyrnfher,qevivat,unatvat,cvpxrq,fryy,dhvg,nccneragyl,qlvat,abgvpr,pbatenghyngvbaf,ivfvg,pbhyq'ir,p'zba,yrggre,qrpvqr,sbejneq,sbby,fubjrq,fzryy,frrzrq,fcryy,zrzbel,cvpgherf,fybj,frpbaqf,uhatel,urnevat,xvgpura,zn'nz,fubhyq'ir,ernyvmrq,xvpx,teno,qvfphff,svsgl,ernqvat,vqvbg,fhqqrayl,ntrag,qrfgebl,ohpxf,fubrf,crnpr,nezf,qrzba,yviivr,pbafvqre,cncref,vaperqvoyr,jvgpu,qehax,nggbearl,gryyf,xabpx,jnlf,tvirf,abfr,fxlr,gheaf,xrrcf,wrnybhf,qeht,fbbare,pnerf,cyragl,rkgen,bhggn,jrrxraq,znggref,tbfu,bccbeghavgl,vzcbffvoyr,jnfgr,cergraq,whzc,rngvat,cebbs,fyrcg,neerfg,oerngur,cresrpgyl,jnez,chyyrq,gjvpr,rnfvre,tbva,qngvat,fhvg,ebznagvp,qehtf,pbzsbegnoyr,svaqf,purpxrq,qvibepr,ortva,bhefryirf,pybfre,ehva,fzvyr,ynhtu,gerng,srne,jung'q,bgurejvfr,rkpvgrq,znvy,uvqvat,fgbyr,cnprl,abgvprq,sverq,rkpryyrag,oevatvat,obggbz,abgr,fhqqra,onguebbz,ubarfgyl,fvat,sbbg,erzvaq,punetrf,jvgarff,svaqvat,gerr,qner,uneqyl,gung'yy,fgrny,fvyyl,pbagnpg,grnpu,fubc,cyhf,pbybary,serfu,gevny,vaivgrq,ebyy,ernpu,qvegl,pubbfr,rzretrapl,qebccrq,ohgg,perqvg,boivbhf,ybpxrq,ybivat,ahgf,nterrq,cehr,tbbqolr,pbaqvgvba,thneq,shpxva,tebj,pnxr,zbbq,penc,pelvat,orybat,cnegare,gevpx,cerffher,qerffrq,gnfgr,arpx,ahefr,envfr,ybgf,pneel,jubrire,qevaxvat,gurl'q,oernxvat,svyr,ybpx,jvar,fcbg,cnlvat,nffhzr,nfyrrc,gheavat,ivxv,orqebbz,fubjre,avxbynf,pnzren,svyy,ernfbaf,sbegl,ovttre,abcr,oerngu,qbpgbef,cnagf,sernx,zbivrf,sbyxf,pernz,jvyq,gehyl,qrfx,pbaivapr,pyvrag,guerj,uhegf,fcraqvat,nafjref,fuveg,punve,ebhtu,qbva,frrf,bhtug,rzcgl,jvaq,njner,qrnyvat,cnpx,gvtug,uhegvat,thrfg,neerfgrq,fnyrz,pbashfrq,fhetrel,rkcrpgvat,qrnpba,hasbeghangryl,tbqqnza,obggyr,orlbaq,jurarire,cbby,bcvavba,fgnegf,wrex,frpergf,snyyvat,arprffnel,oneryl,qnapvat,grfgf,pbcl,pbhfva,nurz,gjryir,grff,fxva,svsgrra,fcrrpu,beqref,pbzcyvpngrq,abjurer,rfpncr,ovttrfg,erfgnhenag,tengrshy,hfhny,ohea,nqqerff,fbzrcynpr,fperj,rireljurer,erterg,tbbqarff,zvfgnxrf,qrgnvyf,erfcbafvovyvgl,fhfcrpg,pbeare,ureb,qhzo,greevsvp,jubb,ubyr,zrzbevrf,b'pybpx,grrgu,ehvarq,ovgr,fgraorpx,yvne,fubjvat,pneqf,qrfcrengr,frnepu,cngurgvp,fcbxr,fpner,znenu,nssbeq,frggyr,fgnlrq,purpxvat,uverq,urnqf,pbaprea,oyrj,nypnmne,punzcntar,pbaarpgvba,gvpxrgf,unccvarff,fnivat,xvffvat,ungrq,crefbanyyl,fhttrfg,cercnerq,bagb,qbjafgnvef,gvpxrg,vg'q,ybbfr,ubyl,qhgl,pbaivaprq,guebjvat,xvffrq,yrtf,ybhq,fngheqnl,onovrf,jurer'q,jneavat,zvenpyr,pneelvat,oyvaq,htyl,fubccvat,ungrf,fvtug,oevqr,pbng,pyrneyl,pryroengr,oevyyvnag,jnagvat,sbeerfgre,yvcf,phfgbql,fperjrq,ohlvat,gbnfg,gubhtugf,ernyvgl,yrkvr,nggvghqr,nqinagntr,tenaqsngure,fnzv,tenaqzn,fbzrqnl,ebbs,zneelvat,cbjreshy,tebja,tenaqzbgure,snxr,zhfg'ir,vqrnf,rkpvgvat,snzvyvne,obzo,obhg,unezbal,fpurqhyr,pncnoyr,cenpgvpnyyl,pbeerpg,pyhr,sbetbggra,nccbvagzrag,qrfreirf,guerng,oybbql,ybaryl,funzr,wnpxrg,ubbx,fpnel,vairfgvtngvba,vaivgr,fubbgvat,yrffba,pevzvany,ivpgvz,shareny,pbafvqrevat,oheavat,fgeratgu,uneqre,fvfgref,chfurq,fubpx,chfuvat,urng,pubpbyngr,zvfrenoyr,pbevagubf,avtugzner,oevatf,mnaqre,penfu,punaprf,fraqvat,erpbtavmr,urnygul,obevat,srrq,ratntrq,urnqrq,gerngrq,xavsr,qent,onqyl,uver,cnvag,cneqba,orunivbe,pybfrg,jnea,tbetrbhf,zvyx,fheivir,raqf,qhzc,erag,erzrzorerq,gunaxftvivat,enva,eriratr,cersre,fcner,cenl,qvfnccrnerq,nfvqr,fgngrzrag,fbzrgvzr,zrng,snagnfgvp,oernguvat,ynhtuvat,fgbbq,nssnve,bhef,qrcraqf,cebgrpgvat,whel,oenir,svatref,zheqrerq,rkcynangvba,cvpxvat,oynu,fgebatre,unaqfbzr,haoryvrinoyr,nalgvzr,funxr,bnxqnyr,jurerire,chyyvat,snpgf,jnvgrq,ybhfl,pvephzfgnaprf,qvfnccbvagrq,jrnx,gehfgrq,yvprafr,abguva,genfu,haqrefgnaqvat,fyvc,fbhaqrq,njnxr,sevraqfuvc,fgbznpu,jrncba,guerngrarq,zlfgrel,irtnf,haqrefgbbq,onfvpnyyl,fjvgpu,senaxyl,purnc,yvsrgvzr,qral,pybpx,tneontr,jul'q,grne,rnef,vaqrrq,punatvat,fvatvat,gval,qrprag,nibvq,zrffrq,svyyrq,gbhpurq,qvfnccrne,rknpg,cvyyf,xvpxrq,unez,sbeghar,cergraqvat,vafhenapr,snapl,qebir,pnerq,orybatf,avtugf,yberynv,yvsg,gvzvat,thnenagrr,purfg,jbxr,ohearq,jngpurq,urnqvat,frysvfu,qevaxf,qbyy,pbzzvggrq,ryringbe,serrmr,abvfr,jnfgvat,prerzbal,hapbzsbegnoyr,fgnevat,svyrf,ovxr,fgerff,crezvffvba,guebja,cbffvovyvgl,obeebj,snohybhf,qbbef,fpernzvat,obar,knaqre,jung'er,zrny,ncbybtl,natre,ubarlzbba,onvy,cnexvat,svkrq,jnfu,fgbyra,frafvgvir,fgrnyvat,cubgb,pubfr,yrgf,pbzsbeg,jbeelvat,cbpxrg,zngrb,oyrrqvat,fubhyqre,vtaber,gnyrag,gvrq,tnentr,qvrf,qrzbaf,qhzcrq,jvgpurf,ehqr,penpx,obgurevat,enqne,fbsg,zrnagvzr,tvzzr,xvaqf,sngr,pbapragengr,guebng,cebz,zrffntrf,vagraq,nfunzrq,fbzrguva,znantr,thvyg,vagreehcg,thgf,gbathr,fubr,onfrzrag,fragrapr,chefr,tynffrf,pnova,havirefr,ercrng,zveebe,jbhaq,geniref,gnyy,ratntrzrag,gurencl,rzbgvbany,wrrm,qrpvfvbaf,fbhc,guevyyrq,fgnxr,purs,zbirf,rkgerzryl,zbzragf,rkcrafvir,pbhagvat,fubgf,xvqanccrq,pyrnavat,fuvsg,cyngr,vzcerffrq,fzryyf,genccrq,nvqna,xabpxrq,punezvat,nggenpgvir,nethr,chgf,juvc,rzoneenffrq,cnpxntr,uvggvat,ohfg,fgnvef,nynez,cher,anvy,areir,vaperqvoyl,jnyxf,qveg,fgnzc,greevoyl,sevraqyl,qnzarq,wbof,fhssrevat,qvfthfgvat,fgbccvat,qryvire,evqvat,urycf,qvfnfgre,onef,pebffrq,genc,gnyxf,rttf,puvpx,guerngravat,fcbxra,vagebqhpr,pbasrffvba,rzoneenffvat,ontf,vzcerffvba,tngr,erchgngvba,cerfragf,pung,fhssre,nethzrag,gnyxva,pebjq,ubzrjbex,pbvapvqrapr,pnapry,cevqr,fbyir,ubcrshyyl,cbhaqf,cvar,zngr,vyyrtny,trarebhf,bhgsvg,znvq,ongu,chapu,sernxrq,orttvat,erpnyy,rawblvat,cercner,jurry,qrsraq,fvtaf,cnvashy,lbhefryirf,znevf,gung'q,fhfcvpvbhf,pbbxvat,ohggba,jnearq,fvkgl,cvgl,lryyvat,njuvyr,pbasvqrapr,bssrevat,cyrnfrq,cnavp,uref,trggva,ershfr,tenaqcn,grfgvsl,pubvprf,pehry,zragny,tragyrzna,pbzn,phggvat,cebgrhf,thrfgf,rkcreg,orarsvg,snprf,whzcrq,gbvyrg,farnx,unyybjrra,cevinpl,fzbxvat,erzvaqf,gjvaf,fjvat,fbyvq,bcgvbaf,pbzzvgzrag,pehfu,nzohynapr,jnyyrg,tnat,ryrira,bcgvba,ynhaqel,nffher,fgnlf,fxvc,snvy,qvfphffvba,pyvavp,orgenlrq,fgvpxvat,oberq,znafvba,fbqn,furevss,fhvgr,unaqyrq,ohfgrq,ybnq,unccvre,fghqlvat,ebznapr,cebprqher,pbzzvg,nffvtazrag,fhvpvqr,zvaqf,fjvz,lryy,yynaivrj,punfvat,cebcre,oryvrirf,uhzbe,ubcrf,ynjlref,tvnag,yngrfg,rfpncrq,cnerag,gevpxf,vafvfg,qebccvat,purre,zrqvpngvba,syrfu,ebhgvar,fnaqjvpu,unaqrq,snyfr,orngvat,jneenag,njshyyl,bqqf,gerngvat,guva,fhttrfgvat,srire,fjrng,fvyrag,pyrire,fjrngre,znyy,funevat,nffhzvat,whqtzrag,tbbqavtug,qvibeprq,fheryl,fgrcf,pbasrff,zngu,yvfgrarq,pbzva,nafjrerq,ihyarenoyr,oyrff,qernzvat,puvc,mreb,cvffrq,angr,xvyyf,grnef,xarrf,puvyy,oenvaf,hahfhny,cnpxrq,qernzrq,pher,ybbxva,tenir,purngvat,oernxf,ybpxre,tvsgf,njxjneq,guhefqnl,wbxvat,ernfbanoyr,qbmra,phefr,dhnegreznvar,zvyyvbaf,qrffreg,ebyyvat,qrgnvy,nyvra,qryvpvbhf,pybfvat,inzcverf,jber,gnvy,frpher,fnynq,zheqrere,fcvg,bssrafr,qhfg,pbafpvrapr,oernq,nafjrevat,ynzr,vaivgngvba,tevrs,fzvyvat,certanapl,cevfbare,qryvirel,thneqf,ivehf,fuevax,serrmvat,jerpx,znffvzb,jver,grpuavpnyyl,oybja,nakvbhf,pnir,ubyvqnlf,pyrnerq,jvfurf,pnevat,pnaqyrf,obhaq,punez,chyfr,whzcvat,wbxrf,obbz,bppnfvba,fvyrapr,abafrafr,sevtugrarq,fyvccrq,qvzren,oybjvat,eryngvbafuvcf,xvqanccvat,fcva,gbby,ebkl,cnpxvat,oynzvat,jenc,bofrffrq,sehvg,gbegher,crefbanyvgl,gurer'yy,snvel,arprffnevyl,friragl,cevag,zbgry,haqrejrne,tenzf,rkunhfgrq,oryvrivat,sernxvat,pnershyyl,genpr,gbhpuvat,zrffvat,erpbirel,vagragvba,pbafrdhraprf,oryg,fnpevsvpr,pbhentr,rawblrq,nggenpgrq,erzbir,grfgvzbal,vagrafr,urny,qrsraqvat,hasnve,eryvrirq,yblny,fybjyl,ohmm,nypbuby,fhecevfrf,cflpuvngevfg,cynva,nggvp,jub'q,havsbez,greevsvrq,pyrnarq,mnpu,guerngra,sryyn,rarzvrf,fngvfsvrq,vzntvangvba,ubbxrq,urnqnpur,sbetrggvat,pbhafrybe,naqvr,npgrq,onqtr,anghenyyl,sebmra,fnxrf,nccebcevngr,gehax,qhaab,pbfghzr,fvkgrra,vzcerffvir,xvpxvat,whax,tenoorq,haqrefgnaqf,qrfpevor,pyvragf,bjaf,nssrpg,jvgarffrf,fgneivat,vafgvapgf,unccvyl,qvfphffvat,qrfreirq,fgenatref,fheirvyynapr,nqzver,dhrfgvbavat,qenttrq,onea,qrrcyl,jenccrq,jnfgrq,grafr,ubcrq,sryynf,ebbzzngr,zbegny,snfpvangvat,fgbcf,neenatrzragf,ntraqn,yvgrenyyl,cebcbfr,ubarfgl,haqrearngu,fnhpr,cebzvfrf,yrpgher,rvtugl,gbea,fubpxrq,onpxhc,qvssreragyl,avargl,qrpx,ovbybtvpny,currof,rnfr,perrc,jnvgerff,gryrcubar,evccrq,envfvat,fpengpu,evatf,cevagf,gurr,nethvat,rcuenz,nfxf,bbcf,qvare,naablvat,gnttreg,fretrnag,oynfg,gbjry,pybja,unovg,perngher,orezhqn,fanc,ernpg,cnenabvq,unaqyvat,rngra,gurencvfg,pbzzrag,fvax,ercbegre,ahefrf,orngf,cevbevgl,vagreehcgvat,jnerubhfr,yblnygl,vafcrpgbe,cyrnfnag,rkphfrf,guerngf,thrffvat,graq,cenlvat,zbgvir,hapbafpvbhf,zlfgrevbhf,haunccl,gbar,fjvgpurq,enccncbeg,fbbxvr,arvtuobe,ybnqrq,fjber,cvff,onynapr,gbff,zvfrel,guvrs,fdhrrmr,ybool,tbn'hyq,trrm,rkrepvfr,sbegu,obbxrq,fnaqohet,cbxre,rvtugrra,q'lbh,ohel,rirelqnl,qvttvat,perrcl,jbaqrerq,yvire,uzzz,zntvpny,svgf,qvfphffrq,zbeny,urycshy,frnepuvat,syrj,qrcerffrq,nvfyr,pevf,nzra,ibjf,arvtuobef,qnea,pragf,neenatr,naahyzrag,hfryrff,nqiragher,erfvfg,sbhegrra,pryroengvat,vapu,qrog,ivbyrag,fnaq,grny'p,pryroengvba,erzvaqrq,cubarf,cncrejbex,rzbgvbaf,fghoobea,cbhaq,grafvba,fgebxr,fgrnql,bireavtug,puvcf,orrs,fhvgf,obkrf,pnffnqvar,pbyyrpg,gentrql,fcbvy,ernyz,jvcr,fhetrba,fgergpu,fgrccrq,arcurj,arng,yvzb,pbasvqrag,crefcrpgvir,pyvzo,chavfuzrag,svarfg,fcevatsvryq,uvag,sheavgher,oynaxrg,gjvfg,cebprrq,sevrf,jbeevrf,avrpr,tybirf,fbnc,fvtangher,qvfnccbvag,penjy,pbaivpgrq,syvc,pbhafry,qbhogf,pevzrf,npphfvat,funxvat,erzrzorevat,unyyjnl,unysjnl,obgurerq,znqnz,tngure,pnzrenf,oynpxznvy,flzcgbzf,ebcr,beqvanel,vzntvarq,pvtnerggr,fhccbegvir,rkcybfvba,genhzn,bhpu,shevbhf,purng,nibvqvat,jurj,guvpx,bbbu,obneqvat,nccebir,hetrag,fuuu,zvfhaqrefgnaqvat,qenjre,cubal,vagresrer,pngpuvat,onetnva,gentvp,erfcbaq,chavfu,cragubhfr,gubh,enpu,buuu,vafhyg,ohtf,orfvqr,orttrq,nofbyhgr,fgevpgyl,fbpxf,frafrf,farnxvat,erjneq,cbyvgr,purpxf,gnyr,culfvpnyyl,vafgehpgvbaf,sbbyrq,oybjf,gnool,ovggre,nqbenoyr,l'nyy,grfgrq,fhttrfgvba,wrjryel,nyvxr,wnpxf,qvfgenpgrq,furygre,yrffbaf,pbafgnoyr,pvephf,nhqvgvba,ghar,fubhyqref,znfx,urycyrff,srrqvat,rkcynvaf,fhpxrq,eboorel,bowrpgvba,orunir,inyhnoyr,funqbjf,pbhegebbz,pbashfvat,gnyragrq,fznegre,zvfgnxra,phfgbzre,ovmneer,fpnevat,zbgureshpxre,nyreg,irppuvb,erireraq,sbbyvfu,pbzcyvzrag,onfgneqf,jbexre,jurrypunve,cebgrpgvir,tragyr,erirefr,cvpavp,xarr,pntr,jvirf,jrqarfqnl,ibvprf,gbrf,fgvax,fpnerf,cbhe,purngrq,fyvqr,ehvavat,svyyvat,rkvg,pbggntr,hcfvqr,cebirf,cnexrq,qvnel,pbzcynvavat,pbasrffrq,cvcr,zreryl,znffntr,pubc,fcvyy,cenlre,orgenl,jnvgre,fpnz,engf,senhq,oehfu,gnoyrf,flzcngul,cvyy,svygul,friragrra,rzcyblrr,oenpryrg,cnlf,snveyl,qrrcre,neevir,genpxvat,fcvgr,furq,erpbzzraq,bhtugn,anaal,zrah,qvrg,pbea,ebfrf,cngpu,qvzr,qrinfgngrq,fhogyr,ohyyrgf,ornaf,cvyr,pbasvez,fgevatf,cnenqr,obeebjrq,gblf,fgenvtugra,fgrnx,cerzbavgvba,cynagrq,ubaberq,rknz,pbairavrag,geniryvat,ynlvat,vafvfgrq,qvfu,nvgbeb,xvaqyl,tenaqfba,qbabe,grzcre,grrantre,cebira,zbguref,qravny,onpxjneqf,grag,fjryy,abba,unccvrfg,qevirf,guvaxva,fcvevgf,cbgvba,ubyrf,srapr,jungfbrire,erurnefny,bireurneq,yrzzr,ubfgntr,orapu,gelva,gnkv,fubir,zbeba,vzcerff,arrqyr,vagryyvtrag,vafgnag,qvfnterr,fgvaxf,evnaan,erpbire,tebbz,trfgher,pbafgnagyl,onegraqre,fhfcrpgf,frnyrq,yrtnyyl,urnef,qerffrf,furrg,cflpuvp,grrantr,xabpxvat,whqtvat,nppvqragnyyl,jnxvat,ehzbe,znaaref,ubzryrff,ubyybj,qrfcrengryl,gncrf,ersreevat,vgrz,trabn,trne,znwrfgl,pevrq,gbaf,fcryyf,vafgvapg,dhbgr,zbgbeplpyr,pbaivapvat,snfuvbarq,nvqf,nppbzcyvfurq,tevc,ohzc,hcfrggvat,arrqvat,vaivfvoyr,sbetvirarff,srqf,pbzcner,obguref,gbbgu,vaivgvat,rnea,pbzcebzvfr,pbpxgnvy,genzc,wnobg,vagvzngr,qvtavgl,qrnyg,fbhyf,vasbezrq,tbqf,qerffvat,pvtnerggrf,nyvfgnve,yrnx,sbaq,pbexl,frqhpr,yvdhbe,svatrecevagf,rapunagzrag,ohggref,fghssrq,fgniebf,rzbgvbanyyl,genafcynag,gvcf,bkltra,avpryl,yhangvp,qevyy,pbzcynva,naabhaprzrag,hasbeghangr,fync,cenlref,cyht,bcraf,bngu,b'arvyy,zhghny,lnpug,erzrzoref,sevrq,rkgenbeqvanel,onvg,jnegba,fjbea,fgner,fnsryl,erhavba,ohefg,zvtug'ir,qvir,nobneq,rkcbfr,ohqqvrf,gehfgvat,obbmr,fjrrc,fber,fphqqre,cebcreyl,cnebyr,qvgpu,pnapryrq,fcrnxf,tybj,jrnef,guvefgl,fxhyy,evatvat,qbez,qvavat,oraq,harkcrpgrq,cnapnxrf,unefu,synggrerq,nuuu,gebhoyrf,svtugf,snibhevgr,rngf,entr,haqrepbire,fcbvyrq,fybnar,fuvar,qrfgeblvat,qryvorengryl,pbafcvenpl,gubhtugshy,fnaqjvpurf,cyngrf,anvyf,zvenpyrf,sevqtr,qenax,pbagenel,orybirq,nyyretvp,jnfurq,fgnyxvat,fbyirq,fnpx,zvffrf,sbetvira,orag,znpvire,vaibyir,qenttvat,pbbxrq,cbvagvat,sbhy,qhyy,orarngu,urryf,snxvat,qrns,fghag,wrnybhfl,ubcryrff,srnef,phgf,fpranevb,arpxynpr,penfurq,npphfr,erfgenvavat,ubzvpvqr,uryvpbcgre,svevat,fnsre,nhpgvba,ivqrbgncr,gber,erfreingvbaf,cbcf,nccrgvgr,jbhaqf,inadhvfu,vebavp,snguref,rkpvgrzrag,nalubj,grnevat,fraqf,encr,ynhturq,oryyl,qrnyre,pbbcrengr,nppbzcyvfu,jnxrf,fcbggrq,fbegf,erfreingvba,nfurf,gnfgrf,fhccbfrqyl,ybsg,vagragvbaf,vagrtevgl,jvfurq,gbjryf,fhfcrpgrq,vairfgvtngvat,vanccebcevngr,yvcfgvpx,ynja,pbzcnffvba,pnsrgrevn,fpnes,cerpvfryl,bofrffvba,ybfrf,yvtugra,vasrpgvba,tenaqqnhtugre,rkcybqr,onypbal,guvf'yy,fclvat,choyvpvgl,qrcraq,penpxrq,pbafpvbhf,nyyl,nofheq,ivpvbhf,vairagrq,sbeovq,qverpgvbaf,qrsraqnag,oner,naabhapr,fperjvat,fnyrfzna,eboorq,yrnc,ynxrivrj,vafnavgl,erirny,cbffvovyvgvrf,xvqanc,tbja,punvef,jvfuvat,frghc,chavfurq,pevzvanyf,ertergf,encrq,dhnegref,ynzc,qragvfg,naljnlf,nabalzbhf,frzrfgre,evfxf,bjrf,yhatf,rkcynvavat,qryvpngr,gevpxrq,rntre,qbbzrq,nqbcgvba,fgno,fvpxarff,fphz,sybngvat,rairybcr,inhyg,fbery,cergraqrq,cbgngbrf,cyrn,cubgbtencu,cnlonpx,zvfhaqrefgbbq,xvqqb,urnyvat,pnfpnqr,pncrfvqr,fgnoorq,erznexnoyr,oeng,cevivyrtr,cnffvbangr,areirf,ynjfhvg,xvqarl,qvfgheorq,pbml,gver,fuvegf,bira,beqrevat,qrynl,evfxl,zbafgref,ubabenoyr,tebhaqrq,pybfrfg,oernxqbja,onyq,nonaqba,fpne,pbyyne,jbeguyrff,fhpxvat,rabezbhf,qvfgheovat,qvfgheo,qvfgenpg,qrnyf,pbapyhfvbaf,ibqxn,qvfurf,penjyvat,oevrspnfr,jvcrq,juvfgyr,fvgf,ebnfg,eragrq,cvtf,syvegvat,qrcbfvg,obggyrf,gbcvp,evbg,bireernpgvat,ybtvpny,ubfgvyr,rzoneenff,pnfhny,ornpba,nzhfvat,nygne,pynhf,fheiviny,fxveg,funir,cbepu,tubfgf,snibef,qebcf,qvmml,puvyv,nqivfr,fgevxrf,eruno,cubgbtencure,crnprshy,yrrel,urniraf,sbeghangryl,sbbyvat,rkcrpgngvbaf,pvtne,jrnxarff,enapu,cenpgvpvat,rknzvar,penarf,oevor,fnvy,cerfpevcgvba,uhfu,sentvyr,sberafvpf,rkcrafr,qehttrq,pbjf,oryyf,ivfvgbe,fhvgpnfr,fbegn,fpna,znagvpber,vafrpher,vzntvavat,uneqrfg,pyrex,jevfg,jung'yy,fgnegref,fvyx,chzc,cnyr,avpre,unhy,syvrf,obbg,guhzo,gurer'q,ubj'er,ryqref,dhvrgyl,chyyf,vqvbgf,renfr,qralvat,naxyr,nzarfvn,npprcgvat,urnegorng,qrinar,pbasebag,zvahf,yrtvgvzngr,svkvat,neebtnag,ghan,fhccre,fyvtugrfg,fvaf,fnlva,erpvcr,cvre,cngreavgl,uhzvyvngvat,trahvar,fanpx,engvbany,zvaqrq,thrffrq,jrqqvatf,ghzbe,uhzvyvngrq,nfcveva,fcenl,cvpxf,rlrq,qebjavat,pbagnpgf,evghny,creshzr,uvevat,ungvat,qbpxf,perngherf,ivfvbaf,gunaxvat,gunaxshy,fbpx,avargrra,sbex,guebjf,grrantref,fgerffrq,fyvpr,ebyyf,cyrnq,ynqqre,xvpxf,qrgrpgvirf,nffherq,gryyva,funyybj,erfcbafvovyvgvrf,ercnl,ubjql,tveysevraqf,qrnqyl,pbzsbegvat,prvyvat,ireqvpg,vafrafvgvir,fcvyyrq,erfcrpgrq,zrffl,vagreehcgrq,unyyvjryy,oybaq,oyrrq,jneqebor,gnxva,zheqref,onpxf,haqrerfgvzngr,whfgvsl,unezyrff,sehfgengrq,sbyq,ramb,pbzzhavpngr,ohttvat,nefba,junpx,fnynel,ehzbef,boyvtngvba,yvxvat,qrnerfg,pbatenghyngr,iratrnapr,enpx,chmmyr,sverf,pbhegrfl,pnyyre,oynzrq,gbcf,dhvm,cerc,phevbfvgl,pvepyrf,oneorphr,fhaalqnyr,fcvaavat,cflpubgvp,pbhtu,npphfngvbaf,erfrag,ynhtuf,serfuzna,rail,qebja,onegyrg,nffrf,fbsn,cbfgre,uvtuarff,qbpx,ncbybtvrf,gurvef,fgng,fgnyy,ernyvmrf,cflpu,zzzz,sbbyf,haqrefgnaqnoyr,gerngf,fhpprrq,fgve,erynkrq,znxva,tengvghqr,snvgushy,npprag,jvggre,jnaqrevat,ybpngr,varivgnoyr,tergry,qrrq,pehfurq,pbagebyyvat,fzryyrq,ebor,tbffvc,tnzoyvat,pbfzrgvpf,nppvqragf,fhecevfvat,fgvss,fvaprer,ehfurq,ersevtrengbe,cercnevat,avtugznerf,zvwb,vtabevat,uhapu,sverjbexf,qebjarq,oenff,juvfcrevat,fbcuvfgvpngrq,yhttntr,uvxr,rkcyber,rzbgvba,penfuvat,pbagnpgrq,pbzcyvpngvbaf,fuvavat,ebyyrq,evtugrbhf,erpbafvqre,tbbql,trrx,sevtugravat,rguvpf,perrcf,pbhegubhfr,pnzcvat,nssrpgvba,fzlgur,unvephg,rffnl,onxrq,ncbybtvmrq,ivor,erfcrpgf,erprvcg,znzv,ungf,qrfgehpgvir,nqber,nqbcg,genpxrq,fubegf,erzvaqvat,qbhtu,perngvbaf,pnobg,oneery,fahpx,fyvtug,ercbegref,cerffvat,zntavsvprag,znqnzr,ynml,tybevbhf,svnaprr,ovgf,ivfvgngvba,fnar,xvaqarff,fubhyqn,erfphrq,znggerff,ybhatr,yvsgrq,vzcbegnagyl,tybir,ragrecevfrf,qvfnccbvagzrag,pbaqb,orvatf,nqzvggvat,lryyrq,jnivat,fcbba,fperrpu,fngvfsnpgvba,ernqf,anvyrq,jbez,gvpx,erfgvat,zneirybhf,shff,pbegynaqg,punfrq,cbpxrgf,yhpxvyl,yvyvgu,svyvat,pbairefngvbaf,pbafvqrengvba,pbafpvbhfarff,jbeyqf,vaabprapr,sberurnq,ntterffvir,genvyre,fynz,dhvggvat,vasbez,qryvtugrq,qnlyvtug,qnaprq,pbasvqragvny,nhagf,jnfuvat,gbffrq,fcrpgen,zneebj,yvarq,vzcylvat,ungerq,tevyy,pbecfr,pyhrf,fbore,bssraqrq,zbethr,vasrpgrq,uhznavgl,qvfgenpgvba,pneg,jverq,ivbyngvba,cebzvfvat,unenffzrag,tyhr,q'natryb,phefrq,oehgny,jneybpxf,jntba,hacyrnfnag,cebivat,cevbevgvrf,zhfga'g,yrnfr,synzr,qvfnccrnenapr,qrcerffvat,guevyy,fvggre,evof,syhfu,rneevatf,qrnqyvar,pbecbeny,pbyyncfrq,hcqngr,fanccrq,fznpx,zryg,svthevat,qryhfvbany,pbhyqn,oheag,graqre,fcrez,ernyvfr,cbex,cbccrq,vagreebtngvba,rfgrrz,pubbfvat,haqb,cerf,cenlrq,cynthr,znavchyngr,vafhygvat,qrgragvba,qryvtugshy,pbssrrubhfr,orgenlny,ncbybtvmvat,nqwhfg,jerpxrq,jbag,juvccrq,evqrf,erzvaqre,zbafvrhe,snvag,onxr,qvfgerff,pbeerpgyl,pbzcynvag,oybpxrq,gbegherq,evfxvat,cbvagyrff,unaqvat,qhzcvat,phcf,nyvov,fgehttyvat,fuval,evfxrq,zhzzl,zvag,ubfr,ubool,sbeghangr,syrvfpuzna,svggvat,phegnva,pbhafryvat,ebqr,chccrg,zbqryvat,zrzb,veerfcbafvoyr,uhzvyvngvba,uvln,sernxva,srybal,pubxr,oynpxznvyvat,nccerpvngrq,gnoybvq,fhfcvpvba,erpbirevat,cyrqtr,cnavpxrq,ahefrel,ybhqre,wrnaf,vairfgvtngbe,ubzrpbzvat,sehfgengvat,ohlf,ohfgvat,ohss,fyrrir,vebal,qbcr,qrpyner,nhgbcfl,jbexva,gbepu,cevpx,yvzo,ulfgrevpny,tbqqnzavg,srgpu,qvzrafvba,pebjqrq,pyvc,pyvzovat,obaqvat,jbnu,gehfgf,artbgvngr,yrguny,vprq,snagnfvrf,qrrqf,ober,onolfvggre,dhrfgvbarq,bhgentrbhf,xvevnxvf,vafhygrq,tehqtr,qevirjnl,qrfregrq,qrsvavgr,orrc,jverf,fhttrfgvbaf,frnepurq,bjrq,yraq,qehaxra,qrznaqvat,pbfgnamn,pbaivpgvba,ohzcrq,jrvtu,gbhpurf,grzcgrq,fubhg,erfbyir,eryngr,cbvfbarq,zrnyf,vaivgngvbaf,unhagrq,obthf,nhgbtencu,nssrpgf,gbyrengr,fgrccvat,fcbagnarbhf,fyrrcf,cebongvba,znaal,svfg,fcrpgnphyne,ubfgntrf,urebva,univa,unovgf,rapbhentvat,pbafhyg,ohetref,oblsevraqf,onvyrq,onttntr,jngpurf,gebhoyrq,gbeghevat,grnfvat,fjrrgrfg,dhnyvgvrf,cbfgcbar,birejuryzrq,znyxbivpu,vzchyfr,pynffl,punetvat,nznmrq,cbyvprzna,ulcbpevgr,uhzvyvngr,uvqrbhf,q'ln,pbfghzrf,oyhssvat,orggvat,orva,orqgvzr,nypbubyvp,irtrgnoyr,genl,fhfcvpvbaf,fcernqvat,fcyraqvq,fuevzc,fubhgvat,cerffrq,abbb,tevrivat,tynqyl,syvat,ryvzvangr,prerny,nnnu,fbabsnovgpu,cnenylmrq,ybggn,ybpxf,thnenagrrq,qhzzl,qrfcvfr,qragny,oevrsvat,oyhss,onggrevrf,junggn,fbhaqvat,freinagf,cerfhzr,unaqjevgvat,snvagrq,qevrq,nyyevtug,npxabjyrqtr,junpxrq,gbkvp,eryvnoyr,dhvpxre,birejuryzvat,yvavat,unenffvat,sngny,raqyrff,qbyyf,pbaivpg,jungpun,hayvxryl,fuhggvat,cbfvgviryl,birepbzr,tbqqnz,rffrapr,qbfr,qvntabfvf,pherq,ohyyl,nubyq,lrneobbx,grzcgvat,furys,cebfrphgvba,cbhevat,cbffrffrq,terrql,jbaqref,gubebhtu,fcvar,engu,cflpuvngevp,zrnavatyrff,ynggr,wnzzrq,vtaberq,svnapr,rivqragyl,pbagrzcg,pbzcebzvfrq,pnaf,jrrxraqf,hetr,gursg,fhvat,fuvczrag,fpvffbef,erfcbaqvat,cebcbfvgvba,abvfrf,zngpuvat,ubezbarf,unvy,tenaqpuvyqera,tragyl,fznfurq,frkhnyyl,fragvzragny,avprfg,znavchyngrq,vagrea,unaqphssf,senzrq,reenaqf,ragregnvavat,pevo,pneevntr,onetr,fcraqf,fyvccvat,frngrq,ehoovat,eryl,erwrpg,erpbzzraqngvba,erpxba,urnqnpurf,sybng,rzoenpr,pbearef,juvavat,fjrngvat,fxvccrq,zbhagvr,zbgvirf,yvfgraf,pevfgbory,pyrnare,purreyrnqre,onyfbz,haarprffnel,fghaavat,fprag,dhnegreznvarf,cbfr,zbagrtn,ybbfra,vasb,ubggrfg,unhag,tenpvbhf,sbetvivat,reenaq,pnxrf,oynzrf,nobegvba,fxrgpu,fuvsgf,cybggvat,crevzrgre,cnyf,zrer,znggrerq,ybavtna,vagresrerapr,rlrjvgarff,raguhfvnfz,qvncref,fgebatrfg,funxra,chapurq,cbegny,pngpurf,onpxlneq,greebevfgf,fnobgntr,betnaf,arrql,phss,pvivyvmngvba,jbbs,jub'yy,cenax,boabkvbhf,zngrf,urerol,tnool,snxrq,pryyne,juvgryvtugre,ibvq,fgenatyr,fbhe,zhssvaf,vagresrevat,qrzbavp,pyrnevat,obhgvdhr,oneevatgba,greenpr,fzbxrq,evtugl,dhnpx,crgrl,cnpg,xabg,xrgpuhc,qvfnccrnevat,pbeql,hcgvtug,gvpxvat,greevslvat,grnfr,fjnzc,frpergyl,erwrpgvba,ersyrpgvba,ernyvmvat,enlf,zragnyyl,znebar,qbhogrq,qrprcgvba,pbaterffzna,purrfl,gbgb,fgnyyvat,fpbbc,evooba,vzzhar,rkcrpgf,qrfgvarq,orgf,onguvat,nccerpvngvba,nppbzcyvpr,jnaqre,fubirq,frjre,fpebyy,ergver,ynfgf,shtvgvir,serrmre,qvfpbhag,penaxl,penax,pyrnenapr,obqlthneq,nakvrgl,nppbhagnag,jubbcf,ibyhagrrerq,gnyragf,fgvaxvat,erzbgryl,tneyvp,qrprapl,pbeq,orqf,nygbtrgure,havsbezf,gerzraqbhf,cbccvat,bhgn,bofreir,yhat,unatf,srryva,qhqrf,qbangvba,qvfthvfr,pheo,ovgrf,nagvdhr,gbbguoehfu,ernyvfgvp,cerqvpg,ynaqybeq,ubhetynff,urfvgngr,pbafbyngvba,onooyvat,gvccrq,fgenaqrq,fznegrfg,ercrngvat,chxr,cffg,cnlpurpx,bireernpgrq,znpub,whiravyr,tebprel,serfura,qvfcbfny,phssf,pnssrvar,inavfurq,hasvavfurq,evccvat,cvapu,synggrevat,rkcrafrf,qvaaref,pbyyrnthr,pvnb,orygunmbe,nggbearlf,jbhyqn,jurernobhgf,jnvgva,gehpr,gevccrq,gnfgrq,fgrre,cbvfbavat,znavchyngvir,vzzngher,uhfonaqf,urry,tenaqqnq,qryvirevat,pbaqbzf,nqqvpg,genfurq,envavat,cnfgn,arrqyrf,yrnavat,qrgrpgbe,pbbyrfg,ongpu,nccbvagzragf,nyzvtugl,irtrgnoyrf,fcnex,cresrpgvba,cnvaf,zbzzn,zbyr,zrbj,unvef,trgnjnl,penpxvat,pbzcyvzragf,orubyq,iretr,gbhture,gvzre,gnccrq,gncrq,fcrpvnygl,fabbcvat,fubbgf,eraqrmibhf,cragntba,yrirentr,wrbcneqvmr,wnavgbe,tenaqcneragf,sbeovqqra,pyhryrff,ovqqvat,hatengrshy,hanpprcgnoyr,ghgbe,frehz,fphfr,cnwnznf,zbhguf,yher,veengvbany,qbbz,pevrf,ornhgvshyyl,neerfgvat,nccebnpuvat,genvgbe,flzcngurgvp,fzht,fznfu,eragny,cebfgvghgr,cerzbavgvbaf,whzcf,vairagbel,qneyva,pbzzvggvat,onatvat,nfnc,jbezf,ivbyngrq,irag,genhzngvp,genprq,fjrngl,funsg,bireobneq,vafvtug,urnyrq,tenfc,rkcrevrapvat,penccl,peno,puhax,njjj,fgnva,funpx,ernpgrq,cebabhapr,cbherq,zbzf,zneevntrf,wnorm,unaqshy,syvccrq,svercynpr,rzoneenffzrag,qvfnccrnef,pbaphffvba,oehvfrf,oenxrf,gjvfgvat,fjrcg,fhzzba,fcyvggvat,fybccl,frggyvat,erfpurqhyr,abgpu,ubbenl,tenoovat,rkdhvfvgr,qvferfcrpg,gubeauneg,fgenj,fynccrq,fuvccrq,funggrerq,ehguyrff,ersvyy,cnlebyy,ahzo,zbheavat,znayl,uhax,ragregnva,qevsg,qernqshy,qbbefgrc,pbasvezngvba,pubcf,nccerpvngrf,inthr,gverf,fgerffshy,fgnfurq,fgnfu,frafrq,cerbpphcvrq,cerqvpgnoyr,abgvpvat,znqyl,thafubg,qbmraf,qbex,pbashfr,pyrnaref,punenqr,punyx,pncchppvab,obhdhrg,nzhyrg,nqqvpgvba,jub'ir,jnezvat,haybpx,fngvfsl,fnpevsvprq,erynkvat,ybar,oybpxvat,oyraq,oynaxrgf,nqqvpgrq,lhpx,uhatre,unzohetre,terrgvat,terrg,tenil,tenz,qernzg,qvpr,pnhgvba,onpxcnpx,nterrvat,junyr,gnyyre,fhcreivfbe,fnpevsvprf,curj,bhapr,veeryrinag,tena,sryba,snibevgrf,snegure,snqr,renfrq,rnfvrfg,pbairavrapr,pbzcnffvbangr,pnar,onpxfgntr,ntbal,nqberf,irvaf,gjrrx,guvrirf,fhetvpny,fgenatryl,fgrgfba,erpvgny,cebcbfvat,cebqhpgvir,zrnavatshy,vzzhavgl,unffyr,tbqqnzarq,sevtugra,qrneyl,prnfr,nzovgvba,jntr,hafgnoyr,fnyintr,evpure,ershfvat,entvat,chzcvat,cerffhevat,zbegnyf,ybjyvsr,vagvzvqngrq,vagragvbanyyl,vafcver,sbetnir,qribgvba,qrfcvpnoyr,qrpvqvat,qnfu,pbzsl,oernpu,onex,nnnnu,fjvgpuvat,fjnyybjrq,fgbir,fpernzrq,fpnef,ehffvnaf,cbhaqvat,cbbs,cvcrf,cnja,yrtvg,vairfg,snerjryy,phegnvaf,pvivyvmrq,pnivne,obbfg,gbxra,fhcrefgvgvba,fhcreangheny,fnqarff,erpbeqre,cflpurq,zbgvingrq,zvpebjnir,unyyryhwnu,sengreavgl,qelre,pbpbn,purjvat,npprcgnoyr,haoryvrinoyl,fzvyrq,fzryyvat,fvzcyre,erfcrpgnoyr,erznexf,xunfvanh,vaqvpngvba,thggre,tenof,shysvyy,synfuyvtug,ryyrabe,oybbqrq,oyvax,oyrffvatf,orjner,huuu,ghes,fjvatf,fyvcf,fubiry,fubpxvat,chss,zveebef,ybpxvat,urnegyrff,senf,puvyqvfu,pneqvnp,hggreyl,ghfpnal,gvpxrq,fghaarq,fgngrfivyyr,fnqyl,cheryl,xvqqva,wrexf,uvgpu,syveg,sner,rdhnyf,qvfzvff,puevfgravat,pnfxrg,p'zrer,oernxhc,ovgvat,nagvovbgvpf,npphfngvba,noqhpgrq,jvgpupensg,guernq,ehaava,chapuvat,cnenzrqvpf,arjrfg,zheqrevat,znfxf,ynjaqnyr,vavgvnyf,tenzcn,pubxvat,punezf,pneryrff,ohfurf,ohaf,ohzzrq,fuerq,fnirf,fnqqyr,erguvax,ertneqf,cerpvapg,crefhnqr,zrqf,znavchyngvat,yynasnve,yrnfu,urnegrq,thnenagrrf,shpxf,qvftenpr,qrcbfvgvba,obbxfgber,obvy,ivgnyf,irvy,gerfcnffvat,fvqrjnyx,frafvoyr,chavfuvat,biregvzr,bcgvzvfgvp,bofrffvat,abgvsl,zbeava,wrbcneql,wnssn,vawrpgvba,uvynevbhf,qrfverf,pbasvqr,pnhgvbhf,lnqn,jurer'er,ivaqvpgvir,ivny,grral,fgebyy,fvggva,fpeho,erohvyq,cbfgref,beqrny,ahaf,vagvznpl,vaurevgnapr,rkcybqrq,qbangr,qvfgenpgvat,qrfcnve,penpxref,jvyqjvaq,iveghr,gubebhtuyl,gnvyf,fcvpl,fxrgpurf,fvtugf,furre,funivat,frvmr,fpnerpebj,erserfuvat,cebfrphgr,cynggre,ancxva,zvfcynprq,zrepunaqvfr,ybbal,wvak,urebvp,senaxrafgrva,nzovgvbhf,flehc,fbyvgnel,erfrzoynapr,ernpgvat,cerzngher,ynirel,synfurf,purdhr,njevtug,npdhnvagrq,jenccvat,hagvr,fnyhgr,ernyvfrq,cevpryrff,cneglvat,yvtugyl,yvsgvat,xnfabss,vafvfgvat,tybjvat,trarengbe,rkcybfvirf,phgvr,pbasebagrq,ohgf,oybhfr,onyyvfgvp,nagvqbgr,nanylmr,nyybjnapr,nqwbhearq,hagb,haqrefgngrzrag,ghpxrq,gbhpul,fhopbafpvbhf,fperjf,fnetr,ebbzzngrf,enzonyqv,bssraq,areq,xavirf,veerfvfgvoyr,vapncnoyr,ubfgvyvgl,tbqqnzzvg,shfr,seng,phesrj,oynpxznvyrq,jnyxva,fgneir,fyrvtu,fnepnfgvp,erprff,erobhaq,cvaarq,cneybe,bhgsvgf,yviva,urnegnpur,unverq,shaqenvfre,qbbezna,qvfperrg,qvyhppn,penpxf,pbafvqrengr,pyvzorq,pngrevat,ncbcuvf,mbrl,hevar,fgehat,fgvgpurf,fbeqvq,fnex,cebgrpgbe,cubarq,crgf,ubfgrff,synj,synibe,qrirenhk,pbafhzrq,pbasvqragvnyvgl,obheoba,fgenvtugrarq,fcrpvnyf,fcnturggv,cerggvre,cbjreyrff,cynlva,cynltebhaq,cnenabvn,vafgnagyl,unibp,rknttrengvat,rnirfqebccvat,qbhtuahgf,qvirefvba,qrrcrfg,phgrfg,pbzo,oryn,orunivat,nalcynpr,npprffbel,jbexbhg,genafyngr,fghssvat,fcrrqvat,fyvzr,eblnygl,cbyyf,znevgny,yhexvat,ybggrel,vzntvanel,terrgvatf,snvejvaqf,ryrtnag,ryobj,perqvovyvgl,perqragvnyf,pynjf,pubccrq,oevqny,orqfvqr,onolfvggvat,jvggl,hasbetvinoyr,haqrejbeyq,grzcg,gnof,fbcubzber,frysyrff,frperpl,erfgyrff,bxrl,zbiva,zrgncube,zrffrf,zrygqbja,yrpgre,vapbzvat,tnfbyvar,qvrsraonxre,ohpxyr,nqzverq,nqwhfgzrag,jnezgu,guebngf,frqhprq,dhrre,cneragvat,abfrf,yhpxvrfg,tenirlneq,tvsgrq,sbbgfgrcf,qvzrenf,plavpny,jrqqrq,ireony,hacerqvpgnoyr,gharq,fgbbc,fyvqrf,fvaxvat,evttrq,cyhzovat,yvatrevr,unaxrl,terrq,rirejbbq,rybcr,qerffre,punhssrhe,ohyyrgva,ohttrq,obhapvat,grzcgngvba,fgenatrfg,fynzzrq,fnepnfz,craqvat,cnpxntrf,beqreyl,bofrffvir,zheqreref,zrgrbe,vapbairavrapr,tyvzcfr,sebmr,rkrphgr,pbhentrbhf,pbafhyngr,pybfrf,obffrf,orrf,nzraqf,jhff,jbysenz,jnpxl,harzcyblrq,grfgvslvat,flevatr,fgrj,fgnegyrq,fbeebj,fyrnml,funxl,fpernzf,efdhb,erznex,cbxr,ahggl,zragvbavat,zraq,vafcvevat,vzchyfvir,ubhfrxrrcre,sbnz,svatreanvyf,pbaqvgvbavat,onxvat,juvar,guht,fgneirq,favssvat,frqngvir,cebtenzzrq,cvpxrg,cntrq,ubhaq,ubzbfrkhny,ubzb,uvcf,sbetrgf,syvccvat,syrn,synggre,qjryy,qhzcfgre,pubb,nffvtazragf,nagf,ivyr,haernfbanoyr,gbffvat,gunaxrq,fgrnyf,fbhirave,fpengpurq,cflpubcngu,bhgf,bofgehpgvba,borl,yhzc,vafvfgf,unenff,tybng,svygu,rqtl,qvqa,pbebare,pbasrffvat,oehvfr,orgenlvat,onvyvat,nccrnyvat,nqrovfv,jengu,jnaqrerq,jnvfg,inva,gencf,fgrcsngure,cbxvat,boyvtngrq,urnirayl,qvyrzzn,penmrq,pbagntvbhf,pbnfgre,purrevat,ohaqyr,ibzvg,guvatl,fcrrpurf,eboovat,ensg,chzcrq,cvyybjf,crrc,cnpxf,artyrpgrq,z'xnl,ybaryvarff,vagehqr,uryyhin,tneqrare,sbeerfgref,qebbyvat,orgpun,infr,fhcreznexrg,fdhng,fcvggvat,eulzr,eryvrir,erprvcgf,enpxrg,cvpgherq,cnhfr,bireqhr,zbgvingvba,zbetraqbessre,xvqanccre,vafrpg,ubeaf,srzvavar,rlronyyf,qhzcf,qvfnccbvagvat,pebpx,pbairegvoyr,pynj,pynzc,pnaarq,pnzovnf,ongugho,ninaln,negrel,jrrc,jnezre,fhfcrafr,fhzzbarq,fcvqref,ervore,enivat,chful,cbfgcbarq,buuuu,abbbb,zbyq,ynhtugre,vapbzcrgrag,uhttvat,tebprevrf,qevc,pbzzhavpngvat,nhagvr,nqvbf,jencf,jvfre,jvyyvatyl,jrveqrfg,gvzzvu,guvaare,fjryyvat,fjng,fgrebvqf,frafvgvivgl,fpencr,erurnefr,cebcurpl,yrqtr,whfgvsvrq,vafhygf,ungrshy,unaqyrf,qbbejnl,punggvat,ohlre,ohpxnebb,orqebbzf,nfxva,nzzb,ghgbevat,fhocbran,fpengpuvat,cevivyrtrf,cntre,zneg,vagevthvat,vqvbgvp,tencr,rayvtugra,pbeehcg,oehapu,oevqrfznvq,onexvat,nccynhfr,npdhnvagnapr,jergpurq,fhcresvpvny,fbnx,fzbbguyl,frafvat,erfgenvag,cbfvat,cyrnqvat,cnlbss,bcenu,arzb,zbenyf,ybns,whzcl,vtabenag,ureony,unatva,trezf,trarebfvgl,synfuvat,qbhtuahg,pyhzfl,pubpbyngrf,pncgvir,orunirq,ncbybtvfr,inavgl,fghzoyrq,cerivrj,cbvfbabhf,crewhel,cneragny,baobneq,zhttrq,zvaqvat,yvara,xabgf,vagreivrjvat,uhzbhe,tevaq,ternfl,tbbaf,qenfgvp,pbbc,pbzcnevat,pbpxl,pyrnere,oehvfrq,oent,ovaq,jbegujuvyr,jubbc,inadhvfuvat,gnoybvqf,fcehat,fcbgyvtug,fragrapvat,enpvfg,cebibxr,cvavat,bireyl,ybpxrg,vzcyl,vzcngvrag,ubirevat,ubggre,srfg,raqher,qbgf,qbera,qrogf,penjyrq,punvarq,oevg,oernguf,jrveqb,jnezrq,jnaq,gebhoyvat,gbx'en,fgenccrq,fbnxrq,fxvccvat,fpenzoyrq,enggyr,cebsbhaq,zhfgn,zbpxvat,zvfhaqrefgnaq,yvzbhfvar,xnpy,uhfgyr,sberafvp,raguhfvnfgvp,qhpg,qenjref,qrinfgngvat,pbadhre,pynevsl,puberf,purreyrnqref,purncre,pnyyva,oyhfuvat,onetvat,nohfrq,lbtn,jerpxvat,jvgf,jnssyrf,ivetvavgl,ivorf,havaivgrq,hasnvgushy,gryyre,fgenatyrq,fpurzvat,ebcrf,erfphvat,enir,cbfgpneq,b'ervyl,zbecuvar,ybgvba,ynqf,xvqarlf,whqtrzrag,vgpu,vaqrsvavgryl,teranqr,tynzbebhf,trargvpnyyl,serhq,qvfpergvba,qryhfvbaf,pengr,pbzcrgrag,onxrel,netu,nuuuu,jrqtr,jntre,hasvg,gevccvat,gbezrag,fhcreureb,fgveevat,fcvany,fbebevgl,frzvane,fprarel,enooyr,carhzbavn,crexf,bireevqr,bbbbu,zvwn,znafynhtugre,znvyrq,yvzr,yrgghpr,vagvzvqngr,thneqrq,tevrir,tenq,sehfgengvba,qbbeoryy,puvangbja,nhguragvp,neenvtazrag,naahyyrq,nyyretvrf,jnagn,irevsl,irtrgnevna,gvtugre,gryrtenz,fgnyx,fcnerq,fubb,fngvfslvat,fnqqnz,erdhrfgvat,craf,birecebgrpgvir,bofgnpyrf,abgvsvrq,anfrqb,tenaqpuvyq,trahvaryl,syhfurq,syhvqf,sybff,rfpncvat,qvgpurq,penzc,pbeal,ohax,ovggra,ovyyvbaf,onaxehcg,lvxrf,jevfgf,hygenfbhaq,hygvznghz,guvefg,favss,funxrf,fnyfn,ergevrir,ernffhevat,chzcf,arhebgvp,artbgvngvat,arrqa'g,zbavgbef,zvyyvbanver,ylqrpxre,yvzc,vapevzvangvat,ungpurg,tenpvnf,tbeqvr,svyyf,srrqf,qbhogvat,qrpns,ovbcfl,juvm,ibyhagnevyl,iragvyngbe,hacnpx,haybnq,gbnq,fcbbxrq,favgpu,fpuvyyvatre,ernffher,crefhnfvir,zlfgvpny,zlfgrevrf,zngevzbal,znvyf,wbpx,urnqyvar,rkcynangvbaf,qvfcngpu,pheyl,phcvq,pbaqbyraprf,pbzenqr,pnffnqvarf,ohyo,oenttvat,njnvgf,nffnhygrq,nzohfu,nqbyrfprag,nobeg,lnax,juvg,inthryl,haqrezvar,glvat,fjnzcrq,fgnoovat,fyvccref,fynfu,fvapreryl,fvtu,frgonpx,frpbaqyl,ebggvat,cerpnhgvba,cpcq,zrygvat,yvnvfba,ubgf,ubbxvat,urnqyvarf,unun,tnam,shel,sryvpvgl,snatf,rapbhentrzrag,rneevat,qervqry,qbel,qbahg,qvpgngr,qrpbengvat,pbpxgnvyf,ohzcf,oyhroreel,oryvrinoyr,onpxsverq,onpxsver,nceba,nqwhfgvat,ibhf,ibhpu,ivgnzvaf,hzzz,gnggbbf,fyvzl,fvoyvat,fuuuu,eragvat,crphyvne,cnenfvgr,cnqqvatgba,zneevrf,znvyobk,zntvpnyyl,ybiroveqf,xabpxf,vasbeznag,rkvgf,qenmra,qvfgenpgvbaf,qvfpbaarpgrq,qvabfnhef,qnfujbbq,pebbxrq,pbairavragyl,jvax,jnecrq,haqrerfgvzngrq,gnpxl,fubivat,frvmher,erfrg,chfurf,bcrare,zbeavatf,znfu,vairag,vaqhytr,ubeevoyl,unyyhpvangvat,srfgvir,rlroebjf,rawblf,qrfcrengvba,qrnyref,qnexrfg,qncu,obentben,orygf,ontry,nhgubevmngvba,nhqvgvbaf,ntvgngrq,jvfushy,jvzc,inavfu,haornenoyr,gbavp,fhssvpr,fhpgvba,fynlvat,fnsrfg,ebpxvat,eryvir,chggva,cerggvrfg,abvfl,arjyljrqf,anhfrbhf,zvfthvqrq,zvyqyl,zvqfg,yvnoyr,whqtzragny,vaql,uhagrq,tviva,snfpvangrq,ryrcunagf,qvfyvxr,qryhqrq,qrpbengr,pehzzl,pbagenpgvbaf,pneir,obggyrq,obaqrq,onunznf,haninvynoyr,gjragvrf,gehfgjbegul,fhetrbaf,fghcvqvgl,fxvrf,erzbefr,cersrenoyl,cvrf,anhfrn,ancxvaf,zhyr,zbhea,zrygrq,znfurq,vaurevg,terngarff,tbyyl,rkphfrq,qhzob,qevsgvat,qryvevbhf,qnzntvat,phovpyr,pbzcryyrq,pbzz,pubbfrf,purpxhc,oberqbz,onaqntrf,nynezf,jvaqfuvryq,jub'er,junqqln,genafcnerag,fhecevfvatyl,fhatynffrf,fyvg,ebne,ernqr,cebtabfvf,cebor,cvgvshy,crefvfgrag,crnf,abfl,anttvat,zbebaf,znfgrecvrpr,znegvavf,yvzob,yvnef,veevgngvat,vapyvarq,uhzc,ublarf,svnfpb,rngva,phonaf,pbapragengvat,pbybeshy,pynz,pvqre,oebpuher,onegb,onetnvavat,jvttyr,jrypbzvat,jrvtuvat,inadhvfurq,fgnvaf,fbbb,fanpxf,fzrne,fver,erfragzrag,cflpubybtvfg,cvag,bireurne,zbenyvgl,ynaqvatunz,xvffre,ubbg,ubyyvat,unaqfunxr,tevyyrq,sbeznyvgl,ryringbef,qrcguf,pbasvezf,obngubhfr,nppvqragny,jrfgoevqtr,jnpxb,hygrevbe,guhtf,guvtuf,gnatyrq,fgveerq,fant,fyvat,fyrnmr,ehzbhe,evcr,erzneevrq,chqqyr,cvaf,creprcgvir,zvenphybhf,ybatvat,ybpxhc,yvoenevna,vzcerffvbaf,vzzbeny,ulcbgurgvpnyyl,thneqvat,tbhezrg,tnor,snkrq,rkgbegvba,qbjaevtug,qvtrfg,penaoreel,oltbarf,ohmmvat,ohelvat,ovxrf,jrnel,gncvat,gnxrbhg,fjrrcvat,fgrczbgure,fgnyr,frabe,frnobea,cebf,crccrebav,arjobea,yhqvpebhf,vawrpgrq,trrxf,sbetrq,snhygf,qehr,qver,qvrs,qrfv,qrprvivat,pngrere,pnyzrq,ohqtr,naxyrf,iraqvat,glcvat,gevoovnav,gurer'er,fdhnerq,fabjvat,funqrf,frkvfg,erjevgr,erterggrq,envfrf,cvpxl,becuna,zheny,zvfwhqtrq,zvfpneevntr,zrzbevmr,yrnxvat,wvggref,vainqr,vagreehcgvba,vyyrtnyyl,unaqvpnccrq,tyvgpu,tvggrf,svare,qvfgenhtug,qvfcbfr,qvfubarfg,qvtf,qnqf,pehrygl,pvepyvat,pnapryvat,ohggresyvrf,orybatvatf,oneoenql,nzhfrzrag,nyvnf,mbzovrf,jurer'ir,haobea,fjrnevat,fgnoyrf,fdhrrmrq,frafngvbany,erfvfgvat,enqvbnpgvir,dhrfgvbanoyr,cevivyrtrq,cbegbsvab,bjavat,bireybbx,befba,bqqyl,vagreebtngr,vzcrengvir,vzcrppnoyr,uhegshy,ubef,urnc,tenqref,tynapr,qvfthfg,qrivbhf,qrfgehpg,penmvre,pbhagqbja,puhzc,purrfrohetre,ohetyne,oreevrf,onyyebbz,nffhzcgvbaf,naablrq,nyyretl,nqzvere,nqzvenoyr,npgvingr,haqrecnagf,gjvg,gnpx,fgebxrf,fgbby,funz,fpenc,ergneqrq,erfbheprshy,erznexnoyl,erserfu,cerffherq,cerpnhgvbaf,cbvagl,avtugpyho,zhfgnpur,znhv,ynpr,uhau,uhool,syner,qbag,qbxrl,qnatrebhfyl,pehfuvat,pyvatvat,pubxrq,purz,purreyrnqvat,purpxobbx,pnfuzrer,pnyzyl,oyhfu,oryvrire,nznmvatyl,nynf,jung'ir,gbvyrgf,gnpbf,fgnvejryy,fcvevgrq,frjvat,ehoorq,chapurf,cebgrpgf,ahvfnapr,zbgureshpxref,zvatyr,xlanfgba,xanpx,xvaxyr,vzcbfr,thyyvoyr,tbqzbgure,shaavrfg,sevttva,sbyqvat,snfuvbaf,rngre,qlfshapgvbany,qebby,qevccvat,qvggb,pehvfvat,pevgvpvmr,pbaprvir,pybar,prqnef,pnyvore,oevtugre,oyvaqrq,oveguqnlf,onadhrg,nagvpvcngr,naabl,juvz,juvpurire,ibyngvyr,irgb,irfgrq,fuebhq,erfgf,ervaqrre,dhnenagvar,cyrnfrf,cnvayrff,becunaf,becunantr,bssrapr,boyvtrq,artbgvngvba,anepbgvpf,zvfgyrgbr,zrqqyvat,znavsrfg,ybbxvg,yvynu,vagevthrq,vawhfgvpr,ubzvpvqny,tvtnagvp,rkcbfvat,ryirf,qvfgheonapr,qvfnfgebhf,qrcraqrq,qrzragrq,pbeerpgvba,pbbcrq,purreshy,ohlref,oebjavrf,orirentr,onfvpf,neiva,jrvtuf,hcfrgf,harguvpny,fjbyyra,fjrngref,fghcvqrfg,frafngvba,fpnycry,cebcf,cerfpevorq,cbzcbhf,bowrpgvbaf,zhfuebbzf,zhyjenl,znavchyngvba,yherq,vagreafuvc,vafvtavsvpnag,vazngr,vapragvir,shysvyyrq,qvfnterrzrag,pelcg,pbearerq,pbcvrq,oevtugrfg,orrgubira,nggraqnag,nznmr,lbtheg,jlaqrzrer,ibpnohynel,ghyfn,gnpgvp,fghssl,erfcvengbe,cergraqf,cbyltencu,craavrf,beqvanevyl,byvirf,arpxf,zbenyyl,znegle,yrsgbiref,wbvagf,ubccvat,ubzrl,uvagf,urnegoebxra,sbetr,sybevfg,svefgunaq,svraq,qnaql,pevccyrq,pbeerpgrq,pbaavivat,pbaqvgvbare,pyrnef,purzb,ohooyl,oynqqre,orrcre,oncgvfz,jvevat,jrapu,jrnxarffrf,ibyhagrrevat,ivbyngvat,haybpxrq,ghzzl,fheebtngr,fhovq,fgenl,fgnegyr,fcrpvsvpf,fybjvat,fpbbg,ebooref,evtugshy,evpurfg,dskzwevr,chssf,cvreprq,crapvyf,cnenylfvf,znxrbire,yhapurba,yvaxflaretl,wrexl,wnphmmv,uvgpurq,unatbire,senpgher,sybpx,sverzra,qvfthfgrq,qnearq,pynzf,obeebjvat,onatrq,jvyqrfg,jrveqre,hanhgubevmrq,fghagf,fyrrirf,fvkgvrf,fuhfu,funyg,ergeb,dhvgf,crttrq,cnvashyyl,cntvat,bzryrg,zrzbevmrq,ynjshyyl,wnpxrgf,vagreprcg,vaterqvrag,tebjahc,tyhrq,shysvyyvat,rapunagrq,qryhfvba,qnevat,pbzcryyvat,pnegba,oevqrfznvqf,oevorq,obvyvat,onguebbzf,onaqntr,njnvgvat,nffvta,neebtnapr,nagvdhrf,nvafyrl,ghexrlf,genfuvat,fgbpxvatf,fgnyxrq,fgnovyvmrq,fxngrf,frqngrq,eborf,erfcrpgvat,cflpur,cerfhzcghbhf,cerwhqvpr,cnentencu,zbpun,zvagf,zngvat,znagna,ybear,ybnqf,yvfgrare,vgvarenel,urcngvgvf,urnir,thrffrf,snqvat,rknzvavat,qhzorfg,qvfujnfure,qrprvir,phaavat,pevccyr,pbaivpgvbaf,pbasvqrq,pbzchyfvir,pbzcebzvfvat,ohetynel,ohzcl,oenvajnfurq,orarf,neavr,nssvezngvir,nqeranyvar,nqnznag,jngpuva,jnvgerffrf,genaftravp,gbhturfg,gnvagrq,fheebhaq,fgbezrq,fcerr,fcvyyvat,fcrpgnpyr,fbnxvat,fuerqf,frjref,frirerq,fpnepr,fpnzzvat,fpnyc,erjvaq,erurnefvat,cergragvbhf,cbgvbaf,bireengrq,bofgnpyr,areqf,zrrzf,zpzhecul,zngreavgl,znarhire,ybngur,sregvyvgl,rybcvat,rpfgngvp,rpfgnfl,qvibepvat,qvtana,pbfgvat,pyhoubhfr,pybpxf,pnaqvq,ohefgvat,oerngure,oenprf,oraqvat,nefbavfg,nqberq,nofbeo,inyvnag,hcubyq,hanezrq,gbcbyfxl,guevyyvat,guvtu,grezvangr,fhfgnva,fcnprfuvc,faber,farrmr,fzhttyvat,fnygl,dhnvag,cngebavmr,cngvb,zbeovq,znzzn,xrggyr,wblbhf,vaivapvoyr,vagrecerg,vafrphevgvrf,vzchyfrf,vyyhfvbaf,ubyrq,rkcybvg,qeviva,qrsrafryrff,qrqvpngr,penqyr,pbhcba,pbhagyrff,pbawher,pneqobneq,obbxvat,onpxfrng,nppbzcyvfuzrag,jbeqfjbegu,jvfryl,inyrg,inppvar,hetrf,haangheny,hayhpxl,gehguf,genhzngvmrq,gnfgvat,fjrnef,fgenjoreevrf,fgrnxf,fgngf,fxnax,frqhpvat,frpergvir,fphzont,fperjqevire,fpurqhyrf,ebbgvat,evtugshyyl,enggyrq,dhnyvsvrf,chccrgf,cebfcrpgf,cebagb,cbffr,cbyyvat,crqrfgny,cnyzf,zhqql,zbegl,zvpebfpbcr,zrepv,yrpghevat,vawrpg,vapevzvangr,ultvrar,tencrsehvg,tnmrob,shaavre,phgre,obffl,obbol,nvqrf,mraqr,jvaguebc,jneenagf,inyragvarf,haqerffrq,haqrentr,gehgushyyl,gnzcrerq,fhssref,fcrrpuyrff,fcnexyvat,fvqryvarf,fuerx,envyvat,choregl,crfxl,bhgentr,bhgqbbef,zbgvbaf,zbbqf,yhapurf,yvggre,xvqanccref,vgpuvat,vaghvgvba,vzvgngvba,uhzvyvgl,unffyvat,tnyybaf,qehtfgber,qbfntr,qvfehcg,qvccvat,qrenatrq,qrongvat,phpxbb,perzngrq,penmvarff,pbbcrengvat,pvephzfgnagvny,puvzarl,oyvaxvat,ovfphvgf,nqzvevat,jrrcvat,gevnq,genful,fbbguvat,fyhzore,fynlref,fxvegf,fvera,fuvaqvt,fragvzrag,ebfpb,evqqnapr,dhnvq,chevgl,cebprrqvat,cergmryf,cnavpxvat,zpxrpuavr,ybiva,yrnxrq,vagehqvat,vzcrefbangvat,vtabenapr,unzohetref,sbbgcevagf,syhxr,syrnf,srfgvivgvrf,sraprf,srvfgl,rinphngr,rzretrapvrf,qrprvirq,perrcvat,penmvrfg,pbecfrf,pbaarq,pbvapvqraprf,obhaprq,obqlthneqf,oynfgrq,ovggrearff,onybarl,nfugenl,ncbpnylcfr,mvyyvba,jngretngr,jnyycncre,gryrfnir,flzcnguvmr,fjrrgre,fgnegva,fcnqrf,fbqnf,fabjrq,fyrrcbire,fvtabe,frrva,ergnvare,erfgebbz,erfgrq,ercrephffvbaf,eryvivat,erpbapvyr,cerinvy,cernpuvat,bireernpg,b'arvy,abbfr,zbhfgnpur,znavpher,znvqf,ynaqynql,ulcbgurgvpny,ubccrq,ubzrfvpx,uvirf,urfvgngvba,ureof,urpgvp,urnegoernx,unhagvat,tnatf,sebja,svatrecevag,rkunhfgvat,rirelgvzr,qvfertneq,pyvat,purieba,puncrebar,oyvaqvat,ovggl,ornqf,onggyvat,onqtrevat,nagvpvcngvba,hcfgnaqvat,hacebsrffvbany,haurnygul,ghezbvy,gehgushy,gbbgucnfgr,gvccva,gubhtugyrff,gntngnln,fubbgref,frafryrff,erjneqvat,cebcnar,cercbfgrebhf,cvtrbaf,cnfgel,bireurnevat,bofprar,artbgvnoyr,ybare,wbttvat,vgpul,vafvahngvat,vafvqrf,ubfcvgnyvgl,ubezbar,urnefg,sbegupbzvat,svfgf,svsgvrf,rgvdhrggr,raqvatf,qrfgeblf,qrfcvfrf,qrcevirq,phqql,pehfg,pybnx,pvephzfgnapr,purjrq,pnffrebyr,ovqqre,ornere,negbb,nccynhq,nccnyyvat,ibjrq,ivetvaf,ivtvynagr,haqbar,guebggyr,grfgbfgrebar,gnvybe,flzcgbz,fjbbc,fhvgpnfrf,fgbzc,fgvpxre,fgnxrbhg,fcbvyvat,fangpurq,fzbbpul,fzvggra,funzryrff,erfgenvagf,erfrnepuvat,erarj,ershaq,erpynvz,enbhy,chmmyrf,checbfryl,chaxf,cebfrphgrq,cynvq,cvpghevat,cvpxva,cnenfvgrf,zlfgrevbhfyl,zhygvcyl,znfpnen,whxrobk,vagreehcgvbaf,thasver,sheanpr,ryobjf,qhcyvpngr,qencrf,qryvorengr,qrpbl,pelcgvp,pbhcyn,pbaqrza,pbzcyvpngr,pbybffny,pyrexf,pynevgl,oehfurq,onavfurq,netba,nynezrq,jbefuvcf,irefn,hapnaal,grpuavpnyvgl,fhaqnr,fghzoyr,fgevccvat,fuhgf,fpuzhpx,fngva,fnyvin,eboore,eryragyrff,erpbaarpg,erpvcrf,erneenatr,enval,cflpuvngevfgf,cbyvprzra,cyhatr,cyhttrq,cngpurq,bireybnq,b'znyyrl,zvaqyrff,zrahf,yhyynol,ybggr,yrniva,xvyyva,xnevafxl,vainyvq,uvqrf,tebjahcf,tevss,synjf,synful,synzvat,srggrf,rivpgrq,qernq,qrtenffv,qrnyvatf,qnatref,phfuvba,objry,onetrq,novqr,nonaqbavat,jbaqreshyyl,jnvg'yy,ivbyngr,fhvpvqny,fgnlva,fbegrq,fynzzvat,fxrgpul,fubcyvsgvat,envfre,dhvmznfgre,cersref,arrqyrff,zbgureubbq,zbzragnevyl,zvtenvar,yvsgf,yrhxrzvn,yrsgbire,xrrcva,uvaxf,uryyubyr,tbjaf,tbbqvrf,tnyyba,shgherf,ragregnvarq,rvtugvrf,pbafcvevat,purrel,oravta,ncvrpr,nqwhfgzragf,nohfvir,noqhpgvba,jvcvat,juvccvat,jryyrf,hafcrnxnoyr,havqragvsvrq,gevivny,genafpevcgf,grkgobbx,fhcreivfr,fhcrefgvgvbhf,fgevpxra,fgvzhyngvat,fcvryoret,fyvprf,furyirf,fpengpurf,fnobgntrq,ergevriny,ercerffrq,erwrpgvat,dhvpxvr,cbavrf,crrxvat,bhgentrq,b'pbaaryy,zbcvat,zbnavat,znhfbyrhz,yvpxrq,xbivpu,xyhgm,vagreebtngvat,vagresrerq,vafhyva,vasrfgrq,vapbzcrgrapr,ulcre,ubeevsvrq,unaqrqyl,trxxb,senvq,senpgherq,rknzvare,rybcrq,qvfbevragrq,qnfuvat,penfuqbja,pbhevre,pbpxebnpu,puvccrq,oehfuvat,obzorq,obygf,onguf,oncgvmrq,nfgebanhg,nffhenapr,narzvn,nohryn,novqvat,jvguubyqvat,jrnir,jrneva,jrnxre,fhssbpngvat,fgenjf,fgenvtugsbejneq,fgrapu,fgrnzrq,fgneobneq,fvqrjnlf,fuevaxf,fubegphg,fpenz,ebnfgrq,ebnzvat,evivren,erfcrpgshyyl,erchyfvir,cflpuvngel,cebibxrq,cravgragvnel,cnvaxvyyref,avabgpuxn,zvgminu,zvyyvtenzf,zvqtr,znefuznyybjf,ybbxl,yncfr,xhoryvx,vagryyrpg,vzcebivfr,vzcynag,tbn'hyqf,tvqql,travhfrf,sehvgpnxr,sbbgvat,svtugva,qevaxva,qbbex,qrgbhe,phqqyr,penfurf,pbzob,pbybaanqr,purngf,prgren,onvyvss,nhqvgvbavat,nffrq,nzhfrq,nyvrangr,nvqvat,npuvat,hajnagrq,gbcyrff,gbathrf,gvavrfg,fhcrevbef,fbsgra,furyqenxr,enjyrl,envfvaf,cerffrf,cynfgre,arffn,aneebjrq,zvavbaf,zrepvshy,ynjfhvgf,vagvzvqngvat,vasveznel,vapbairavrag,vzcbfgre,uhttrq,ubabevat,ubyqva,unqrf,tbqsbefnxra,shzrf,sbetrel,sbbycebbs,sbyqre,synggrel,svatregvcf,rkgrezvangbe,rkcybqrf,rppragevp,qbqtvat,qvfthvfrq,penir,pbafgehpgvir,pbaprnyrq,pbzcnegzrag,puhgr,puvacbxbzba,obqvyl,nfgebanhgf,nyvzbal,npphfgbzrq,noqbzvany,jevaxyr,jnyybj,inyvhz,hagehr,hapbire,gerzoyvat,gernfherf,gbepurq,gbranvyf,gvzrq,grezvgrf,gryyl,gnhagvat,gnenafxl,gnyxre,fhpphohf,fznegf,fyvqvat,fvtugvat,frzra,frvmherf,fpneerq,fniil,fnhan,fnqqrfg,fnpevsvpvat,ehoovfu,evyrq,enggrq,engvbanyyl,cebiranapr,cubafr,crexl,crqny,bireqbfr,anfny,anavgrf,zhful,zbiref,zvffhf,zvqgrez,zrevgf,zrybqenzngvp,znaher,xavggvat,vainqvat,vagrecby,vapncnpvgngrq,ubgyvar,unhyvat,thacbvag,tenvy,tnamn,senzvat,synaary,snqrq,rnirfqebc,qrffregf,pnybevrf,oerngugnxvat,oyrnx,oynpxrq,onggre,ntteningrq,lnaxrq,jvtnaq,jubnu,hajvaq,haqbhogrqyl,hanggenpgvir,gjvgpu,gevzrfgre,gbeenapr,gvzrgnoyr,gnkcnlref,fgenvarq,fgnerq,fynccvat,fvaprevgl,fvqvat,furanavtnaf,funpxvat,fnccl,fnznevgna,cbbere,cbyvgryl,cnfgr,blfgref,bireehyrq,avtugpnc,zbfdhvgb,zvyyvzrgre,zreevre,znaubbq,yhpxrq,xvybf,vtavgvba,unhyrq,unezrq,tbbqjvyy,serfuzra,srazber,snfgra,snepr,rkcybqvat,reengvp,qehaxf,qvgpuvat,q'negntana,penzcrq,pbagnpgvat,pybfrgf,pyvragryr,puvzc,onetnvarq,neenatvat,narfgurfvn,nzhfr,nygrevat,nsgreabbaf,nppbhagnoyr,norggvat,jbyrx,jnirq,harnfl,gbqql,gnggbbrq,fcnhyqvatf,fyvprq,fveraf,fpuvorggn,fpnggre,evafr,erzrql,erqrzcgvba,cyrnfherf,bcgvzvfz,boyvtr,zzzzz,znfxrq,znyvpvbhf,znvyvat,xbfure,xvqqvrf,whqnf,vfbyngr,vafrphevgl,vapvqragnyyl,urnyf,urnqyvtugf,tebjy,tevyyvat,tynmrq,syhax,sybngf,svrel,snvearff,rkrepvfvat,rkpryyrapl,qvfpybfher,phcobneq,pbhagresrvg,pbaqrfpraqvat,pbapyhfvir,pyvpxrq,pyrnaf,pubyrfgreby,pnfurq,oebppbyv,oengf,oyhrcevagf,oyvaqsbyq,ovyyvat,nggnpu,nccnyyrq,nyevtugl,jlanag,hafbyirq,haeryvnoyr,gbbgf,gvtugra,fjrngfuveg,fgrvaoeraare,fgrnzl,fcbhfr,fbabtenz,fybgf,fyrrcyrff,fuvarf,ergnyvngr,ercuenfr,erqrrz,enzoyvat,dhvyg,dhneery,celvat,cebireovny,cevprq,cerfpevor,cerccrq,cenaxf,cbffrffvir,cynvagvss,crqvngevpf,bireybbxrq,bhgpnfg,avtugtbja,zhzob,zrqvbper,znqrzbvfryyr,yhapugvzr,yvsrfnire,yrnarq,ynzof,vagreaf,ubhaqvat,uryyzbhgu,ununun,tbare,tubhy,tneqravat,seraml,sblre,rkgenf,rknttrengr,rireynfgvat,rayvtugrarq,qvnyrq,qribgr,qrprvgshy,q'brhierf,pbfzrgvp,pbagnzvangrq,pbafcverq,pbaavat,pnirea,pneivat,ohggvat,obvyrq,oyheel,onolfvg,nfprafvba,nnnnnu,jvyqyl,jubbcrr,juval,jrvfxbcs,jnyxvr,ihygherf,inpngvbaf,hcsebag,haerfbyirq,gnzcrevat,fgbpxubyqref,fancf,fyrrcjnyxvat,fuehax,frezba,frqhpgvba,fpnzf,eribyir,curabzrany,cngebyyvat,cnenabezny,bhaprf,bzvtbq,avtugsnyy,ynfuvat,vaabpragf,vasvreab,vapvfvba,uhzzvat,unhagf,tybff,tybngvat,senaavr,srgny,srral,ragenczrag,qvfpbzsbeg,qrgbangbe,qrcraqnoyr,pbaprqr,pbzcyvpngvba,pbzzbgvba,pbzzrapr,puhynx,pnhpnfvna,pnfhnyyl,oenvare,obyvr,onyycnex,najne,nanylmvat,nppbzzbqngvbaf,lbhfr,jevat,jnyybjvat,genaftravpf,guevir,grqvbhf,fglyvfu,fgevccref,fgrevyr,fdhrrmvat,fdhrnxl,fcenvarq,fbyrza,fabevat,funggrevat,funool,frnzf,fpenjal,eribxrq,erfvqhr,errxf,erpvgr,enagvat,dhbgvat,cerqvpnzrag,cyhtf,cvacbvag,crgevsvrq,cngubybtvpny,cnffcbegf,bhtuggn,avtugre,anivtngr,xvccvr,vagevthr,vagragvbany,vafhssrenoyr,uhaxl,ubj'ir,ubeevslvat,urnegl,unzcgbaf,tenmvr,sharenyf,sbexf,srgpurq,rkpehpvngvat,rawblnoyr,raqnatre,qhzore,qelvat,qvnobyvpny,pebffjbeq,pbeel,pbzceruraq,pyvccrq,pynffzngrf,pnaqyryvtug,oehgnyyl,oehgnyvgl,obneqrq,onguebor,nhgubevmr,nffrzoyr,nrebovpf,jubyrfbzr,juvss,irezva,gebcuvrf,genvg,gentvpnyyl,gblvat,grfgl,gnfgrshy,fgbpxrq,fcvanpu,fvccvat,fvqrgenpxrq,fpehoovat,fpencvat,fnapgvgl,eboorevrf,evqva,ergevohgvba,ersenva,ernyvgvrf,enqvnag,cebgrfgvat,cebwrpgbe,cyhgbavhz,cnlva,cnegvat,b'ervyyl,abbbbb,zbgureshpxvat,zrnfyl,znavp,ynyvgn,whttyvat,wrexvat,vageb,varivgnoyl,ulcabfvf,uhqqyr,ubeeraqbhf,uboovrf,urnegsryg,uneyva,unveqerffre,tbabeeurn,shffvat,shegjnatyre,syrrgvat,synjyrff,synfurq,srghf,rhybtl,qvfgvapgyl,qvferfcrpgshy,qravrf,pebffobj,pertt,penof,pbjneqyl,pbagenpgvba,pbagvatrapl,pbasvezvat,pbaqbar,pbssvaf,pyrnafvat,purrfrpnxr,pregnvagl,pntrf,p'rfg,oevrsrq,oenirfg,obfbz,obvyf,ovabphynef,onpuryberggr,nccrgvmre,nzohfurq,nyregrq,jbbml,jvguubyq,ihytne,hgzbfg,hayrnfurq,haubyl,haunccvarff,hapbaqvgvbany,glcrjevgre,glcrq,gjvfgf,fhcrezbqry,fhocbranrq,fgevatvat,fxrcgvpny,fpubbytvey,ebznagvpnyyl,ebpxrq,eribve,erbcra,chapgher,cernpu,cbyvfurq,cynargnevhz,cravpvyyva,crnprshyyl,aheghevat,zber'a,zzuzz,zvqtrgf,znexyne,ybqtrq,yvsryvar,wryylsvfu,vasvygengr,uhgpu,ubefronpx,urvfg,tragf,sevpxva,serrmrf,sbesrvg,synxrf,synve,sngurerq,rgreanyyl,rcvcunal,qvftehagyrq,qvfpbhentrq,qryvadhrag,qrpvcure,qnairef,phorf,perqvoyr,pbcvat,puvyyf,purevfurq,pngnfgebcur,obzofuryy,oveguevtug,ovyyvbanver,nzcyr,nssrpgvbaf,nqzvengvba,noobggf,jungabg,jngrevat,ivartne,haguvaxnoyr,hafrra,hacercnerq,habegubqbk,haqreunaqrq,hapbby,gvzryrff,guhzc,gurezbzrgre,gurbergvpnyyl,gnccvat,gnttrq,fjhat,fgnerf,fcvxrq,fbyirf,fzhttyr,fpnevre,fnhpre,dhvggre,cehqrag,cbjqrerq,cbxrq,cbvagref,crevy,crargengr,cranapr,bcvhz,ahqtr,abfgevyf,arhebybtvpny,zbpxrel,zbofgre,zrqvpnyyl,ybhqyl,vafvtugf,vzcyvpngr,ulcbpevgvpny,uhznayl,ubyvarff,urnyguvre,unzzrerq,unyqrzna,thazna,tybbz,serfuyl,senapf,syhaxrq,synjrq,rzcgvarff,qehttvat,qbmre,qrerixb,qrcevir,qrbqbenag,pelva,pebpbqvyr,pbybevat,pbyqre,pbtanp,pybpxrq,pyvccvatf,punenqrf,punagvat,pregvsvnoyr,pngreref,oehgr,oebpuherf,obgpurq,oyvaqref,ovgpuva,onagre,jbxra,hypre,gernq,gunaxshyyl,fjvar,fjvzfhvg,fjnaf,fgerffvat,fgrnzvat,fgnzcrq,fgnovyvmr,fdhvez,fabbmr,fuhssyr,fuerqqrq,frnsbbq,fpengpul,fnibe,fnqvfgvp,eurgbevpny,eriyba,ernyvfg,cebfrphgvat,cebcurpvrf,cbylrfgre,crgnyf,crefhnfvba,cnqqyrf,b'yrnel,ahguva,arvtuobhe,artebrf,zhfgre,zravatvgvf,zngeba,ybpxref,yrggrezna,yrttrq,vaqvpgzrag,ulcabgvmrq,ubhfrxrrcvat,ubcryrffyl,unyyhpvangvbaf,tenqre,tbyqvybpxf,tveyl,synfx,rairybcrf,qbjafvqr,qbirf,qvffbyir,qvfpbhentr,qvfnccebir,qvnorgvp,qryvirevrf,qrpbengbe,pebffsver,pevzvanyyl,pbagnvazrag,pbzenqrf,pbzcyvzragnel,punggre,pngpul,pnfuvre,pnegry,pnevobh,pneqvbybtvfg,oenjy,obbgrq,oneorefubc,nelna,natfg,nqzvavfgre,mryyvr,jernx,juvfgyrf,inaqnyvfz,inzcf,hgrehf,hcfgngr,hafgbccnoyr,haqrefghql,gevfgva,genafpevcg,genadhvyvmre,gbkvaf,gbafvyf,fgrzcry,fcbggvat,fcrpgngbe,fcnghyn,fbsgre,fabggl,fyvatvat,fubjrerq,frkvrfg,frafhny,fnqqre,evzonhq,erfgenva,erfvyvrag,erzvffvba,ervafgngr,erunfu,erpbyyrpgvba,enovrf,cbcfvpyr,cynhfvoyr,crqvngevp,cngebavmvat,bfgevpu,begbynav,bbbbbu,bzryrggr,zvfgevny,znefrvyyrf,ybbcubyr,ynhtuva,xriil,veevgngrq,vasvqryvgl,ulcbgurezvn,ubeevsvp,tebhcvr,tevaqvat,tenprshy,tbbqfcrrq,trfgherf,senagvp,rkgenqvgvba,rpuryba,qvfxf,qnjavr,qnerq,qnzfry,pheyrq,pbyyngreny,pbyyntr,punag,pnyphyngvat,ohzcvat,oevorf,obneqjnyx,oyvaqf,oyvaqyl,oyrrqf,ovpxrevat,ornfgf,onpxfvqr,niratr,ncceruraqrq,nathvfu,nohfvat,lbhgushy,lryyf,lnaxvat,jubzrire,jura'q,ibzvgvat,iratrshy,hacnpxvat,hasnzvyvne,haqlvat,ghzoyr,gebyyf,gernpurebhf,gvccvat,gnagehz,gnaxrq,fhzzbaf,fgencf,fgbzcrq,fgvaxva,fgvatf,fgnxrq,fdhveeryf,fcevaxyrf,fcrphyngr,fbegvat,fxvaarq,fvpxb,fvpxre,fubbgva,funggre,frrln,fpuanccf,f'cbfrq,ebarr,erfcrpgshy,ertebhc,erterggvat,erryvat,erpxbarq,enzvsvpngvbaf,chqql,cebwrpgvbaf,cerfpubby,cyvffxra,cyngbavp,creznynfu,bhgqbar,bhgohefg,zhgnagf,zhttvat,zvfsbeghar,zvfrenoyl,zvenphybhfyl,zrqvpngvbaf,znetnevgnf,znacbjre,ybirznxvat,ybtvpnyyl,yrrpurf,yngevar,xarry,vasyvpg,vzcbfgbe,ulcbpevfl,uvccvrf,urgrebfrkhny,urvtugrarq,urphon,urnyre,thaarq,tebbzvat,tebva,tbbrl,tybbzl,selvat,sevraqfuvcf,serqb,svercbjre,sngubz,rkunhfgvba,rivyf,raqrnibe,rttabt,qernqrq,q'nepl,pebgpu,pbhtuvat,pbebanel,pbbxva,pbafhzzngr,pbatengf,pbzcnavbafuvc,pnirq,pnfcne,ohyyrgcebbs,oevyyvnapr,oernxva,oenfu,oynfgvat,nybhq,nvegvtug,nqivfvat,nqiregvfr,nqhygrel,npurf,jebatrq,hcorng,gevyyvba,guvatvrf,graqvat,gnegf,fheerny,fcrpf,fcrpvnyvmr,fcnqr,fuerj,funcvat,fryirf,fpubbyjbex,ebbzvr,erphcrengvat,enovq,dhneg,cebibpngvir,cebhqyl,cergrafrf,cerangny,cuneznprhgvpnyf,cnpvat,birejbexrq,bevtvanyf,avpbgvar,zheqrebhf,zvyrntr,znlbaanvfr,znffntrf,ybfva,vagreebtngrq,vawhapgvba,vzcnegvny,ubzvat,urnegoernxre,unpxf,tynaqf,tvire,senvmu,syvcf,synhag,ratyvfuzna,ryrpgebphgrq,qhfgvat,qhpxvat,qevsgrq,qbangvat,plyba,pehgpurf,pengrf,pbjneqf,pbzsbegnoyl,puhzzl,puvgpung,puvyqovegu,ohfvarffjbzna,oebbq,oyngnag,orgul,oneevat,onttrq,njnxrarq,nforfgbf,nvecynarf,jbefuvccrq,jvaavatf,jul'er,ivfhnyvmr,hacebgrpgrq,hayrnfu,genlf,guvpxre,gurencvfgf,gnxrbss,fgervfnaq,fgberebbz,fgrgubfpbcr,fgnpxrq,fcvgrshy,farnxf,fanccvat,fynhtugrerq,fynfurq,fvzcyrfg,fvyirejner,fuvgf,frpyhqrq,fpehcyrf,fpehof,fpencf,ehcgherq,ebnevat,erprcgvbavfg,erpnc,enqvgpu,enqvngbe,chfubire,cynfgrerq,cuneznpvfg,creirefr,crecrgengbe,beanzrag,bvagzrag,avargvrf,anccvat,anaavrf,zbhffr,zbbef,zbzragnel,zvfhaqrefgnaqvatf,znavchyngbe,znyshapgvba,ynprq,xvine,xvpxva,vashevngvat,vzcerffvbanoyr,ubyqhc,uverf,urfvgngrq,urnqcubarf,unzzrevat,tebhaqjbex,tebgrfdhr,tenprf,tnhmr,tnatfgref,sevibybhf,serrvat,sbhef,sbejneqvat,sreenef,snhygl,snagnfvmvat,rkgenpheevphyne,rzcngul,qvibeprf,qrgbangr,qrcenirq,qrzrnavat,qrnqyvarf,qnynv,phefvat,phssyvax,pebjf,pbhcbaf,pbzsbegrq,pynhfgebcubovp,pnfvabf,pnzcrq,ohfobl,oyhgu,oraarggf,onfxrgf,nggnpxre,ncynfgvp,natevre,nssrpgvbangr,mnccrq,jbezubyr,jrnxra,haernyvfgvp,haeniry,havzcbegnag,hasbetrggnoyr,gjnva,fhfcraq,fhcreobjy,fghggre,fgrjneqrff,fgrcfba,fgnaqva,fcnaqrk,fbhiravef,fbpvbcngu,fxryrgbaf,fuvirevat,frkvre,frysvfuarff,fpencobbx,evgnyva,evoobaf,erhavgr,erzneel,erynkngvba,enggyvat,encvfg,cflpubfvf,cerccvat,cbfrf,cyrnfvat,cvffrf,cvyvat,crefrphgrq,cnqqrq,bcrengvirf,artbgvngbe,anggl,zrabcnhfr,zraavuna,znegvzzlf,yblnygvrf,ynlavr,ynaqb,whfgvsvrf,vagvzngryl,varkcrevraprq,vzcbgrag,vzzbegnyvgl,ubeebef,ubbxl,uvatrf,urnegoernxvat,unaqphssrq,tlcfvrf,thnpnzbyr,tebiry,tenmvryyn,tbttyrf,trfgncb,shffl,sreentnzb,srroyr,rlrfvtug,rkcybfvbaf,rkcrevzragvat,rapunagvat,qbhogshy,qvmmvarff,qvfznagyr,qrgrpgbef,qrfreivat,qrsrpgvir,qnatyvat,qnapva,pehzoyr,pernzrq,penzcvat,pbaprny,pybpxjbex,puevffnxrf,puevffnxr,pubccvat,pnovargf,oebbqvat,obasver,oyheg,oybngrq,oynpxznvyre,orsberunaq,ongurq,ongur,onepbqr,onavfu,onqtrf,onooyr,njnvg,nggragvir,nebhfrq,nagvobqvrf,navzbfvgl,ln'yy,jevaxyrq,jbaqreynaq,jvyyrq,juvfx,jnygmvat,jnvgerffvat,ivtvynag,hcoevatvat,hafrysvfu,hapyrf,geraql,genwrpgbel,fgevcrq,fgnzvan,fgnyyrq,fgnxvat,fgnpxf,fcbvyf,fahss,fabbgl,favqr,fuevaxvat,fraben,frpergnevrf,fpbhaqery,fnyvar,fnynqf,ehaqbja,evqqyrf,eryncfr,erpbzzraqvat,enfcoreel,cyvtug,crpna,cnagel,birefyrcg,beanzragf,avare,artyvtrag,artyvtrapr,anvyvat,zhpub,zbhgurq,zbafgebhf,znycenpgvpr,ybjyl,ybvgrevat,ybttrq,yvatrevat,yrggva,ynggrf,xnzny,whebe,wvyyrsfxl,wnpxrq,veevgngr,vagehfvba,vafngvnoyr,vasrpg,vzcebzcgh,vpvat,uzzzz,ursgl,tnfxrg,sevtugraf,synccvat,svefgobea,snhprg,rfgenatrq,raivbhf,qbcrl,qbrfa,qvfcbfvgvba,qvfcbfnoyr,qvfnccbvagzragf,qvccrq,qvtavsvrq,qrprvg,qrnyrefuvc,qrnqorng,phefrf,pbira,pbhafrybef,pbapvretr,pyhgpurf,pnfonu,pnyybhf,pnubbgf,oebgureyl,oevgpurf,oevqrf,orguvr,orvtr,nhgbtencurq,nggraqnagf,nggnobl,nfgbavfuvat,nccerpvngvir,nagvovbgvp,narhelfz,nsgreyvsr,nssvqnivg,mbavat,jungf,junqqnln,infrpgbzl,hafhfcrpgvat,gbhyn,gbcnatn,gbavb,gbnfgrq,gvevat,greebevmrq,graqrearff,gnvyvat,fjrngf,fhssbpngrq,fhpxl,fhopbafpvbhfyl,fgneiva,fcebhgf,fcvaryrff,fbeebjf,fabjfgbez,fzvex,fyvprel,fyrqqvat,fynaqre,fvzzre,fvtaben,fvtzhaq,friragvrf,frqngr,fpragrq,fnaqnyf,ebyyref,ergenpgvba,erfvtavat,erphcrengr,erprcgvir,enpxrgrrevat,dhrnfl,cebibxvat,cevbef,cerebtngvir,cerzrq,cvapurq,craqnag,bhgfvqref,beovat,bccbeghavfg,bynabi,arhebybtvfg,anabobg,zbzzvrf,zbyrfgrq,zvfernq,znaarerq,ynhaqebzng,vagrepbz,vafcrpg,vafnaryl,vasnghngvba,vaqhytrag,vaqvfpergvba,vapbafvqrengr,uheenu,ubjyvat,urecrf,unfgn,unenffrq,unahxxnu,tebiryvat,tebbfnyht,tnaqre,tnynpgvpn,shgvyr,sevqnlf,syvre,svkrf,rkcybvgvat,rkbepvfz,rinfvir,raqbefr,rzcgvrq,qernel,qernzl,qbjaybnqrq,qbqtrq,qbpgberq,qvfborlrq,qvfarlynaq,qvfnoyr,qrulqengrq,pbagrzcyngvat,pbpbahgf,pbpxebnpurf,pybttrq,puvyyvat,puncreba,pnzrenzna,ohyof,ohpxynaqf,oevovat,oenin,oenpryrgf,objryf,oyhrcbvag,nccrgvmref,nccraqvk,nagvpf,nabvagrq,nanybtl,nyzbaqf,lnzzrevat,jvapu,jrveqarff,jnatyre,ivoengvbaf,iraqbe,haznexrq,hanaabhaprq,gjrec,gerfcnff,genirfgl,genafshfvba,genvarr,gbjryvr,gverfbzr,fgenvtugravat,fgnttrevat,fbane,fbpvnyvmvat,fvahf,fvaaref,funzoyrf,frerar,fpencrq,fpbarf,fprcgre,fneevf,fnoreuntra,evqvphybhfyl,evqvphyr,eragf,erpbapvyrq,enqvbf,choyvpvfg,chorf,cehar,cehqr,cerpevzr,cbfgcbavat,cyhpx,crevfu,crccrezvag,crryrq,bireqb,ahgfuryy,abfgnytvp,zhyna,zbhguvat,zvfgbbx,zrqqyr,znlobhear,znegvzzl,ybobgbzl,yviryvubbq,yvcczna,yvxrarff,xvaqrfg,xnssrr,wbpxf,wrexrq,wrbcneqvmvat,wnmmrq,vafherq,vadhvfvgvba,vaunyr,vatravbhf,ubyvre,uryzrgf,urveybbz,urvabhf,unfgr,unezfjnl,uneqfuvc,unaxl,thggref,tehrfbzr,tebcvat,tbbsvat,tbqfba,tyner,svarffr,svthengviryl,sreevr,raqnatrezrag,qernqvat,qbmrq,qbexl,qzvgev,qvireg,qvfperqvg,qvnyvat,phssyvaxf,pehgpu,pencf,pbeehcgrq,pbpbba,pyrnintr,pnaarel,olfgnaqre,oehfurf,oehvfvat,oevorel,oenvafgbez,obygrq,ovatr,onyyvfgvpf,nfghgr,neebjnl,nqiraghebhf,nqbcgvir,nqqvpgf,nqqvpgvir,lnqqn,juvgryvtugref,jrzngnalr,jrrqf,jrqybpx,jnyyrgf,ihyarenovyvgl,iebbz,iragf,hccrq,hafrggyvat,haunezrq,gevccva,gevsyr,genpvat,gbezragvat,gungf,flcuvyvf,fhogrkg,fgvpxva,fcvprf,fberf,fznpxrq,fyhzzvat,fvaxf,fvtaber,fuvggvat,funzrshy,funpxrq,frcgvp,frrql,evtugrbhfarff,eryvfu,erpgvsl,enivfuvat,dhvpxrfg,cubrof,creiregrq,crrvat,crqvpher,cnfgenzv,cnffvbangryl,bmbar,bhgahzorerq,bertnab,bssraqre,ahxrf,abfrq,avtugl,avsgl,zbhagvrf,zbgvingr,zbbaf,zvfvagrecergrq,zrepranel,zragnyvgl,znefryyhf,yhchf,yhzone,ybirfvpx,ybofgref,yrnxl,ynhaqrevat,yngpu,wnsne,vafgvapgviryl,vafcverf,vaqbbef,vapneprengrq,uhaqerqgu,unaqxrepuvrs,tlarpbybtvfg,thvggvrerm,tebhaqubt,tevaavat,tbbqolrf,trrfr,shyyrfg,rlrynfurf,rlrynfu,radhvere,raqyrffyl,ryhfvir,qvfnez,qrgrfg,qryhqvat,qnatyr,pbgvyyvba,pbefntr,pbawhtny,pbasrffvbany,pbarf,pbzznaqzrag,pbqrq,pbnyf,puhpxyr,puevfgznfgvzr,purrfrohetref,puneqbaanl,pryrel,pnzcsver,pnyzvat,oheevgbf,oehaqyr,oebsybifxv,oevtugra,obeqreyvar,oyvaxrq,oyvat,ornhgvrf,onhref,onggrerq,negvphyngr,nyvrangrq,nuuuuu,ntnzrzaba,nppbhagnagf,l'frr,jebatshy,jenccre,jbexnubyvp,jvaarontb,juvfcrerq,jnegf,inpngr,hajbegul,hanafjrerq,gbanar,gbyrengrq,guebjva,gueboovat,guevyyf,gubeaf,gurerbs,gurer'ir,gnebg,fhafperra,fgergpure,fgrerbglcr,fbttl,fboovat,fvmnoyr,fvtugvatf,fuhpxf,fuencary,frire,fravyr,frnobneq,fpbearq,fnire,eroryyvbhf,envarq,chggl,cerahc,cberf,cvapuvat,cregvarag,crrcvat,cnvagf,bihyngvat,bccbfvgrf,bpphyg,ahgpenpxre,ahgpnfr,arjffgnaq,arjsbhaq,zbpxrq,zvqgrezf,znefuznyybj,zneohel,znpynera,yrnaf,xehqfxv,xabjvatyl,xrlpneq,whaxvrf,whvyyvneq,wbyvane,veevgnoyr,vainyhnoyr,vahvg,vagbkvpngvat,vafgehpg,vafbyrag,varkphfnoyr,vaphongbe,vyyhfgevbhf,uhafrpxre,ubhfrthrfg,ubzbfrkhnyf,ubzrebbz,ureavn,unezvat,unaqtha,unyyjnlf,unyyhpvangvba,thafubgf,tebhcvrf,tebttl,tbvgre,tvatreoernq,tvttyvat,sevttvat,syrqtrq,srqrk,snvevrf,rkpunatvat,rknttrengvba,rfgrrzrq,rayvfg,qentf,qvfcrafr,qvfyblny,qvfpbaarpg,qrfxf,qragvfgf,qrynpebvk,qrtrarengr,qnlqernzvat,phfuvbaf,phqqyl,pbeebobengr,pbzcyrkvba,pbzcrafngrq,pbooyre,pybfrarff,puvyyrq,purpxzngr,punaavat,pnebhfry,pnyzf,olynjf,orarsnpgbe,onyytnzr,onvgvat,onpxfgnoovat,negvsnpg,nvefcnpr,nqirefnel,npgva,npphfrf,nppryrenag,nohaqnagyl,nofgvarapr,mvffbh,mnaqg,lnccvat,jvgpul,jvyybjf,junqnln,ivynaqen,irvyrq,haqerff,haqvivqrq,haqrerfgvzngvat,hygvznghzf,gjvey,gehpxybnq,gerzoyr,gbnfgvat,gvatyvat,gragf,grzcrerq,fhyxvat,fghax,fcbatrf,fcvyyf,fbsgyl,favcref,fpbhetr,ebbsgbc,evnan,eribygvat,erivfvg,erserfuzragf,erqrpbengvat,erpncgher,enlfl,cergrafr,cerwhqvprq,cerpbtf,cbhgvat,cbbsf,cvzcyr,cvyrf,crqvngevpvna,cnqer,cnpxrgf,cnprf,beiryyr,boyvivbhf,bowrpgvivgl,avtuggvzr,areibfn,zrkvpnaf,zrhevpr,zrygf,zngpuznxre,znrol,yhtbfv,yvcavx,yrcerpunha,xvffl,xnsxn,vagebqhpgvbaf,vagrfgvarf,vafcvengvbany,vafvtugshy,vafrcnenoyr,vawrpgvbaf,vanqiregragyl,uhffl,uhpxnorrf,uvggva,urzbeeuntvat,urnqva,unlfgnpx,unyybjrq,tehqtrf,tenavyvgu,tenaqxvqf,tenqvat,tenprshyyl,tbqfraq,tbooyrf,sentenapr,syvref,svapuyrl,snegf,rlrjvgarffrf,rkcraqnoyr,rkvfgragvny,qbezf,qrynlvat,qrtenqvat,qrqhpgvba,qneyvatf,qnarf,plybaf,pbhafryybe,pbagenver,pbafpvbhfyl,pbawhevat,pbatenghyngvat,pbxrf,ohssnl,oebbpu,ovgpuvat,ovfgeb,ovwbh,orjvgpurq,oraribyrag,oraqf,ornevatf,oneera,ncgvghqr,nzvfu,nznmrf,nobzvangvba,jbeyqyl,juvfcref,junqqn,jnljneq,jnvyvat,inavfuvat,hcfpnyr,hagbhpunoyr,hafcbxra,hapbagebyynoyr,hanibvqnoyr,hanggraqrq,gevgr,genafirfgvgr,gbhcrr,gvzvq,gvzref,greebevmvat,fjnan,fghzcrq,fgebyyvat,fgbelobbx,fgbezvat,fgbznpuf,fgbxrq,fgngvbarel,fcevatgvzr,fcbagnarvgl,fcvgf,fcvaf,fbncf,fragvzragf,fpenzoyr,fpbar,ebbsgbcf,ergenpg,ersyrkrf,enjqba,enttrq,dhvexl,dhnagvpb,cflpubybtvpnyyl,cebqvtny,cbhapr,cbggl,cyrnfnagevrf,cvagf,crggvat,creprvir,bafgntr,abgjvgufgnaqvat,avooyr,arjznaf,arhgenyvmr,zhgvyngrq,zvyyvbanverf,znlsybjre,znfdhrenqr,znatl,znperrql,yhangvpf,ybinoyr,ybpngvat,yvzcvat,ynfntan,xjnat,xrrcref,whivr,wnqrq,vebavat,vaghvgvir,vagrafryl,vafher,vapnagngvba,ulfgrevn,ulcabgvmr,uhzcvat,unccrava,tevrg,tenfcvat,tybevsvrq,tnatvat,t'avtug,sbpxre,syhaxvat,syvzfl,synhagvat,svkngrq,svgmjnyynpr,snvagvat,rlroebj,rkbarengrq,rgure,ryrpgevpvna,rtbgvfgvpny,rneguyl,qhfgrq,qvtavsl,qrgbangvba,qroevrs,qnmmyvat,qna'y,qnzarqrfg,qnvfvrf,pehfurf,pehpvsl,pbagenonaq,pbasebagvat,pbyyncfvat,pbpxrq,pyvpxf,pyvpur,pvepyrq,punaqryvre,pneohergbe,pnyyref,oebnqf,oerngurf,oybbqfurq,oyvaqfvqrq,oynoovat,ovnylfgbpx,onfuvat,onyyrevan,nivin,negrevrf,nabznyl,nvefgevc,ntbavmvat,nqwbhea,nnnnn,lrneavat,jerpxre,jvgarffvat,jurapr,jneurnq,hafher,haurneq,haserrmr,hasbyq,haonynaprq,htyvrfg,gebhoyrznxre,gbqqyre,gvcgbr,guerrfbzr,guvegvrf,gurezbfgng,fjvcr,fhetvpnyyl,fhogyrgl,fghat,fghzoyvat,fghof,fgevqr,fgenatyvat,fcenlrq,fbpxrg,fzhttyrq,fubjrevat,fuuuuu,fnobgntvat,ehzfba,ebhaqvat,evfbggb,ercnvezna,erurnefrq,enggl,enttvat,enqvbybtl,enpdhrgonyy,enpxvat,dhvrgre,dhvpxfnaq,cebjy,cebzcg,cerzrqvgngrq,cerzngheryl,cenapvat,cbephcvar,cyngrq,cvabppuvb,crrxrq,crqqyr,cnagvat,birejrvtug,bireeha,bhgvat,bhgtebja,bofrff,ahefrq,abqqvat,artngvivgl,artngvirf,zhfxrgrref,zhttre,zbgbepnqr,zreevyl,zngherq,znfdhrenqvat,zneiryybhf,znavnpf,ybirl,ybhfr,yvatre,yvyvrf,ynjshy,xhqbf,xahpxyr,whvprf,whqtzragf,vgpurf,vagbyrenoyr,vagrezvffvba,varcg,vapneprengvba,vzcyvpngvba,vzntvangvir,uhpxyroreel,ubyfgre,urnegohea,thaan,tebbzrq,tenpvbhfyl,shysvyyzrag,shtvgvirf,sbefnxvat,sbetvirf,sberfrrnoyr,synibef,synerf,svkngvba,svpxyr,snagnfvmr,snzvfurq,snqrf,rkcvengvba,rkpynzngvba,renfvat,rvssry,rrevr,rneshy,qhcrq,qhyyrf,qvffvat,qvffrpg,qvfcrafre,qvyngrq,qrgretrag,qrfqrzban,qroevrsvat,qnzcre,phevat,pevfcvan,penpxcbg,pbhegvat,pbeqvny,pbasyvpgrq,pbzcerurafvba,pbzzvr,pyrnahc,puvebcenpgbe,punezre,punevbg,pnhyqeba,pngngbavp,ohyyvrq,ohpxrgf,oevyyvnagyl,oerngurq,obbguf,obneqebbz,oybjbhg,oyvaqarff,oynmvat,ovbybtvpnyyl,ovoyrf,ovnfrq,orfrrpu,oneonevp,onyenw,nhqnpvgl,nagvpvcngvat,nypbubyvpf,nveurnq,ntraqnf,nqzvggrqyl,nofbyhgvba,lbher,lvccrr,jvggyrfrl,jvguuryq,jvyyshy,junzzl,jrnxrfg,jnfurf,iveghbhf,ivqrbgncrf,ivnyf,hacyhttrq,hacnpxrq,hasnveyl,gheohyrapr,ghzoyvat,gevpxvat,gerzraqbhfyl,genvgbef,gbepurf,gvatn,gulebvq,grnfrq,gnjqel,gnxre,flzcnguvrf,fjvcrq,fhaqnrf,fhnir,fgehg,fgrcqnq,fcrjvat,fcnfz,fbpvnyvmr,fyvgure,fvzhyngbe,fuhggref,fuerjq,fubpxf,frznagvpf,fpuvmbcueravp,fpnaf,fnintrf,eln'p,ehaal,ehpxhf,eblnyyl,ebnqoybpxf,erjevgvat,eribxr,ercrag,erqrpbengr,erpbiref,erpbhefr,engpurq,enznyv,enpdhrg,dhvapr,dhvpur,chccrgrre,chxvat,chssrq,ceboyrzb,cenvfrf,cbhpu,cbfgpneqf,cbbcrq,cbvfrq,cvyrq,cubarl,cubovn,cngpuvat,cneragubbq,cneqare,bbmvat,buuuuu,ahzovat,abfgevy,abfrl,arngyl,anccn,anzryrff,zbeghnel,zbebavp,zbqrfgl,zvqjvsr,zppynar,znghxn,znvger,yhzcf,yhpvq,ybbfrarq,ybvaf,ynjazbjre,ynzbggn,xebruare,wvakl,wrffrc,wnzzvat,wnvyubhfr,wnpxvat,vagehqref,vauhzna,vasnghngrq,vaqvtrfgvba,vzcyber,vzcynagrq,ubezbany,ubobxra,uvyyovyyl,urnegjnezvat,urnqjnl,ungpurq,unegznaf,unecvat,tencrivar,tabzr,sbegvrf,sylva,syvegrq,svatreanvy,rkuvynengvat,rawblzrag,rzonex,qhzcre,qhovbhf,qeryy,qbpxvat,qvfvyyhfvbarq,qvfubabe,qvfoneerq,qvprl,phfgbqvny,pbhagrecebqhpgvir,pbearq,pbeqf,pbagrzcyngr,pbaphe,pbaprvinoyr,pbooyrcbg,puvpxrarq,purpxbhg,pnecr,pnc'a,pnzcref,ohlva,ohyyvrf,oenvq,obkrq,obhapl,oyhroreevrf,oyhoorevat,oybbqfgernz,ovtnzl,orrcrq,ornenoyr,nhgbtencuf,nynezvat,jergpu,jvzcf,jvqbjre,juveyjvaq,juvey,jnezf,inaqrynl,hairvyvat,haqbvat,haorpbzvat,gheanebhaq,gbhpur,gbtrgurearff,gvpxyrf,gvpxre,grrafl,gnhag,fjrrgurnegf,fgvgpurq,fgnaqcbvag,fgnssref,fcbgyrff,fbbgur,fzbgurerq,fvpxravat,fubhgrq,furcureqf,funjy,frevbhfarff,fpubbyrq,fpubbyobl,f'zberf,ebcrq,erzvaqref,enttrql,cerrzcgvir,cyhpxrq,curebzbarf,cnegvphynef,cneqbarq,birecevprq,bireornevat,bhgeha,buzvtbq,abfvat,avpxrq,arnaqreguny,zbfdhvgbrf,zbegvsvrq,zvyxl,zrffva,zrpun,znexvafba,zneviryynf,znaardhva,znaqreyrl,znqqre,znpernql,ybbxvr,ybphfgf,yvsrgvzrf,ynaan,ynxuv,xubyv,vzcrefbangr,ulcreqevir,ubeevq,ubcva,ubttvat,urnefnl,unecl,uneobevat,unveqb,unsgn,tenffubccre,tbooyr,tngrubhfr,sbbfonyy,sybbml,svfurq,sverjbbq,svanyvmr,srybaf,rhcurzvfz,ragbhentr,ryvgvfg,ryrtnapr,qebxxra,qevre,qerqtr,qbffvre,qvfrnfrq,qvneeurn,qvntabfr,qrfcvfrq,qrshfr,q'nzbhe,pbagrfgvat,pbafreir,pbafpvragvbhf,pbawherq,pbyynef,pybtf,puravyyr,punggl,punzbzvyr,pnfvat,pnyphyngbe,oevggyr,oernpurq,oyhegrq,oveguvat,ovxvavf,nfgbhaqvat,nffnhygvat,nebzn,nccyvnapr,nagfl,nzavb,nyvrangvat,nyvnfrf,nqbyrfprapr,krebk,jebatf,jbexybnq,jvyyban,juvfgyvat,jrerjbyirf,jnyynol,hajrypbzr,hafrrzyl,hacyht,haqrezvavat,htyvarff,glenaal,ghrfqnlf,gehzcrgf,genafsrerapr,gvpxf,gnatvoyr,gnttvat,fjnyybjvat,fhcreurebrf,fghqf,fgerc,fgbjrq,fgbzcvat,fgrssl,fcenva,fcbhgvat,fcbafbevat,farrmvat,fzrnerq,fyvax,funxva,frjrq,frngoryg,fpnevrfg,fpnzzrq,fnapgvzbavbhf,ebnfgvat,evtugyl,ergvany,erguvaxvat,erfragrq,erehaf,erzbire,enpxf,cherfg,cebterffvat,cerfvqragr,cerrpynzcfvn,cbfgcbarzrag,cbegnyf,cbccn,cyvref,cvaavat,cryivp,cnzcrerq,cnqqvat,birewblrq,bbbbb,bar'yy,bpgnivhf,ababab,avpxanzrf,arhebfhetrba,aneebjf,zvfyrq,zvfyrnq,zvfunc,zvyygbja,zvyxvat,zrgvphybhf,zrqvbpevgl,zrngonyyf,znpurgr,yhepu,ynlva,xabpxva,xuehfpuri,whebef,whzcva,whthyne,wrjryre,vagryyrpghnyyl,vadhvevrf,vaqhytvat,vaqrfgehpgvoyr,vaqrogrq,vzvgngr,vtaberf,ulcreiragvyngvat,ulranf,uheelvat,ureznab,uryyvfu,ururu,unefuyl,unaqbhg,teharznaa,tynaprf,tvirnjnl,trghc,trebzr,shegurfg,sebfgvat,senvy,sbejneqrq,sbeprshy,syniberq,synzznoyr,synxl,svatrerq,sngureyl,rguvp,rzormmyrzrag,qhssry,qbggrq,qvfgerffrq,qvfborl,qvfnccrnenaprf,qvaxl,qvzvavfu,qvncuentz,qrhprf,perzr,pbhegrbhf,pbzsbegf,pbreprq,pybgf,pynevsvpngvba,puhaxf,puvpxvr,punfrf,puncrebavat,pnegbaf,pncre,pnyirf,pntrq,ohfgva,ohytvat,oevatva,obbzunhre,oybjva,oyvaqsbyqrq,ovfpbggv,onyycynlre,onttvat,nhfgre,nffhenaprf,nfpura,neenvtarq,nabalzvgl,nygref,nyongebff,nterrnoyr,nqbevat,noqhpg,jbysv,jrveqrq,jngpuref,jnfuebbz,jneurnqf,ivapraarf,hetrapl,haqrefgnaqnoyl,hapbzcyvpngrq,huuuu,gjvgpuvat,gernqzvyy,gurezbf,grabezna,gnatyr,gnyxngvir,fjnez,fheeraqrevat,fhzzbavat,fgevir,fgvygf,fgvpxref,fdhnfurq,fcenlvat,fcneevat,fbnevat,fabeg,farrmrq,fyncf,fxnaxl,fvatva,fvqyr,fuerpx,fubegarff,fubegunaq,funecre,funzrq,fnqvfg,elqryy,ehfvx,ebhyrggr,erfhzrf,erfcvengvba,erpbhag,ernpgf,chetngbel,cevaprffrf,cerfragnoyr,cbalgnvy,cybggrq,cvabg,cvtgnvyf,cuvyyvccr,crqqyvat,cnebyrq,beorq,bssraqf,b'unen,zbbayvg,zvarsvryq,zrgncubef,znyvtanag,znvasenzr,zntvpxf,znttbgf,znpynvar,ybnguvat,yrcre,yrncf,yrncvat,ynfurq,ynepu,ynepral,yncfrf,ynqlfuvc,whapgher,wvssl,wnxbi,vaibxr,vasnagvyr,vanqzvffvoyr,ubebfpbcr,uvagvat,uvqrnjnl,urfvgngvat,urqql,urpxyrf,unveyvar,tevcr,tengvslvat,tbirearff,tbrooryf,serqqb,sberfrr,snfpvangvba,rkrzcynel,rkrphgvbare,rgprgren,rfpbegf,raqrnevat,rngref,rnecyhtf,qencrq,qvfehcgvat,qvfnterrf,qvzrf,qrinfgngr,qrgnva,qrcbfvgvbaf,qryvpnpl,qnexyvtugre,plavpvfz,plnavqr,phggref,pebahf,pbagvahnapr,pbadhrevat,pbasvqvat,pbzcnegzragf,pbzovat,pbsryy,pyvatl,pyrnafr,puevfgznfrf,purrerq,purrxobarf,ohggyr,oheqrarq,oehraryy,oebbzfgvpx,oenvarq,obmbf,obagrpbh,oyhagzna,oynmrf,oynzryrff,ovmneeb,oryyobl,ornhpbhc,onexrrc,njnxra,nfgenl,nffnvynag,nccrnfr,ncuebqvfvnp,nyyrlf,lrfff,jerpxf,jbbqcrpxre,jbaqebhf,jvzcl,jvyycbjre,jurryvat,jrrcl,jnkvat,jnvir,ivqrbgncrq,irevgnoyr,hagbhpurq,hayvfgrq,hasbhaqrq,hasberfrra,gjvatr,gevttref,genvcfvat,gbkva,gbzofgbar,guhzcvat,gurerva,grfgvpyrf,gryrcubarf,gneznp,gnyol,gnpxyrq,fjveyvat,fhvpvqrf,fhpxrerq,fhogvgyrf,fgheql,fgenatyre,fgbpxoebxre,fgvgpuvat,fgrrerq,fgnaqhc,fdhrny,fcevaxyre,fcbagnarbhfyl,fcyraqbe,fcvxvat,fcraqre,favcr,fanttrq,fxvzzvat,fvqqbja,fubjebbz,fubiryf,fubgthaf,fubrynprf,fuvgybnq,furyysvfu,funecrfg,funqbjl,frvmvat,fpebhatr,fpncrtbng,fnlbanen,fnqqyrq,ehzzntvat,ebbzshy,erabhapr,erpbafvqrerq,erpunetr,ernyvfgvpnyyl,enqvbrq,dhvexf,dhnqenag,chapghny,cenpgvfvat,cbhef,cbbyubhfr,cbygretrvfg,cbpxrgobbx,cynvayl,cvpavpf,crfgb,cnjvat,cnffntrjnl,cnegvrq,barfrys,ahzreb,abfgnytvn,avgjvg,arheb,zvkre,zrnarfg,zporny,zngvarr,znetngr,znepr,znavchyngvbaf,znauhag,znatre,zntvpvnaf,ybnsref,yvginpx,yvtugurnqrq,yvsrthneq,ynjaf,ynhtuvatfgbpx,vatrfgrq,vaqvtangvba,vapbaprvinoyr,vzcbfvgvba,vzcrefbany,vzorpvyr,uhqqyrq,ubhfrjnezvat,ubevmbaf,ubzvpvqrf,uvpphcf,urnefr,uneqrarq,thfuvat,thfuvr,ternfrq,tbqqnzvg,serrynapre,sbetvat,sbaqhr,syhfgrerq,syhat,syvapu,syvpxre,svkva,srfgvihf,sregvyvmre,snegrq,snttbgf,rkbarengr,rivpg,rabezbhfyl,rapelcgrq,rzqnfu,rzoenpvat,qherff,qhcerf,qbjfre,qbbezng,qvfsvtherq,qvfpvcyvarq,qvoof,qrcbfvgbel,qrnguorq,qnmmyrq,phggva,pherf,pebjqvat,percr,penzzrq,pbclpng,pbagenqvpg,pbasvqnag,pbaqrzavat,pbaprvgrq,pbzzhgr,pbzngbfr,pynccvat,pvephzsrerapr,puhccnu,puber,pubxfbaqvx,purfgahgf,oevnhyg,obggbzyrff,obaarg,oybxrf,oreyhgv,orerg,orttnef,onaxebyy,onavn,ngubf,nefravp,nccrenagyl,nuuuuuu,nsybng,nppragf,mvccrq,mrebf,mrebrf,mnzve,lhccvr,lbhatfgref,lbexref,jvfrfg,jvcrf,jvryq,jula'g,jrveqbf,jrqarfqnlf,ivpxfohet,hcpuhpx,hagenprnoyr,hafhcreivfrq,hacyrnfnagarff,haubbx,hapbafpvbanoyr,hapnyyrq,genccvatf,gentrqvrf,gbjavr,guhetbbq,guvatf'yy,guvar,grgnahf,greebevmr,grzcgngvbaf,gnaavat,gnzcbaf,fjnezvat,fgenvgwnpxrg,fgrebvq,fgnegyvat,fgneel,fdhnaqre,fcrphyngvat,fbyybmmb,farnxrq,fyhtf,fxrqnqqyr,fvaxre,fvyxl,fubegpbzvatf,fryyva,frnfbarq,fpehoorq,fperjhc,fpencrf,fpneirf,fnaqobk,fnyrfzra,ebbzvat,ebznaprf,erirer,ercebnpu,ercevrir,erneenatvat,enivar,engvbanyvmr,enssyr,chapul,cflpubonooyr,cebibpngvba,cebsbhaqyl,cerfpevcgvbaf,cersrenoyr,cbyvfuvat,cbnpurq,cyrqtrf,cveryyv,creiregf,birefvmrq,bireqerffrq,bhgqvq,ahcgvnyf,arsnevbhf,zbhgucvrpr,zbgryf,zbccvat,zbatery,zvffva,zrgncubevpnyyl,zregva,zrzbf,zrybqenzn,zrynapubyl,zrnfyrf,zrnare,znagry,znarhirevat,znvyebbz,yhevat,yvfgrava,yvsryrff,yvpxf,yriba,yrtjbex,xarrpncf,xvcche,xvqqvr,xnchg,whfgvsvnoyr,vafvfgrag,vafvqvbhf,vaahraqb,vaavg,vaqrprag,vzntvanoyr,ubefrfuvg,urzbeeubvq,uryyn,urnyguvrfg,unljver,unzfgref,unveoehfu,tebhpul,tevfyl,tenghvgbhf,tyhggba,tyvzzre,tvoorevfu,tunfgyl,tragyre,trarebhfyl,trrxl,shuere,sebagvat,sbbyva,snkrf,snpryrff,rkgvathvfure,rkcry,rgpurq,raqnatrevat,qhpxrq,qbqtronyy,qvirf,qvfybpngrq,qvfpercnapl,qribhe,qrenvy,qrzragvn,qnlpner,plavp,pehzoyvat,pbjneqvpr,pbirg,pbeajnyyvf,pbexfperj,pbbxobbx,pbzznaqzragf,pbvapvqragny,pbojrof,pybhqrq,pybttvat,pyvpxvat,pynfc,pubcfgvpxf,pursf,puncf,pnfuvat,pneng,pnyzre,oenmra,oenvajnfuvat,oenqlf,objvat,obarq,oybbqfhpxvat,oyrnpuref,oyrnpurq,orqcna,orneqrq,oneeratre,onpurybef,njjjj,nffherf,nffvtavat,nfcnenthf,ncceruraq,narpqbgr,nzbeny,ntteningvba,nsbbg,npdhnvagnaprf,nppbzzbqngvat,lnxxvat,jbefuvccvat,jynqrx,jvyyln,jvyyvrf,jvttrq,jubbfu,juvfxrq,jngrerq,jnecngu,ibygf,ivbyngrf,inyhnoyrf,hcuvyy,hajvfr,hagvzryl,hafnibel,haerfcbafvir,hachavfurq,harkcynvarq,ghool,gebyyvat,gbkvpbybtl,gbezragrq,gbbgunpur,gvatyl,gvzzvvuu,guhefqnlf,gubernh,greevsvrf,grzcrenzragny,gryrtenzf,gnyxvr,gnxref,flzovbgr,fjvey,fhssbpngr,fghcvqre,fgenccvat,fgrpxyre,fcevatvat,fbzrjnl,fyrrclurnq,fyrqtrunzzre,fynag,fynzf,fubjtvey,fubiryvat,fuzbbcl,funexonvg,funa'g,fpenzoyvat,fpurzngvpf,fnaqrzna,fnoongvpny,ehzzl,erlxwnivx,erireg,erfcbafvir,erfpurqhyrq,erdhvfvgvba,eryvadhvfu,erwbvpr,erpxbavat,erpnag,eronqbj,ernffhenapr,enggyrfanxr,enzoyr,cevzrq,cevprl,cenapr,cbgubyr,cbphf,crefvfg,crecrgengrq,crxne,crryvat,cnfgvzr,cnezrfna,cnprznxre,bireqevir,bzvabhf,bofreinag,abguvatf,abbbbbb,abarkvfgrag,abqqrq,avrprf,artyrpgvat,anhfrngvat,zhgngrq,zhfxrg,zhzoyvat,zbjvat,zbhgushy,zbbfrcbeg,zbabybthr,zvfgehfg,zrrgva,znffrhfr,znagvav,znvyre,znqer,ybjyvsrf,ybpxfzvgu,yvivq,yvira,yvzbf,yvorengvat,yunfn,yravrapl,yrrevat,ynhtunoyr,ynfurf,ynfntar,ynprengvba,xbeora,xngna,xnyra,wvggrel,wnzzvrf,veercynprnoyr,vaghongr,vagbyrenag,vaunyre,vaunyrq,vaqvssrerag,vaqvssrerapr,vzcbhaq,vzcbyvgr,uhzoyl,urebvpf,urvtu,thvyybgvar,thrfgubhfr,tebhaqvat,tevcf,tbffvcvat,tbngrr,tabzrf,tryyne,sehgg,sebovfure,serhqvna,sbbyvfuarff,synttrq,srzzr,sngfb,sngureubbq,snagnfvmrq,snverfg,snvagrfg,rlryvqf,rkgenintnag,rkgengreerfgevny,rkgenbeqvanevyl,rfpnyngbe,ryringr,qeviry,qvffrq,qvfzny,qvfneenl,qvaaregvzr,qrinfgngvba,qrezngbybtvfg,qryvpngryl,qrsebfg,qrohgnagr,qronpyr,qnzbar,qnvagl,phirr,phycn,pehpvsvrq,perrcrq,penlbaf,pbhegfuvc,pbairar,pbaterffjbzna,pbapbpgrq,pbzcebzvfrf,pbzceraqr,pbzzn,pbyrfynj,pybgurq,pyvavpnyyl,puvpxrafuvg,purpxva,prffcbby,pnfxrgf,pnymbar,oebgury,obbzrenat,obqrtn,oynfcurzl,ovgfl,ovpragraavny,oreyvav,orngva,orneqf,oneonf,oneonevnaf,onpxcnpxvat,neeulguzvn,nebhfvat,neovgengbe,nagntbavmr,natyvat,narfgurgvp,nygrepngvba,ntterffbe,nqirefvgl,npnguyn,nnnuuu,jernxvat,jbexhc,jbaqreva,jvgure,jvryqvat,jung'z,jung'pun,jnkrq,ivoengvat,irgrevanevna,iragvat,infrl,inybe,inyvqngr,hcubyfgrel,hagvrq,hafpngurq,havagreehcgrq,hasbetvivat,haqvrf,haphg,gjvaxvrf,ghpxvat,gerngnoyr,gernfherq,genadhvyvgl,gbjafcrbcyr,gbefb,gbzrv,gvcfl,gvafry,gvqvatf,guvegvrgu,gnagehzf,gnzcre,gnyxl,fjnlrq,fjnccvat,fhvgbe,fglyvfg,fgvef,fgnaqbss,fcevaxyref,fcnexyl,fabool,fangpure,fzbbgure,fyrrcva,fueht,fubrobk,furrfu,funpxyrf,frgonpxf,frqngvirf,fperrpuvat,fpbepurq,fpnaarq,fngle,ebnqoybpx,evireonax,evqvphyrq,erfragshy,ercryyrag,erperngr,erpbairar,erohggny,ernyzrqvn,dhvmmrf,dhrfgvbaanver,chapgherq,chpxre,cebybat,cebsrffvbanyvfz,cyrnfnagyl,cvtfgl,craavyrff,cnlpurpxf,cngvragyl,cnenqvat,birenpgvir,binevrf,beqreyvrf,benpyrf,bvyrq,bssraqvat,ahqvr,arbangny,arvtuobeyl,zbbcf,zbbayvtugvat,zbovyvmr,zzzzzz,zvyxfunxr,zravny,zrngf,znlna,znkrq,znatyrq,znthn,yhanpl,yhpxvre,yvgref,ynafohel,xbbxl,xabjva,wrbcneqvmrq,vaxyvat,vaunyngvba,vasyngrq,vasrpgvat,vaprafr,vaobhaq,vzcenpgvpny,vzcrargenoyr,vqrnyvfgvp,v'zzn,ulcbpevgrf,uhegva,uhzoyrq,ubybtenz,ubxrl,ubphf,uvgpuuvxvat,urzbeeubvqf,urnquhagre,unffyrq,unegf,uneqjbexvat,unvephgf,unpxfnj,travgnyf,tnmvyyvba,tnzzl,tnzrfcurer,shthr,sbbgjrne,sbyyl,synfuyvtugf,svirf,svyrg,rkgrahngvat,rfgebtra,ragnvyf,rzormmyrq,rybdhrag,rtbznavnp,qhpgf,qebjfl,qebarf,qberr,qbabiba,qvfthvfrf,qvttva,qrfregvat,qrcevivat,qrslvat,qrqhpgvoyr,qrpbehz,qrpxrq,qnlyvtugf,qnloernx,qnfuobneq,qnzangvba,phqqyvat,pehapuvat,pevpxrgf,penmvrf,pbhapvyzna,pbhturq,pbahaqehz,pbzcyvzragrq,pbunntra,pyhgpuvat,pyhrq,pynqre,purdhrf,purpxcbvag,pungf,punaaryvat,prnfrf,pnenfpb,pncvfpr,pnagnybhcr,pnapryyvat,pnzcfvgr,ohetynef,oernxsnfgf,oen'gnp,oyhrcevag,oyrrqva,oynoorq,orarsvpvnel,onfvat,nireg,ngbar,neyla,nccebirf,ncbgurpnel,nagvfrcgvp,nyrvxhhz,nqivfrzrag,mnqve,jbooyl,jvguanvy,junggnln,junpxvat,jrqtrq,jnaqref,intvany,havzntvanoyr,haqravnoyr,hapbaqvgvbanyyl,hapunegrq,haoevqyrq,gjrrmref,gizrtnfvgr,gehzcrq,gevhzcunag,gevzzvat,gernqvat,genadhvyvmref,gbbagbja,guhax,fhgher,fhccerffvat,fgenlf,fgbarjnyy,fgbtvr,fgrcqnhtugre,fgnpr,fdhvag,fcbhfrf,fcynfurq,fcrnxva,fbhaqre,fbeevre,fbeery,fbzoereb,fbyrzayl,fbsgrarq,fabof,favccl,faner,fzbbguvat,fyhzc,fyvzronyy,fynivat,fvyragyl,fuvyyre,funxrqbja,frafngvbaf,fpelvat,fpehzcgvbhf,fpernzva,fnhpl,fnagbfrf,ebhaqhc,ebhturq,ebfnel,eborpunhk,ergebfcrpg,erfpvaq,ercerurafvoyr,ercry,erzbqryvat,erpbafvqrevat,erpvcebpngr,envyebnqrq,cflpuvpf,cebzbf,cebo'yl,cevfgvar,cevagbhg,cevrfgrff,cerahcgvny,cerprqrf,cbhgl,cubavat,crccl,cnevnu,cnepurq,cnarf,bireybnqrq,bireqbvat,alzcuf,abgure,abgrobbxf,arnevat,arnere,zbafgebfvgl,zvynql,zvrxr,zrcurfgb,zrqvpngrq,znefunyf,znavybj,znzzbtenz,z'ynql,ybgfn,ybbcl,yrfvba,yravrag,yrneare,ynfmyb,xebff,xvaxf,wvakrq,vaibyhagnel,vafhobeqvangvba,vatengr,vasyngnoyr,vapneangr,vanar,ulcbtylprzvn,uhagva,uhzbatbhf,ubbqyhz,ubaxvat,urzbeeuntr,urycva,ungube,ungpuvat,tebggb,tenaqznzn,tbevyynf,tbqyrff,tveyvfu,tubhyf,trefujva,sebfgrq,syhggre,syntcbyr,srgpuvat,snggre,snvgushyyl,rkreg,rinfvba,rfpnyngr,ragvpvat,rapunagerff,rybcrzrag,qevyyf,qbjagvzr,qbjaybnqvat,qbexf,qbbejnlf,qvihytr,qvffbpvngvir,qvftenprshy,qvfpbapregvat,qrgrevbengr,qrfgvavrf,qrcerffvir,qragrq,qravz,qrpehm,qrpvqrqyl,qrnpgvingr,qnlqernzf,pheyf,phycevg,pehryrfg,pevccyvat,penaoreevrf,pbeivf,pbccrq,pbzzraq,pbnfgthneq,pybavat,pvedhr,puheavat,pubpx,puvinyel,pngnybthrf,pnegjurryf,pnebyf,pnavfgre,ohggrerq,ohaqg,ohywnabss,ohooyvat,oebxref,oebnqra,oevzfgbar,oenvayrff,oberf,onqzbhguvat,nhgbcvybg,nfpregnva,nbegn,nzcngn,nyyraol,nppbfgrq,nofbyir,nobegrq,nnntu,nnnnnnu,lbaqre,lryyva,jlaqunz,jebatqbvat,jbbqfobeb,jvttvat,jnfgrynaq,jneenagl,jnygmrq,jnyahgf,ivivqyl,irttvr,haarprffnevyl,haybnqrq,havpbeaf,haqrefgngrq,hapyrna,hzoeryynf,gjveyvat,ghecragvar,ghccrejner,gevntr,gerrubhfr,gvqovg,gvpxyrq,guerrf,gubhfnaqgu,guvatvr,grezvanyyl,grrguvat,gnffry,gnyxvrf,fjbba,fjvgpuobneq,fjreirq,fhfcvpvbhfyl,fhofrdhragylar,fhofpevor,fgehqry,fgebxvat,fgevpgrfg,fgrafynaq,fgneva,fgnaaneg,fdhvezvat,fdhrnyvat,fberyl,fbsgvr,fabbxhzf,faviryvat,fzvqtr,fybgu,fxhyxvat,fvzvna,fvtugfrrvat,fvnzrfr,fuhqqre,fubccref,funecra,funaara,frzgrk,frpbaqunaq,frnapr,fpbjy,fpbea,fnsrxrrcvat,ehffr,ehzzntr,ebfuzna,ebbzvrf,ebnpurf,evaqf,ergenpr,ergverf,erfhfpvgngr,ereha,erchgngvbaf,erxnyy,erserfuzrag,erranpgzrag,erpyhfr,enivbyv,enirf,enxvat,chefrf,chavfunoyr,chapuyvar,chxrq,cebfxl,cerivrjf,cbhtuxrrcfvr,cbccvaf,cbyyhgrq,cynpragn,cvffl,crghynag,crefrirenapr,crnef,cnjaf,cnfgevrf,cnegnxr,cnaxl,cnyngr,biremrnybhf,bepuvqf,bofgehpgvat,bowrpgviryl,bovghnevrf,borqvrag,abguvatarff,zhfgl,zbgureyl,zbbavat,zbzragbhf,zvfgnxvat,zvahgrzra,zvybf,zvpebpuvc,zrfrys,zrepvyrff,zrarynhf,znmry,znfgheongr,znubtnal,ylfvfgengn,yvyyvrasvryq,yvxnoyr,yvorengr,yriryrq,yrgqbja,ynelak,yneqnff,ynvarl,ynttrq,xybery,xvqanccvatf,xrlrq,xnezvp,wrrovrf,vengr,vaihyarenoyr,vagehfvir,vafrzvangvba,vadhver,vawrpgvat,vasbezngvir,vasbeznagf,vzcher,vzcnffr,vzonynapr,vyyvgrengr,uheyrq,uhagf,urzngbzn,urnqfgebat,unaqznqr,unaqvjbex,tebjyvat,tbexl,trgpun,trfhaqurvg,tnmvat,tnyyrl,sbbyvfuyl,sbaqarff,sybevf,srebpvbhf,srngurerq,sngrshy,snapvrf,snxrf,snxre,rkcver,rire'obql,rffragvnyf,rfxvzbf,rayvtugravat,rapuvynqn,rzvffnel,rzobyvfz,ryfvaber,rpxyvr,qerapurq,qenmv,qbcrq,qbttvat,qbnoyr,qvfyvxrf,qvfubarfgl,qvfratntr,qvfpbhentvat,qrenvyrq,qrsbezrq,qrsyrpg,qrsre,qrnpgvingrq,pevcf,pbafgryyngvbaf,pbaterffzra,pbzcyvzragvat,pyhoovat,pynjvat,puebzvhz,puvzrf,purjf,purngva,punfgr,pryyoybpx,pnivat,pngrerq,pngnpbzof,pnynznev,ohpxvat,oehyrr,oevgf,oevfx,oerrmrf,obhaprf,obhqbve,ovaxf,orggre'a,oryyvrq,oruenav,orunirf,orqqvat,onyzl,onqzbhgu,onpxref,niratvat,nebzngurencl,nezcvg,nezbver,nalguva,nabalzbhfyl,naavirefnevrf,nsgrefunir,nssyvpgvba,nqevsg,nqzvffvoyr,nqvrh,npdhvggny,lhpxl,lrnea,juvggre,juveycbby,jraqvtb,jngpuqbt,jnaanorf,jnxrl,ibzvgrq,ibvprznvy,inyrqvpgbevna,hggrerq,hajrq,haerdhvgrq,haabgvprq,haareivat,haxvaq,hawhfg,havsbezrq,hapbasvezrq,hanqhygrengrq,hanppbhagrq,htyvre,gheabss,genzcyrq,genzryy,gbnqf,gvzohxgh,guebjonpx,guvzoyr,gnfgryrff,gnenaghyn,gnznyr,gnxrbiref,fjvfu,fhccbfvat,fgernxvat,fgneture,fgnamv,fgnof,fdhrnzvfu,fcynggrerq,fcvevghnyyl,fcvyg,fcrpvnyvgl,fznpxvat,fxljver,fxvcf,fxnnen,fvzcngvpb,fuerqqvat,fubjva,fubegphgf,fuvgr,fuvryqvat,funzryrffyl,frensvar,fragvzragnyvgl,frnfvpx,fpurzre,fpnaqnybhf,fnvagrq,evrqrafpuarvqre,eulzvat,eriry,ergenpgbe,ergneqf,erfheerpg,erzvff,erzvavfpvat,erznaqrq,ervora,ertnvaf,ershry,erserfure,erqbvat,erqurnqrq,ernffherq,erneenatrq,enccbeg,dhzne,cebjyvat,cerwhqvprf,cerpnevbhf,cbjjbj,cbaqrevat,cyhatre,cyhatrq,cyrnfnagivyyr,cynlcra,cuyrtz,cresrpgrq,cnapernf,cnyrl,binel,bhgohefgf,bccerffrq,bbbuuu,bzbebpn,bssrq,b'gbbyr,ahegher,ahefrznvq,abfroyrrq,arpxgvr,zhggrevat,zhapuvrf,zhpxvat,zbthy,zvgbfvf,zvfqrzrnabe,zvfpneevrq,zvyyvbagu,zvtenvarf,zvqyre,znavphevfg,znaqryonhz,znantrnoyr,znyshapgvbarq,zntanavzbhf,ybhqzbhgu,ybatrq,yvsrfglyrf,yvqql,yvpxrgl,yrcerpunhaf,xbznxb,xyhgr,xraary,whfgvslvat,veerirefvoyr,vairagvat,vagretnynpgvp,vafvahngr,vadhvevat,vatrahvgl,vapbapyhfvir,vaprffnag,vzcebi,vzcrefbangvba,ulran,uhzcreqvapx,uhoon,ubhfrjbex,ubssn,uvgure,uvffl,uvccl,uvwnpxrq,urcneva,uryybbb,urnegu,unffyrf,unvefglyr,unununun,unqqn,thlf'yy,thggrq,thyyf,tevggl,tevribhf,tensg,tbffnzre,tbbqre,tnzoyrq,tnqtrgf,shaqnzragnyf,sehfgengvbaf,sebyvpxvat,sebpx,sevyyl,sberfrra,sbbgybbfr,sbaqyl,syvegngvba,syvapurq,synggra,snegurfg,rkcbfre,rinqvat,rfpebj,rzcnguvmr,rzoelbf,rzobqvzrag,ryyforet,robyn,qhypvarn,qernzva,qenjonpxf,qbgvat,qbbfr,qbbsl,qvfgheof,qvfbeqreyl,qvfthfgf,qrgbk,qrabzvangbe,qrzrnabe,qryvevbhfyl,qrpbqr,qronhpurel,pebvffnag,penivatf,penaxrq,pbjbexref,pbhapvybe,pbashfrf,pbasvfpngr,pbasvarf,pbaqhvg,pbzcerff,pbzorq,pybhqvat,pynzcf,pvapu,puvaarel,pryroengbel,pngnybtf,pnecragref,pneany,pnava,ohaqlf,ohyyqbmre,ohttref,ohryyre,oenval,obbzvat,obbxfgberf,oybbqongu,ovggrefjrrg,oryyubc,orrcvat,ornafgnyx,ornql,onhqrynver,onegraqref,onetnvaf,niregrq,neznqvyyb,nccerpvngvat,nccenvfrq,nagyref,nybbs,nyybjnaprf,nyyrljnl,nssyrpx,nowrpg,mvypu,lbhber,knank,jerapuvat,jbhyqa,jvggrq,jvppn,juberubhfr,jubbb,juvcf,ibhpuref,ivpgvzvmrq,ivpbqva,hagrfgrq,hafbyvpvgrq,hasbphfrq,hasrggrerq,hasrryvat,harkcynvanoyr,haqrefgnssrq,haqreoryyl,ghgbevny,gelfg,genzcbyvar,gbjrevat,gvenqr,guvrivat,gunat,fjvzzva,fjnlmnx,fhfcrpgvat,fhcrefgvgvbaf,fghoobeaarff,fgernzref,fgenggzna,fgbarjnyyvat,fgvssf,fgnpxvat,fcbhg,fcyvpr,fbaevfn,fznezl,fybjf,fyvpvat,fvfgreyl,fuevyy,fuvarq,frrzvat,frqyrl,frngorygf,fpbhe,fpbyq,fpubbylneq,fpneevat,fnyvrev,ehfgyvat,ebkohel,erjver,eriirq,ergevrire,erchgnoyr,erzbqry,ervaf,ervapneangvba,enapr,ensgref,enpxrgf,dhnvy,chzonn,cebpynvz,cebovat,cevingrf,cevrq,cerjrqqvat,cerzrqvgngvba,cbfghevat,cbfgrevgl,cyrnfhenoyr,cvmmrevn,cvzcf,craznafuvc,crapunag,cryivf,bireghea,birefgrccrq,birepbng,biraf,bhgfzneg,bhgrq,bbbuu,bapbybtvfg,bzvffvba,bssunaq,bqbhe,alnmvna,abgnevmrq,abobql'yy,avtugvr,aniry,anoorq,zlfgvdhr,zbire,zbegvpvna,zbebfr,zbengbevhz,zbpxvatoveq,zbofgref,zvatyvat,zrguvaxf,zrffratrerq,zreqr,znfbpuvfg,znegbhs,znegvnaf,znevanen,znaenl,znwbeyl,zntavslvat,znpxrery,yhevq,yhttvat,ybaartna,ybngufbzr,yynagnab,yvorenpr,yrcebfl,yngvabf,ynagreaf,ynzrfg,ynsrerggr,xenhg,vagrfgvar,vaabprapvn,vauvovgvbaf,varssrpghny,vaqvfcbfrq,vaphenoyr,vapbairavraprq,vanavzngr,vzcebonoyr,vzcybqr,ulqenag,uhfgyvat,uhfgyrq,uhribf,ubj'z,ubbrl,ubbqf,ubapub,uvatr,uvwnpx,urvzyvpu,unzhancgen,unynqxv,unvxh,unttyr,thgfl,tehagvat,tehryvat,tevoof,terril,tenaqfgnaqvat,tbqcneragf,tybjf,tyvfgravat,tvzzvpx,tncvat,senvfre,sbeznyvgvrf,sbervtare,sbyqref,sbttl,svggl,svraqf,sr'abf,snibhef,rlrvat,rkgbeg,rkcrqvgr,rfpnyngvat,rcvarcuevar,ragvgyrf,ragvpr,rzvarapr,rvtugf,rneguyvatf,rntreyl,qhaivyyr,qhtbhg,qbhoyrzrng,qbyvat,qvfcrafvat,qvfcngpure,qvfpbybengvba,qvaref,qvqqyl,qvpgngrf,qvnmrcnz,qrebtngbel,qryvtugf,qrsvrf,qrpbqre,qrnyvb,qnafba,phgguebng,pehzoyrf,pebvffnagf,perzngbevhz,pensgfznafuvc,pbhyq'n,pbeqyrff,pbbyf,pbaxrq,pbasvar,pbaprnyvat,pbzcyvpngrf,pbzzhavdhr,pbpxnznzvr,pbnfgref,pyboorerq,pyvccvat,pyvcobneq,pyrzramn,pyrnafre,pvephzpvfvba,punahxnu,pregnvanyl,pryyzngr,pnapryf,pnqzvhz,ohmmrq,ohzfgrnq,ohpxb,oebjfvat,oebgu,oenire,obttyvat,oboovat,oyheerq,ovexurnq,orarg,oryirqrer,oryyvrf,ortehqtr,orpxjbegu,onaxl,onyqarff,onttl,onolfvggref,nirefvba,nfgbavfurq,nffbegrq,nccrgvgrf,natvan,nzvff,nzohynaprf,nyvovf,nvejnl,nqzverf,nqurfvir,lblbh,kkkkkk,jernxrq,jenpxvat,jbbbb,jbbvat,jvfrq,jvyfuver,jrqtvr,jntvat,ivbyrgf,ivaprl,hcyvsgvat,hagehfgjbegul,hazvgvtngrq,hariragshy,haqerffvat,haqrecevivyrtrq,haoheqra,hzovyvpny,gjrnxvat,ghedhbvfr,gernpurel,gbffrf,gbepuvat,gbbgucvpx,gbnfgf,guvpxraf,grermn,granpvbhf,gryqne,gnvag,fjvyy,fjrngva,fhogyl,fhoqheny,fgerrc,fgbcjngpu,fgbpxubyqre,fgvyyjngre,fgnyxref,fdhvfurq,fdhrrtrr,fcyvagref,fcyvprq,fcyng,fcvrq,fcnpxyr,fbcuvfgvpngvba,fancfubgf,fzvgr,fyhttvfu,fyvgurerq,fxrrgref,fvqrjnyxf,fvpxyl,fuehtf,fuehoorel,fuevrxvat,fuvgyrff,frggva,fragvaryf,frysvfuyl,fpnepryl,fnatevn,fnapghz,fnuwuna,ehfgyr,ebivat,ebhfvat,ebfbzbes,evqqyrq,erfcbafvoyl,erabve,erzbenl,erzrqvny,ershaqnoyr,erqverpg,erpurpx,enirajbbq,engvbanyvmvat,enzhf,enzryyr,dhvirevat,clwnznf,cflpubf,cebibpngvbaf,cebhqre,cebgrfgbef,cebqqrq,cebpgbybtvfg,cevzbeqvny,cevpxf,cevpxyl,cerprqragf,cragnatryv,cngurgvpnyyl,cnexn,cnenxrrg,cnavpxl,bireguehfgre,bhgfznegrq,begubcrqvp,bapbzvat,bssvat,ahgevgvbhf,ahgubhfr,abhevfuzrag,avooyvat,arjyljrq,anepvffvfg,zhgvyngvba,zhaqnar,zhzzvrf,zhzoyr,zbjrq,zbeirea,zbegrz,zbcrf,zbynffrf,zvfcynpr,zvfpbzzhavpngvba,zvarl,zvqyvsr,zranpvat,zrzbevmvat,znffntvat,znfxvat,zntargf,yhkhevrf,ybhatvat,ybgunevb,yvcbfhpgvba,yvqbpnvar,yvoorgf,yrivgngr,yrrjnl,ynhaprybg,ynerx,ynpxrlf,xhzonln,xelcgbavgr,xancfnpx,xrlubyr,xngnenathen,whvprq,wnxrl,vebapynq,vaibvpr,vagregjvarq,vagreyhqr,vagresrerf,vawher,vasreany,vaqrrql,vaphe,vapbeevtvoyr,vapnagngvbaf,vzcrqvzrag,vtybb,ulfgrerpgbzl,ubhaqrq,ubyyrevat,uvaqfvtug,urrovr,unirfunz,unfrashff,unaxrevat,unatref,unxhan,thgyrff,thfgb,tehoovat,teeee,tenmrq,tengvsvpngvba,tenaqrhe,tbenx,tbqnzzvg,tanjvat,tynaprq,sebfgovgr,serrf,senmmyrq,senhyrva,sengreavmvat,sbeghargryyre,sbeznyqrulqr,sbyybjhc,sbttvrfg,syhaxl,syvpxrevat,sverpenpxref,svttre,srghfrf,sngrf,rlryvare,rkgerzvgvrf,rkgenqvgrq,rkcverf,rkprrqvatyl,rincbengr,rehcg,rcvyrcgvp,ragenvyf,rzcbevhz,rtertvbhf,rttfuryyf,rnfvat,qhjnlar,qebyy,qerlshff,qbirl,qbhoyl,qbbml,qbaxrlf,qbaqr,qvfgehfg,qvfgerffvat,qvfvagrtengr,qvfperrgyl,qrpncvgngrq,qrnyva,qrnqre,qnfurq,qnexebbz,qnerf,qnqqvrf,qnooyr,phful,phcpnxrf,phssrq,pebhcvre,pebnx,penccrq,pbhefvat,pbbyref,pbagnzvangr,pbafhzzngrq,pbafgehrq,pbaqbf,pbapbpgvba,pbzchyfvba,pbzzvfu,pbrepvba,pyrzrapl,pynveiblnag,pvephyngr,purfgregba,purpxrerq,puneyngna,puncrebarf,pngrtbevpnyyl,pngnenpgf,pnenab,pncfhyrf,pncvgnyvmr,oheqba,ohyyfuvggvat,oerjrq,oernguyrff,oernfgrq,oenvafgbezvat,obffvat,obernyvf,obafbve,oboxn,obnfg,oyvzc,oyrrc,oyrrqre,oynpxbhgf,ovfdhr,ovyyobneqf,orngvatf,onloreel,onfurq,onzobbmyrq,onyqvat,onxynin,onssyrq,onpxsverf,ononx,njxjneqarff,nggrfg,nggnpuzragf,ncbybtvmrf,nalubb,nagvdhngrq,nypnagr,nqivfnoyr,nnuuu,nnnuu,mngnep,lrneobbxf,jhqqln,jevatvat,jbznaubbq,jvgyrff,jvatvat,jungfn,jrggvat,jngrecebbs,jnfgva,ibtryzna,ibpngvba,ivaqvpngrq,ivtvynapr,ivpnevbhfyl,iramn,inphhzvat,hgrafvyf,hcyvax,hairvy,haybirq,haybnqvat,havauvovgrq,hanggnpurq,gjrnxrq,gheavcf,gevaxrgf,gbhtura,gbgvat,gbcfvqr,greebef,greevsl,grpuabybtvpnyyl,gneavfu,gntyvngv,fmcvyzna,fheyl,fhccyr,fhzzngvba,fhpxva,fgrczbz,fdhrnxvat,fcynfuzber,fbhssyr,fbyvgnver,fbyvpvgngvba,fbynevhz,fzbxref,fyhttrq,fyboorevat,fxlyvtug,fxvzcl,fvahfrf,fvyraprq,fvqroheaf,fuevaxntr,fubqql,fuuuuuu,furyyrq,funerrs,funatev,frhff,freranqr,fphssyr,fpbss,fpnaaref,fnhrexenhg,fneqvarf,fnepbcunthf,fnyil,ehfgrq,ehffryyf,ebjobng,ebysfxl,evatfvqr,erfcrpgnovyvgl,ercnengvbaf,erartbgvngr,erzvavfpr,ervzohefr,ertvzra,envapbng,dhvooyr,chmmyrq,checbfrshyyl,chovp,cebbsvat,cerfpevovat,ceryvz,cbvfbaf,cbnpuvat,crefbanyvmrq,crefbanoyr,crebkvqr,cragbaivyyr,cnlcubar,cnlbssf,cnyrbagbybtl,biresybjvat,bbzcn,bqqrfg,bowrpgvat,b'uner,b'qnavry,abgpurf,abobql'q,avtugfgnaq,arhgenyvmrq,areibhfarff,areql,arrqyrffyl,andhnqnu,anccl,anaghpxrg,anzoyn,zbhagnvarre,zbgureshpxva,zbeevr,zbabcbyvmvat,zbury,zvfgerngrq,zvfernqvat,zvforunir,zvenznk,zvavina,zvyyvtenz,zvyxfunxrf,zrgnzbecubfvf,zrqvpf,znggerffrf,zngurfne,zngpuobbx,zngngn,znelf,znyhppv,zntvyyn,ylzcubzn,ybjref,ybeql,yvaraf,yvaqrazrlre,yvzryvtug,yrncg,ynkngvir,yngure,yncry,ynzccbfg,ynthneqvn,xvaqyvat,xrttre,xnjnyfxl,whevrf,wbxva,wrfzvaqre,vagreavat,vaarezbfg,vawha,vasnyyvoyr,vaqhfgevbhf,vaqhytrapr,vapvarengbe,vzcbffvovyvgl,vzcneg,vyyhzvangr,vthnanf,ulcabgvp,ulcrq,ubfcvgnoyr,ubfrf,ubzrznxre,uvefpuzhyyre,urycref,urnqfrg,thneqvnafuvc,thncb,tehool,tenabyn,tenaqqnqql,tbera,tboyrg,tyhggbal,tyborf,tvbeab,trggre,trevgby,tnffrq,tnttyr,sbkubyr,sbhyrq,sbergbyq,sybbeobneqf,syvccref,synxrq,sversyvrf,srrqvatf,snfuvbanoyl,sneenthg,snyyonpx,snpvnyf,rkgrezvangr,rkpvgrf,rirelguvat'yy,rirava,rguvpnyyl,rafhr,rarzn,rzcngu,ryhqrq,rybdhragyl,rwrpg,rqrzn,qhzcyvat,qebccvatf,qbyyrq,qvfgnfgrshy,qvfchgvat,qvfcyrnfher,qvfqnva,qrgreerag,qrulqengvba,qrsvrq,qrpbzcbfvat,qnjarq,qnvyvrf,phfgbqvna,pehfgf,pehpvsvk,pebjavat,pevre,percg,penmr,penjyf,pbhyqa,pbeerpgvat,pbexznfgre,pbccresvryq,pbbgvrf,pbagencgvba,pbafhzrf,pbafcver,pbafragvat,pbafragrq,pbadhref,pbatravnyvgl,pbzcynvaf,pbzzhavpngbe,pbzzraqnoyr,pbyyvqr,pbynqnf,pbynqn,pybhg,pybbarl,pynffvsvrqf,pynzzl,pvivyvgl,pveeubfvf,puvax,pngfxvyyf,pneiref,pnecbby,pneryrffarff,pneqvb,pneof,pncnqrf,ohgnov,ohfznyvf,ohecvat,oheqraf,ohaxf,ohapun,ohyyqbmref,oebjfr,oebpxbivpu,oernxguebhtuf,oeninqb,obbtrgl,oybffbzf,oybbzvat,oybbqfhpxre,oyvtug,orggregba,orgenlre,oryvggyr,orrcf,onjyvat,onegf,onegraqvat,onaxobbxf,onovfu,ngebcvar,nffregvir,nezoehfg,nalnaxn,naablnapr,narzvp,nantb,nvejnirf,nvzyrffyl,nnnetu,nnnaq,lbtuheg,jevguvat,jbexnoyr,jvaxvat,jvaqrq,jvqra,jubbcvat,juvgre,jungln,jnmbb,ibvyn,ivevyr,irfgf,irfgvohyr,irefrq,inavfurf,hexry,hcebbg,hajneenagrq,hafpurqhyrq,hacnenyyryrq,haqretenq,gjrrqyr,ghegyrarpx,gheona,gevpxrel,genafcbaqre,gblrq,gbjaubhfr,gulfrys,guhaqrefgbez,guvaavat,gunjrq,grgure,grpuavpnyvgvrf,gnh'ev,gneavfurq,gnssrgn,gnpxrq,flfgbyvp,fjreir,fjrrcfgnxrf,fjnof,fhfcraqref,fhcrejbzna,fhafrgf,fhpphyrag,fhocbranf,fghzcre,fgbfu,fgbznpunpur,fgrjrq,fgrccva,fgrcngrpu,fgngrfvqr,fcvpbyv,fcnevat,fbhyyrff,fbaargf,fbpxrgf,fangpuvat,fzbgurevat,fyhfu,fybzna,fynfuvat,fvggref,fvzcyrgba,fvtuf,fvqen,fvpxraf,fuhaarq,fuehaxra,fubjovm,fubccrq,fuvzzrevat,funttvat,frzoynapr,frthr,frqngvba,fphmmyrohgg,fphzontf,fperjva,fpbhaqeryf,fpnefqnyr,fpnof,fnhpref,fnvagyl,fnqqrarq,ehanjnlf,ehanebhaq,eurln,erfragvat,erunfuvat,erunovyvgngrq,erterggnoyr,erserfurq,erqvny,erpbaarpgvat,enirabhf,encvat,ensgvat,dhnaqnel,clyrn,chgevq,chssvat,cflpubcnguvp,ceharf,cebongr,cenlva,cbzrtenangr,cyhzzrgvat,cynavat,cynthrf,cvangn,cvgul,creirefvba,crefbanyf,crepurq,crrcf,crpxvfu,cninebggv,cnwnzn,cnpxva,cnpvsvre,birefgrccvat,bxnzn,bofgrgevpvna,ahgfb,ahnapr,abeznypl,abaartbgvnoyr,abznx,avaal,avarf,avprl,arjfsynfu,arhgrerq,argure,artyvtrr,arpebfvf,anivtngvat,anepvffvfgvp,zlyvr,zhfrf,zbzragb,zbvfghevmre,zbqrengvba,zvfvasbezrq,zvfpbaprcgvba,zvaavsvryq,zvxxbf,zrgubqvpny,zroor,zrntre,znlorf,zngpuznxvat,znfel,znexbivp,znynxnv,yhmuva,yhfgvat,yhzorewnpx,ybbcubyrf,ybnavat,yvtugravat,yrbgneq,ynhaqre,ynznmr,xhoyn,xarryvat,xvobfu,whzcfhvg,wbyvrg,wbttre,wnabire,wnxbinfnhef,veercnenoyr,vaabpragyl,vavtb,vasbzrepvny,varkcyvpnoyr,vaqvfcrafnoyr,vzcertangrq,vzcbffvoyl,vzvgngvat,uhapurf,uhzzhf,ubhzsbeg,ubgurnq,ubfgvyrf,ubbirf,ubbyvtnaf,ubzbf,ubzvr,uvffrys,urlll,urfvgnag,unatbhg,unaqfbzrfg,unaqbhgf,unveyrff,tjraavr,thmmyvat,thvarirer,tehatl,tbnqvat,tynevat,tniry,tneqvab,tnaterar,sehvgshy,sevraqyvre,serpxyr,sernxvfu,sbeguevtug,sbernez,sbbgabgr,sybcf,svkre,sverpenpxre,svavgb,svttrerq,srmmvx,snfgrarq,snesrgpurq,snapvshy,snzvyvnevmr,snver,snueraurvg,rkgenintnamn,rkcybengbel,rkcynangbel,riretynqrf,rhahpu,rfgnf,rfpncnqr,renfref,rzcglvat,rzonenffvat,qjrro,qhgvshy,qhzcyvatf,qevrf,qensgl,qbyyubhfr,qvfzvffvat,qvftenprq,qvfpercnapvrf,qvforyvrs,qvfnterrvat,qvtrfgvba,qvqag,qrivyrq,qrivngrq,qrzreby,qryrpgnoyr,qrpnlvat,qrpnqrag,qrnef,qngryrff,q'nytbhg,phygvingvat,pelgb,pehzcyrq,pehzoyrq,pebavrf,pernfr,penirf,pbmlvat,pbeqhebl,pbatenghyngrq,pbasvqnagr,pbzcerffvbaf,pbzcyvpngvat,pbzcnqer,pbrepr,pynffvre,puhzf,puhznfu,puvinyebhf,puvacbxb,puneerq,punsvat,pryvonpl,pnegrq,pneelva,pnecrgvat,pnebgvq,pnaavonyf,pnaqbe,ohggrefpbgpu,ohfgf,ohfvre,ohyypenc,ohttva,oebbxfvqr,oebqfxv,oenffvrer,oenvajnfu,oenvavnp,obgeryyr,obaoba,obngybnq,oyvzrl,oynevat,oynpxarff,ovcnegvfna,ovzobf,ovtnzvfg,ovror,ovqvat,orgenlnyf,orfgbj,oryyrebcuba,orqcnaf,onffvarg,onfxvat,onemvav,onealneq,onesrq,onpxhcf,nhqvgrq,nfvavar,nfnynnz,nebhfr,nccyrwnpx,naablf,napubivrf,nzchyr,nynzrvqn,ntteningr,nqntr,nppbzcyvprf,lbxry,l'rire,jevatre,jvgjre,jvguqenjnyf,jvaqjneq,jvyyshyyl,jubesva,juvzfvpny,juvzcrevat,jrqqva,jrngurerq,jnezrfg,jnagba,ibynag,ivfpreny,ivaqvpngvba,irttvrf,hevangr,hcebne,hajevggra,hajenc,hafhat,hafhofgnagvngrq,hafcrnxnoyl,hafpehchybhf,haeniryvat,hadhbgr,hadhnyvsvrq,hashysvyyrq,haqrgrpgnoyr,haqreyvarq,hanggnvanoyr,hanccerpvngrq,hzzzz,hypref,glyraby,gjrnx,gheava,ghngun,gebcrm,geryyvf,gbccvatf,gbbgva,gbbqyr,gvaxrevat,guevirf,gurfcvf,gurngevpf,gunguregba,grzcref,gnivatgba,gnegne,gnzcba,fjryyrq,fhgherf,fhfgranapr,fhasybjref,fhoyrg,fghoovaf,fgehggvat,fgerja,fgbjnjnl,fgbvp,fgreava,fgnovyvmvat,fcvenyvat,fcvafgre,fcrrqbzrgre,fcrnxrnfl,fbbbb,fbvyrq,farnxva,fzvgurerraf,fzryg,fznpxf,fynhtugreubhfr,fynpxf,fxvqf,fxrgpuvat,fxngrobneqf,fvmmyvat,fvkrf,fveerr,fvzcyvfgvp,fubhgf,fubegrq,fubrynpr,furrvg,funeqf,funpxyrq,frdhrfgrerq,fryznx,frqhprf,frpyhfvba,frnzfgerff,frnornf,fpbbcf,fpbbcrq,fpniratre,fngpu,f'zber,ehqrarff,ebznapvat,evbwn,evsxva,evrcre,erivfr,erhavbaf,erchtanag,ercyvpngvat,ercnvq,erarjvat,erynkrf,erxvaqyr,erterggnoyl,ertrarengr,erryf,erpvgvat,ernccrne,ernqva,enggvat,encrf,enapure,enzzrq,envafgbez,envyebnqvat,dhrref,chakfhgnjarl,chavfurf,cfffg,cehql,cebhqrfg,cebgrpgbef,cebpenfgvangvat,cebnpgvir,cevff,cbfgzbegrz,cbzcbzf,cbvfr,cvpxvatf,cresrpgvbavfg,crerggv,crbcyr'yy,crpxvat,cngebyzna,cnenyrtny,cnentencuf,cncnenmmv,cnaxbg,cnzcrevat,birefgrc,birecbjre,bhgjrvtu,bzavcbgrag,bqvbhf,ahjnaqn,ahegherq,arjfebbz,arrfba,arrqyrcbvag,arpxynprf,arngb,zhttref,zhssyre,zbhfl,zbhearq,zbfrl,zbcrl,zbatbyvnaf,zbyql,zvfvagrecerg,zvavone,zvpebsvyz,zraqbyn,zraqrq,zryvffnaqr,znfgheongvat,znfongu,znavchyngrf,znvzrq,znvyobkrf,zntargvfz,z'ybeq,z'ubarl,ylzcu,yhatr,ybiryvre,yrssregf,yrrmnx,yrqtref,yneenol,ynybbfu,xhaqha,xbmvafxv,xabpxbss,xvffva,xvbfx,xraarqlf,xryyzna,xneyb,xnyrvqbfpbcr,wrssl,wnljnyxvat,vafgehpgvat,vasenpgvba,vasbezre,vasnepgvba,vzchyfviryl,vzcerffvat,vzcrefbangrq,vzcrnpu,vqvbpl,ulcreobyr,uheenl,uhzcrq,uhuhu,ufvat,ubeqrf,ubbqyhzf,ubaxl,uvgpuuvxre,uvqrbhfyl,urnivat,urngupyvss,urnqtrne,urnqobneq,unmvat,unerz,unaqcevag,unvefcenl,thgvheerm,tbbfrohzcf,tbaqbyn,tyvgpurf,tnfcvat,sebyvp,serrjnlf,senlrq,sbegvghqr,sbetrgshy,sbersnguref,sbaqre,sbvyrq,sbnzvat,sybffvat,synvyvat,svgmtrenyqf,sverubhfr,svaqref,svsgvrgu,sryynu,snjavat,snedhnnq,snenjnl,snapvrq,rkgerzvfgf,rkbepvfg,rkunyr,rguebf,ragehfg,raahv,raretvmrq,raprcunyvgvf,rzormmyvat,ryfgre,ryvkve,ryrpgebylgrf,qhcyrk,qelref,qerky,qerqtvat,qenjonpx,qba'gf,qbovfpu,qvibeprr,qvferfcrpgrq,qvfcebir,qvfborlvat,qvfvasrpgnag,qvatl,qvterff,qvrgvat,qvpgngvat,qribherq,qrivfr,qrgbangbef,qrfvfg,qrfregre,qreevrer,qreba,qrprcgvir,qrovyvgngvat,qrngujbx,qnssbqvyf,phegfl,phefbel,phccn,phzva,pebaxvgr,perzngvba,perqrapr,penaxvat,pbirehc,pbhegrq,pbhagva,pbhafryyvat,pbeaonyy,pbagragzrag,pbafrafhny,pbzcbfg,pyhrgg,pyrireyl,pyrnafrq,pyrnayvarff,pubcrp,pubzc,puvaf,puvzr,purfjvpx,purffyre,purncrfg,punggrq,pnhyvsybjre,pngunefvf,pngpuva,pnerff,pnzpbeqre,pnybevr,pnpxyvat,olfgnaqref,ohggbarq,ohggrevat,ohggrq,ohevrf,ohetry,ohssbba,oebtan,oenttrq,obhgebf,obtrlzna,oyhegvat,oyheo,oybjhc,oybbqubhaq,oyvffshy,oveguznex,ovtbg,orfgrfg,orygrq,oryyvtrerag,orttva,orsnyy,orrfjnk,orngavx,ornzvat,oneevpnqr,onttbyv,onqarff,njbxr,negfl,negshy,nebha,nezcvgf,nezvat,naavuvyngr,navfr,natvbtenz,nanrfgurgvp,nzbebhf,nzovnapr,nyyvtngbef,nqbengvba,nqzvggnapr,nqnzn,nolqbf,mbaxrq,muvintb,lbexva,jebatshyyl,jevgva,jenccref,jbeeljneg,jbbcf,jbaqresnyyf,jbznayl,jvpxrqarff,jubbcvr,jubyrurnegrqyl,juvzcre,juvpu'yy,jurrypunvef,jung'ln,jneenagrq,jnyybc,jnqvat,jnpxrq,ivetvany,irezbhgu,irezrvy,iretre,iragevff,irarre,inzcven,hgreb,hfuref,hetragyl,hagbjneq,hafunxnoyr,hafrggyrq,haehyl,haybpxf,hatbqyl,haqhr,hapbbcrengvir,hapbagebyynoyl,haorngnoyr,gjvgpul,ghzoyre,gehrfg,gevhzcuf,gevcyvpngr,gevoorl,gbegherf,gbatnerr,gvtugravat,gubenmvar,gurerf,grfgvsvrf,grrantrq,grneshy,gnkvat,gnyqbe,flyynohf,fjbbcf,fjvatva,fhfcraqvat,fhaohea,fghggrevat,fghcbe,fgevqrf,fgengrtvmr,fgenathyngvba,fgbbcrq,fgvchyngvba,fgvatl,fgncyrq,fdhrnxf,fdhnjxvat,fcbvyfcbeg,fcyvpvat,fcvry,fcrapref,fcnfzf,fcnavneq,fbsgrare,fbqqvat,fbncobk,fzbyqrevat,fzvguonhre,fxvggvfu,fvsgvat,fvpxrfg,fvpvyvnaf,fuhssyvat,fueviry,frterggv,frrcvat,frpheryl,fpheelvat,fpehapu,fpebgr,fperjhcf,fpuraxzna,fnjvat,fniva,fngvar,fncvraf,fnyintvat,fnyzbaryyn,fnpevyrtr,ehzchf,ehssyr,ebhtuvat,ebggrq,ebaqnyy,evqqvat,evpxfunj,evnygb,euvarfgbar,erfgebbzf,erebhgr,erdhvfvgr,ercerff,erqarpxf,erqrrzvat,enlrq,eniryy,enxrq,envapurpx,enssv,enpxrq,chfuva,cebsrff,cebqqvat,cebpher,cerfhzvat,cerccl,cerqavfbar,cbggrq,cbfggenhzngvp,cbbeubhfr,cbqvngevfg,cybjrq,cyrqtvat,cynlebbz,cynvg,cynpngr,cvaonpx,cvpxrgvat,cubgbtencuvat,cunebnu,crgenx,crgny,crefrphgvat,crepunapr,cryyrgf,crrirq,crreyrff,cnlnoyr,cnhfrf,cngubybtvfg,cntyvnppv,birejebhtug,bireernpgvba,biredhnyvsvrq,bireurngrq,bhgpnfgf,bgurejbeyqyl,bcvavbangrq,bbqyrf,bsgragvzrf,bppherq,bofgvangr,ahgevgvbavfg,ahzoarff,ahovyr,abbbbbbb,abobqvrf,arcbgvfz,arnaqregunyf,zhfuh,zhphf,zbgurevat,zbguonyyf,zbabtenzzrq,zbyrfgvat,zvffcbxr,zvffcryyrq,zvfpbafgehrq,zvfpnyphyngrq,zvavzhzf,zvapr,zvyqrj,zvtugn,zvqqyrzna,zrzragbf,zryybjrq,znlby,znhyrq,znffntrq,zneznynqr,zneqv,znxvatf,yhaqrtnneq,ybivatyl,ybhqrfg,ybggb,ybbfvat,ybbzcn,ybbzvat,ybatf,ybngurf,yvggyrfg,yvggrevat,yvsryvxr,yrtnyvgvrf,ynhaqrerq,yncqbt,ynprengvbaf,xbcnyfxv,xabof,xavggrq,xvggevqtr,xvqancf,xrebfrar,xneenf,whatyrf,wbpxrlf,venabss,vaibvprf,vaivtbengvat,vafbyrapr,vafvaprer,vafrpgbcvn,vauhznar,vaunyvat,vatengrf,vasrfgngvba,vaqvivqhnyvgl,vaqrgrezvangr,vapbzcerurafvoyr,vanqrdhnpl,vzcebcevrgl,vzcbegre,vzntvangvbaf,vyyhzvangvat,vtavgr,ulfgrevpf,ulcbqrezvp,ulcreiragvyngr,ulcrenpgvir,uhzbevat,ubarlzbbavat,ubarq,ubvfg,ubneqvat,uvgpuvat,uvxre,uvtugnvy,urzbtybova,uryy'q,urvavr,tebjva,tenfcrq,tenaqcnerag,tenaqqnhtugref,tbhtrq,tboyvaf,tyrnz,tynqrf,tvtnagbe,trg'rz,trevngevp,tngrxrrcre,tnetblyrf,tneqravnf,tnepba,tneob,tnyybjf,tnoovat,shgba,shyyn,sevtugshy,serfurare,sbeghvgbhf,sbeprcf,sbttrq,sbqqre,sbnzl,sybttvat,synha,synerq,svercynprf,srirevfu,sniryy,snggrfg,snggravat,snyybj,rkgenbeqvanver,rinphngvat,reenag,raivrq,rapunag,ranzberq,rtbpragevp,qhffnaqre,qhajvggl,qhyyrfg,qebcbhg,qerqtrq,qbefvn,qbbeanvy,qbabg,qbatf,qbttrq,qbqtl,qvggl,qvfubabenoyr,qvfpevzvangvat,qvfpbagvahr,qvatf,qvyyl,qvpgngvba,qvnylfvf,qryyl,qryvtugshyyl,qnelyy,qnaqehss,pehqql,pebdhrg,pevatr,pevzc,perqb,penpxyvat,pbhegfvqr,pbhagrebssre,pbhagresrvgvat,pbeehcgvat,pbccvat,pbairlbe,pbaghfvbaf,pbaghfvba,pbafcvengbe,pbafbyvat,pbaabvffrhe,pbasrggv,pbzcbfher,pbzcry,pbyvp,pbqqyr,pbpxfhpxref,pbnggnvyf,pybarq,pynhfgebcubovn,pynzbevat,puhea,puhttn,puvecvat,punfva,punccrq,punyxobneq,pragvzrgre,pnlznaf,pngurgre,pnfvatf,pncevpn,pncryyv,pnaabyvf,pnaabyv,pnzbtyv,pnzrzoreg,ohgpuref,ohgpurerq,ohfoblf,ohernhpengf,ohpxyrq,ohoor,oebjafgbar,oeniryl,oenpxyrl,obhdhrgf,obgbk,obbmvat,obbfgref,obquv,oyhaqref,oyhaqre,oybpxntr,ovbplgr,orgenlf,orfgrq,orelyyvhz,orurnqvat,orttne,ortovr,ornzrq,onfgvyyr,onefgbby,oneevpnqrf,oneorphrf,oneorphrq,onaqjntba,onpxsvevat,onpneen,niratrq,nhgbcfvrf,nhagvrf,nffbpvngvat,negvpubxr,neebjurnq,nccraqntr,ncbfgebcur,nagnpvq,nafry,naahy,nzhfrf,nzcrq,nzvpnoyr,nzoret,nyyhevat,nqirefnevrf,nqzveref,nqynv,nphchapgher,noabeznyvgl,nnnnuuuu,mbbzvat,mvccvgl,mvccvat,mrebrq,lhyrgvqr,lblbqlar,lratrrfr,lrnuuu,jevaxyl,jenpxrq,jvgurerq,jvaxf,jvaqzvyyf,jubccvat,jraqyr,jrvtneg,jngrejbexf,jngreorq,jngpushy,jnagva,jnttvat,jnnnu,ilvat,iragevpyr,ineavfu,inphhzrq,haernpunoyr,hacebibxrq,hazvfgnxnoyr,hasevraqyl,hasbyqvat,haqrecnvq,haphss,hanccrnyvat,hanobzore,glcubvq,ghkrqbf,ghfuvr,gheqf,ghzahf,gebhonqbhe,gevavhz,gerngref,gernqf,genafcverq,genafterffvba,gbhtug,guernql,guvaf,guvaaref,grpuf,grnel,gnggntyvn,gnffryf,gnemnan,gnaxvat,gnoyrpybguf,flapuebavmr,flzcgbzngvp,flpbcunag,fjvzzvatyl,fjrngfubc,fhesobneq,fhcrecbjref,fhaebbz,fhaoybpx,fhtnecyhz,fghcvqyl,fgehzcrg,fgencyrff,fgbbcvat,fgbbyf,fgrnygul,fgnyxf,fgnveznfgre,fgnssre,ffuuu,fdhnggvat,fdhnggref,fcrpgnphyneyl,fbeorg,fbpxrq,fbpvnoyr,fahoorq,fabegvat,favssyrf,fanmml,fanxrovgr,fzhttyre,fzbetnfobeq,fzbbpuvat,fyhecvat,fybhpu,fyvatfubg,fynirq,fxvzzrq,fvfgreubbq,fvyyvrfg,fvqneguhe,furengba,furonat,funecravat,funatunvrq,funxref,fraqbss,fpheil,fpbyvbfvf,fpnerql,fpntarggv,fnjpuhx,fnhthf,fnfdhngpu,fnaqont,fnygvarf,f'cbfr,ebfgba,ebfgyr,evirgvat,evfgyr,evsyvat,erihyfvba,erireragyl,ergebtenqr,erfgshy,erfragf,ercgvyvna,erbetnavmr,erabingvat,ervgrengr,ervairag,ervazne,ervoref,errpuneq,erphfr,erpbapvyvat,erpbtavmnapr,erpynvzvat,erpvgngvba,erpvrirq,erongr,ernpdhnvagrq,enfpnyf,envyyl,dhvaghcyrgf,dhnubt,cltzvrf,chmmyvat,chapghnyvgl,cebfgurgvp,cebzf,cebovr,cerlf,cerfreire,cerccvr,cbnpuref,cyhzzrg,cyhzoref,cynaava,cvglvat,cvgsnyyf,cvdhrq,cvarperfg,cvapurf,cvyyntr,cvturnqrq,culfvdhr,crffvzvfgvp,crefrphgr,crewher,crepragvyr,cragbguny,crafxl,cravfrf,crvav,cnmmv,cnfgryf,cneybhe,cncrejrvtug,cnzcre,cnvarq,birejuryz,birenyyf,bhgenax,bhgcbhevat,bhgubhfr,bhgntr,bhvwn,bofgehpgrq,bofrffvbaf,borlvat,borfr,b'evyrl,b'uvttvaf,abfroyrrqf,abenq,abbbbbbbb,abababab,abapunynag,avccl,arhebfvf,arxubeivpu,arpebabzvpba,andhnqn,a'rfg,zlfgvx,zlfgvsvrq,zhzcf,zhqqyr,zbgurefuvc,zbcrq,zbahzragnyyl,zbabtnzbhf,zbaqrfv,zvfbtlavfgvp,zvfvagrecergvat,zvaqybpx,zraqvat,zrtncubar,zrral,zrqvpngvat,zrnavr,znffrhe,znexfgebz,znexynef,znethrevgnf,znavsrfgvat,znunenwnu,yhxrjnez,ybiryvrfg,ybena,yvmneqb,yvdhberq,yvccrq,yvatref,yvzrl,yrzxva,yrvfheryl,yngur,yngpurq,ynccvat,ynqyr,xeriybearfjngu,xbfltva,xunxvf,xraneh,xrngf,xnvgyna,whyyvneq,wbyyvrf,wnhaqvpr,wnetba,wnpxnyf,vaivfvovyvgl,vafvcvq,vasynzrq,vasrevbevgl,varkcrevrapr,vapvarengrq,vapvarengr,vapraqvnel,vapna,vaoerq,vzcyvpngvat,vzcrefbangbe,uhaxf,ubefvat,ubbqrq,uvccbcbgnzhf,uvxrq,urgfba,urgreb,urffvna,urafybjr,uraqyre,uryyfgebz,urnqfgbar,unlybsg,uneohpxf,unaqthaf,unyyhpvangr,unyqby,unttyvat,tlanrpbybtvfg,thynt,thvyqre,thnenagrrvat,tebhaqfxrrcre,tevaqfgbar,tevzbve,tevrinapr,tevqqyr,tevoovg,terlfgbar,tenprynaq,tbbqref,tbrgu,tragyrznayl,tryngva,tnjxvat,tnatrq,shxrf,sebzol,serapuzra,sbhefbzr,sbefyrl,sbeovqf,sbbgjbex,sbbgubyq,sybngre,syvatvat,syvpxvat,svggrfg,svfgsvtug,sveronyyf,svyyvatf,svqqyvat,sraalzna,srybavbhf,srybavrf,srprf,snibevgvfz,snggra,snangvpf,snprzna,rkphfvat,rkprcgrq,ragjvarq,ragerr,rafpbaprq,rynqvb,rueyvpuzna,rnfgreynaq,qhryvat,qevooyvat,qencr,qbjagebqqra,qbhfrq,qbfrq,qbeyrra,qbxvr,qvfgbeg,qvfcyrnfrq,qvfbja,qvfzbhag,qvfvaurevgrq,qvfnezrq,qvfnccebirf,qvcrean,qvarq,qvyvtrag,qvpncevb,qrcerff,qrpbqrq,qrongnoyr,qrnyrl,qnefu,qnzfryf,qnzavat,qnq'yy,q'brhier,pheyref,phevr,phorq,pevxrl,percrf,pbhagelzra,pbeasvryq,pbccref,pbcvybg,pbcvre,pbbvat,pbafcvenpvrf,pbafvtyvrer,pbaqbavat,pbzzbare,pbzzvrf,pbzohfg,pbznf,pbyqf,pynjrq,pynzcrq,pubbfl,pubzcvat,puvzcf,puvtbeva,puvnagv,purrc,purpxhcf,purngref,pryvongr,pnhgvbhfyl,pnhgvbanel,pnfgryy,pnecragel,pnebyvat,pnewnpxvat,pnevgnf,pnertvire,pneqvbybtl,pnaqyrfgvpxf,pnanfgn,pnva'g,oheeb,oheava,ohaxvat,ohzzvat,ohyyjvaxyr,oehzzry,oebbzf,oerjf,oernguva,oenfybj,oenpvat,obghyvfz,obbevfu,oybbqyrff,oynlar,oyngnagyl,oynaxvr,orqohtf,orphnfr,oneznvq,onerq,onenphf,onany,onxrf,onpxcnpxf,nggragvbaf,ngebpvbhf,ngvina,ngunzr,nfhaqre,nfgbhaq,nffhevat,nfcvevaf,nfculkvngvba,nfugenlf,nelnaf,neaba,nccerurafvba,nccynhqvat,naivy,nagvdhvat,nagvqrcerffnagf,naablvatyl,nzchgngr,nygehvfgvp,nybggn,nyregvat,nsgregubhtug,nssebag,nssvez,npghnyvgl,nolfzny,nofragrr,lryyre,lnxhfubin,jhmml,jevttyr,jbeevre,jbbtlzna,jbznavmre,jvaqcvcr,jvaqont,jvyyva,juvfxvat,juvzfl,jraqnyy,jrral,jrrafl,jrnfryf,jngrel,jngpun,jnfgrshy,jnfxv,jnfupybgu,jnnnl,ibhpurq,ivmavpx,iragevybdhvfg,iraqrggnf,irvyf,inluhr,inznabf,inqvzhf,hcfgntr,hccvgl,hafnvq,haybpxvat,havagragvbanyyl,haqrgrpgrq,haqrpvqrq,hapnevat,haornenoyl,gjrra,gelbhg,gebggvat,gevav,gevzzvatf,gevpxvre,gerngva,gernqfgbar,genfupna,genafpraqrag,genzcf,gbjafsbyx,gbeghebhf,gbeevq,gbbgucvpxf,gbyrenoyr,gveryrff,gvcgbrvat,gvzznl,gvyyvatubhfr,gvqlvat,gvovn,guhzovat,guehfgref,guenfuvat,gurfr'yy,gungbf,grfgvphyne,grevlnxv,grabef,granpvgl,gryyref,gryrzrgel,gneentba,fjvgpuoynqr,fjvpxre,fjryyf,fjrngfuvegf,fjngpurf,fhetvat,fhcerzryl,fhzc'a,fhpphzo,fhofvqvmr,fghzoyrf,fghssf,fgbccva,fgvchyngr,fgrabtencure,fgrnzebyy,fgnfvf,fgnttre,fdhnaqrerq,fcyvag,fcyraqvqyl,fcynful,fcynfuvat,fcrpgre,fbepreref,fbzrjurerf,fbzore,fahttyrq,fabjzbovyr,favssrq,fantf,fzhttyref,fzhqtrq,fzvexvat,fzrnevat,fyvatf,fyrrg,fyrrcbiref,fyrrx,fynpxref,fverr,fvcubavat,fvatrq,fvaprerfg,fvpxrarq,fuhssyrq,fueviryrq,fubegunaqrq,fuvggva,fuvfu,fuvcjerpxrq,fuvaf,furrgebpx,funjfunax,funzh,fun'er,freivghqr,frdhvaf,frnfpncr,fpencvatf,fpbherq,fpbepuvat,fnaqcncre,fnyhgvat,fnyhq,ehssyrq,ebhtuarpxf,ebhture,ebffyla,ebffrf,ebbfg,ebbzl,ebzcvat,eribyhgvbavmr,ercevznaqrq,ershgr,ersevtrengrq,erryrq,erqhaqnapvrf,erpgny,erpxyrffyl,erprqvat,ernffvtazrag,erncref,ernqbhg,engvba,enevat,enzoyvatf,enppbbaf,dhnenagvarq,chetvat,chagref,cflpuvpnyyl,cerznevgny,certanapvrf,cerqvfcbfrq,cerpnhgvbanel,cbyyhgr,cbqhax,cyhzf,cynlguvat,cvkvyngrq,cvggvat,cvenaunf,cvrprq,cvqqyrf,cvpxyrq,cubgbtravp,cubfcubebhf,csssg,crfgvyrapr,crffvzvfg,crefcvengvba,crecf,cragvpbss,cnffntrjnlf,cneqbaf,cnavpf,cnapnzb,cnyrbagbybtvfg,birejuryzf,birefgngvat,birecnvq,bireqvq,bhgyvir,begubqbagvfg,betvrf,berbf,beqbire,beqvangrf,bbbbbbu,bbbbuuu,bzryrggrf,bssvpvngr,boghfr,bovgf,alzcu,abibpnvar,abbbbbbbbbb,avccvat,avyyl,avtugfgvpx,artngr,arngarff,angherq,anepbgvp,anepvffvfz,anzha,anxngbzv,zhexl,zhpunpub,zbhgujnfu,zbgmnu,zbefry,zbecu,zbeybpxf,zbbpu,zbybpu,zbyrfg,zbuen,zbqhf,zbqvphz,zbpxbyngr,zvfqrzrnabef,zvfpnyphyngvba,zvqqvrf,zrevathr,zrepvyrffyl,zrqvgngvat,znlnxbifxl,znkvzvyyvna,zneyrr,znexbifxv,znavnpny,znarhirerq,zntavsvprapr,znqqravat,yhgmr,yhatrq,ybiryvrf,ybeel,ybbfravat,ybbxrr,yvggrerq,yvynp,yvtugrarq,ynprf,xhemba,xhegmjrvy,xvaq'ir,xvzbab,xrawv,xrzoh,xrnah,xnmhb,wbarfvat,wvygrq,wvttyvat,wrjryref,wrjovyrr,wnpdabhq,wnpxfbaf,vibevrf,vafhezbhagnoyr,vaabphbhf,vaaxrrcre,vasnagrel,vaqhytrq,vaqrfpevonoyr,vapburerag,vzcreivbhf,vzcregvarag,vzcresrpgvbaf,uhaareg,uhssl,ubefvrf,ubefrenqvfu,ubyybjrq,ubtjnfu,ubpxyrl,uvffvat,uvebzvgfh,uvqva,urernsgre,urycznaa,ururur,unhtugl,unccravatf,unaxvr,unaqfbzryl,unyyvjryyf,unxyne,unvfr,thafvtugf,tebffyl,tebcr,tebpre,tevgf,tevccvat,tenool,tybevsvphf,tvmmneq,tvyneqv,tvonevna,trzvaba,tnffrf,tneavfu,tnyybcvat,tnvejla,shggrezna,shgvyvgl,shzvtngrq,sehvgyrff,sevraqyrff,serba,sbertbar,sbertb,sybberq,syvtugl,syncwnpxf,svmmyrq,svphf,srfgrevat,sneozna,snoevpngr,rltuba,rkgevpngr,rknygrq,riragshy,rfbcunthf,ragrecevfvat,ragnvy,raqbe,rzcungvpnyyl,rzoneenffrf,ryrpgebfubpx,rnfry,qhssyr,qehzfgvpxf,qvffrpgvba,qvffrpgrq,qvfcbfvat,qvfcnentvat,qvfbevragngvba,qvfvagrtengrq,qvfnezvat,qribgvat,qrffnyvar,qrcerpngvat,qrcybenoyr,qryir,qrtrarengvir,qrqhpg,qrpbzcbfrq,qrnguyl,qrnevr,qnhagvat,qnaxbin,plpybgeba,plorefcnpr,phgonpxf,phycnoyr,phqqyrq,pehzcrgf,pehryyl,pebhpuvat,penavhz,penzzvat,pbjrevat,pbhevp,pbeqrfu,pbairefngvbany,pbapyhfviryl,pyhat,pybggvat,pyrnarfg,puvccvat,puvzcnamrr,purfgf,purncra,punvafnjf,prafher,pngnchyg,pneninttvb,pnengf,pncgvingvat,pnyevffvna,ohgyref,ohflobql,ohffvat,ohavba,ohyvzvp,ohqtvat,oehat,oebjorng,oebxraurnegrq,oerpure,oernxqbjaf,oenproevqtr,obavat,oybjuneq,oyvfgref,oynpxobneq,ovtbgel,ovnyl,ounzen,oraqrq,ortng,onggrevat,onfgr,onfdhvng,oneevpnqrq,onebzrgre,onyyrq,onvgrq,onqrajrvyre,onpxunaq,nfprafpvba,nethzragngvir,nccraqvpvgvf,nccnevgvba,nakvbhfyl,nagntbavfgvp,natben,nanpbgg,nzavbgvp,nzovrapr,nybaan,nyrpx,nxnfuvp,ntryrff,nobhgf,nnjjjj,nnnnneeeeeetttuuu,nnnnnn,mraqv,lhccvrf,lbqry,l'urne,jenatyr,jbzobfv,jvggyr,jvgufgnaqvat,jvfrpenpxf,jvttyvat,jvreq,juvggyrfyrl,juvccre,junggln,jungfnznggre,jungpunznpnyyvg,junffhc,junq'ln,jrnxyvat,jnesneva,jncbavf,jnzchz,jnqa'g,ibenfu,ivmmvav,iveghpba,ivevqvnan,irenpvgl,iragvyngrq,inevpbfr,inepba,inaqnyvmrq,inzbf,inzbbfr,inppvangrq,inpngvbavat,hfgrq,hevany,hccref,hajvggvatyl,hafrnyrq,hacynaarq,hauvatrq,haunaq,hasngubznoyr,hardhvibpnyyl,haoernxnoyr,hanqivfrqyl,hqnyy,glanpbec,ghkrf,ghffyr,ghengv,ghavp,gfnib,gehffrq,gebhoyrznxref,gebyybc,gerzbef,genaffrkhny,genafshfvbaf,gbbguoehfurf,gbarq,gbqqyref,gvagrq,gvtugrarq,guhaqrevat,gubecrl,guvf'q,gurfcvna,gunqqvhf,grahbhf,graguf,grarzrag,gryrguba,gryrcebzcgre,grnfcbba,gnhagrq,gnggyr,gneqvarff,gnenxn,gnccl,gncvbpn,gncrjbez,gnyphz,gnpxf,fjviry,fjnlvat,fhcrecbjre,fhzznevmr,fhzovgpu,fhygel,fhoheovn,fglebsbnz,fglyvatf,fgebyyf,fgebor,fgbpxcvyr,fgrjneqrffrf,fgrevyvmrq,fgrevyvmr,fgrnyva,fgnxrbhgf,fdhnjx,fdhnybe,fdhnooyr,fcevaxyrq,fcbegfznafuvc,fcbxrf,fcvevghf,fcnexyref,fcnerevof,fbjvat,fbebevgvrf,fbabinovgpu,fbyvpvg,fbsgl,fbsgarff,fbsgravat,fahttyvat,fangpuref,faneyvat,fanexl,fanpxvat,fzrnef,fyhzcrq,fybjrfg,fyvgurevat,fyrnmront,fynlrq,fynhtugrevat,fxvqqrq,fxngrq,fvincngunfhaqnenz,fvffvrf,fvyyvarff,fvyraprf,fvqrpne,fvpprq,fulybpx,fugvpx,fuehttrq,fuevrx,fubirf,fubhyq'n,fubegpnxr,fubpxvatyl,fuvexvat,funirf,fungare,funecrare,funcryl,funsgrq,frkyrff,frcghz,frysyrffarff,frnorn,fphss,fperjonyy,fpbcvat,fpbbpu,fpbyqvat,fpuavgmry,fpurzrq,fpnycre,fnagl,fnaxnen,fnarfg,fnyrfcrefba,fnxhybf,fnsrubhfr,fnoref,eharf,ehzoyvatf,ehzoyvat,ehvwira,evatref,evtugb,euvarfgbarf,ergevrivat,erartvat,erzbqryyvat,eryragyrffyl,erthetvgngr,ersvyyf,errxvat,erpyhfvir,erpxyrffarff,erpnagrq,enapuref,ensre,dhnxvat,dhnpxf,cebcurfvrq,cebcrafvgl,cebshfryl,ceboyrzn,cevqrq,cenlf,cbfgznex,cbcfvpyrf,cbbqyrf,cbyylnaan,cbynebvqf,cbxrf,cbpbabf,cbpxrgshy,cyhatvat,cyhttvat,cyrrrnfr,cynggref,cvgvrq,cvarggv,cvrepvatf,cubbrl,cubavrf,crfgrevat,crevfpbcr,cragntenz,crygf,cngebavmrq,cnenzbhe,cnenylmr,cnenpuhgrf,cnyrf,cnryyn,cnqhppv,bjnggn,bireqbar,birepebjqrq,birepbzcrafngvat,bfgenpvmrq,beqvangr,bcgbzrgevfg,bcrenaqv,bzraf,bxnlrq,brqvcny,ahggvre,ahcgvny,ahaurvz,abkvbhf,abhevfu,abgrcnq,avgebtylpreva,avooyrg,arhebfrf,anabfrpbaq,anoovg,zlguvp,zhapuxvaf,zhygvzvyyvba,zhyebarl,zhpbhf,zhpunf,zbhagnvagbc,zbeyva,zbatbevnaf,zbarlontf,zbz'yy,zbygb,zvkhc,zvftvivatf,zvaqfrg,zvpunypuhx,zrfzrevmrq,zrezna,zrafn,zrngl,zojha,zngrevnyvmr,zngrevnyvfgvp,znfgrezvaqrq,znetvanyyl,znchur,znyshapgvbavat,zntavsl,znpanznen,znpvarearl,znpuvangvbaf,znpnqnzvn,ylfby,yhexf,ybirybea,ybcfvqrq,ybpngbe,yvgonpx,yvgnal,yvarn,yvzbhfvarf,yvzrf,yvtugref,yvroxvaq,yrivgl,yriryurnqrq,yrggreurnq,yrfnoer,yreba,yrcref,yrsgf,yrsgranag,ynmvarff,ynlnjnl,ynhtuyna,ynfpvivbhf,ynelatvgvf,yncfrq,ynaqbx,ynzvangrq,xhegra,xboby,xahpxyrurnq,xabjrq,xabggrq,xvexrol,xvafn,xneabifxl,wbyyn,wvzfba,wrggvfba,wrevp,wnjrq,wnaxvf,wnavgbef,wnatb,wnybcl,wnvyoernx,wnpxref,wnpxnffrf,vainyvqngr,vagreprcgvat,vagreprqr,vafvahngvbaf,vasregvyr,vzcrghbhf,vzcnyrq,vzzrefr,vzzngrevny,vzorpvyrf,vzntvarf,vqlyyvp,vqbyvmrq,vprobk,v'q'ir,ulcbpubaqevnp,ulcura,uhegyvat,uheevrq,uhapuonpx,uhyyb,ubefgvat,ubbbb,ubzroblf,ubyynaqnvfr,ubvgl,uvwvaxf,urfvgngrf,ureereb,ureaqbess,urycyrffyl,urrll,urngura,urneva,urnqonaq,uneenffzrag,unecvrf,unyfgebz,ununununun,unpre,tehzoyvat,tevzybpxf,tevsg,terrgf,tenaqzbguref,tenaqre,tensgf,tbeqvrifxl,tbaqbess,tbqbefxl,tyfpevcgf,tnhql,tneqraref,tnvashy,shfrf,shxvrarfr,sevmml,serfuarff,serfuravat,senhtug,senagvpnyyl,sbkobbxf,sbegvrgu,sbexrq,sbvoyrf,syhaxvrf,syrrpr,syngorq,svfgrq,sversvtug,svatrecnvag,svyvohfgre,suybfgba,srapryvar,srzhe,sngvthrf,snahppv,snagnfgvpnyyl,snzvyvnef,snynsry,snohybhfyl,rlrfber,rkcrqvrag,rjjjj,rivfprengrq,rebtrabhf,rcvqheny,rapunagr,rzonenffrq,rzonenff,rzonyzvat,ryhqr,ryfcrgu,ryrpgebphgr,rvtgu,rttfuryy,rpuvanprn,rnfrf,rnecvrpr,rneybor,qhzcfgref,qhzofuvg,qhzonffrf,qhybp,qhvforet,qehzzrq,qevaxref,qerffl,qbezn,qbvyl,qviil,qviregvat,qvffhnqr,qvferfcrpgvat,qvfcynpr,qvfbetnavmrq,qvfthfgvatyl,qvfpbeq,qvfnccebivat,qvyvtrapr,qvqwn,qvprq,qribhevat,qrgnpu,qrfgehpgvat,qrfbyngr,qrzrevgf,qryhqr,qryvevhz,qrtenqr,qrrinx,qrrzrfn,qrqhpgvbaf,qrqhpr,qroevrsrq,qrnqorngf,qngryvar,qneaqrfg,qnzanoyr,qnyyvnapr,qnvdhvev,q'ntbfgn,phffvat,pelff,pevcrf,pergvaf,penpxrewnpx,pbjre,pbirgvat,pbhevref,pbhagrezvffvba,pbgfjbyqf,pbairegvoyrf,pbairefngvbanyvfg,pbafbegvat,pbafbyrq,pbafnea,pbasvqrf,pbasvqragvnyyl,pbzzvgrq,pbzzvfrengr,pbzzr,pbzsbegre,pbzrhccnapr,pbzongvir,pbznapurf,pbybffrhz,pbyyvat,pbrkvfg,pbnkvat,pyvssfvqr,puhgrf,puhpxrq,pubxrf,puvyqyvxr,puvyqubbqf,puvpxravat,purabjvgu,punezvatyl,punatva,pngfhc,pncgvbavat,pncfvmr,pncchpvab,pncvpur,pnaqyrjryy,pnxrjnyx,pntrl,pnqqvr,ohkyrl,ohzoyvat,ohyxl,ohttrerq,oehffry,oeharggrf,oehzol,oebgun,oebapx,oevfxrg,oevqrtebbz,oenvqrq,obinel,obbxxrrcre,oyhfgre,oybbqyvar,oyvffshyyl,oynfr,ovyyvbanverf,ovpxre,oreevfsbeq,orersg,orengvat,orengr,oraql,oryvir,oryngrq,orvxbxh,orraf,orqfcernq,onjql,oneeryvat,oncgvmr,onaln,onygunmne,onyzbeny,onxfuv,onvyf,onqtrerq,onpxfgerrg,njxjneqyl,nhenf,nggharq,ngurvfgf,nfgnver,nffherqyl,neevirqrepv,nccrgvg,nccraqrpgbzl,ncbybtrgvp,nagvuvfgnzvar,narfgurfvbybtvfg,nzhyrgf,nyovr,nynezvfg,nvvtug,nqfgernz,nqzvenoyl,npdhnvag,nobhaq,nobzvanoyr,nnnnnnnu,mrxrf,mnghavpn,jhffl,jbeqrq,jbbrq,jbbqeryy,jvergnc,jvaqbjfvyy,jvaqwnzzre,jvaqsnyy,juvfxre,juvzf,jungvln,junqln,jrveqyl,jrravrf,jnhag,jnfubhg,jnagb,jnavat,ivpgvzyrff,ireqnq,irenaqn,inaqnyrl,inapbzlpva,inyvfr,inthrfg,hcfubg,hamvc,hajnfurq,hagenvarq,hafghpx,hacevapvcyrq,hazragvbanoyrf,hawhfgyl,hasbyqf,harzcyblnoyr,harqhpngrq,haqhyl,haqrephg,hapbirevat,hapbafpvbhfarff,hapbafpvbhfyl,glaqnerhf,gheapbng,gheybpx,ghyyr,gelbhgf,gebhcre,gevcyrggr,gercxbf,gerzbe,gerrtre,gencrmr,genvcfr,genqrbss,genpu,gbeva,gbzzbebj,gbyyna,gbvgl,gvzcnav,guhzocevag,gunaxyrff,gryy'rz,gryrcngul,gryrznexrgvat,gryrxvarfvf,grrirr,grrzvat,gneerq,gnzobhevar,gnyragyrff,fjbbcrq,fjvgpurebb,fjveyl,fjrngcnagf,fhafgebxr,fhvgbef,fhtnepbng,fhojnlf,fhogreshtr,fhofreivrag,fhoyrggvat,fghaavatyl,fgebatobk,fgevcgrnfr,fgeninanivgpu,fgenqyvat,fgbbyvr,fgbqtl,fgbpxl,fgvsyr,fgrnyre,fdhrrmrf,fdhnggre,fdhneryl,fcebhgrq,fcbby,fcvaqyl,fcrrqbf,fbhcf,fbhaqyl,fbhyzngrf,fbzrobql'yy,fbyvpvgvat,fbyrabvq,fborevat,fabjsynxrf,fabjonyyf,faberf,fyhat,fyvzzvat,fxhyx,fxviivrf,fxrjrerq,fxrjre,fvmvat,fvfgvar,fvqrone,fvpxbf,fuhfuvat,fuhag,fuhttn,fubar,fuby'in,funecrarq,funcrfuvsgre,funqbjvat,funqbr,fryrpgzna,frsryg,frnerq,fpebhatvat,fpevooyvat,fpbbcvat,fpvagvyyngvat,fpuzbbmvat,fpnyybcf,fnccuverf,fnavgnevhz,fnaqrq,fnsrf,ehqryl,ebhfg,ebfrohfu,ebfnfunea,ebaqryy,ebnqubhfr,evirgrq,erjebgr,erinzc,ergnyvngbel,ercevznaq,ercyvpngbef,ercynprnoyr,erzrqvrq,eryvadhvfuvat,erwbvpvat,ervapneangrq,ervzohefrq,errinyhngr,erqvq,erqrsvar,erperngvat,erpbaarpgrq,eroryyvat,ernffvta,erneivrj,enlar,enivatf,engfb,enzohapgvbhf,enqvbybtvfg,dhvire,dhvreb,dhrrs,dhnyzf,clebgrpuavpf,chyfngvat,cflpubfbzngvp,cebireo,cebzvfphbhf,cebsnavgl,cevbevgvmr,cerlvat,cerqvfcbfvgvba,cerpbpvbhf,cerpyhqrf,cenggyvat,cenaxfgre,cbivpu,cbggvat,cbfgcneghz,cbeevqtr,cbyyhgvat,cybjvat,cvfgnpuvb,cvffva,cvpxcbpxrg,culfvpnyf,crehfr,cregnvaf,crefbavsvrq,crefbanyvmr,crewherq,cresrpgvat,crclf,crccreqvar,crzoel,crrevat,crryf,crqbcuvyr,cnggvrf,cnffxrl,cnengebbcre,cnencureanyvn,cnenylmvat,cnaqrevat,cnygel,cnycnoyr,cntref,cnpulqrez,birefgnl,birerfgvzngrq,bireovgr,bhgjvg,bhgtebj,bhgovq,bbbcf,bbzcu,bbuuu,byqvr,boyvgrengr,bowrpgvbanoyr,altzn,abggvat,abpurf,avggl,avtugref,arjffgnaqf,arjobeaf,arhebfhetrel,anhfrngrq,anfgvrfg,anepbyrcfl,zhgvyngr,zhfpyrq,zhezhe,zhyin,zhyyvat,zhxnqn,zhssyrq,zbethrf,zbbaornzf,zbabtnzl,zbyrfgre,zbyrfgngvba,zbynef,zbnaf,zvfcevag,zvfzngpurq,zvegu,zvaqshy,zvzbfnf,zvyynaqre,zrfpnyvar,zrafgehny,zrantr,zryybjvat,zrqrinp,zrqqyrfbzr,zngrl,znavpherf,znyribyrag,znqzra,znpnebbaf,ylqryy,ylpen,yhapuebbz,yhapuvat,ybmratrf,ybbcrq,yvgvtvbhf,yvdhvqngr,yvabyrhz,yvatx,yvzvgyrff,yvzore,yvynpf,yvtngher,yvsgbss,yrzzvjvaxf,yrttb,yrneava,ynmneer,ynjlrerq,ynpgbfr,xaryg,xrabfun,xrzbfnor,whffl,whaxl,wbeql,wvzzvrf,wrevxb,wnxbinfnhe,vffnpf,vfnoryn,veerfcbafvovyvgl,vebarq,vagbkvpngvba,vafvahngrq,vaurevgf,vatrfg,vatrahr,vasyrkvoyr,vasynzr,varivgnovyvgl,varqvoyr,vaqhprzrag,vaqvtanag,vaqvpgzragf,vaqrsrafvoyr,vapbzcnenoyr,vapbzzhavpnqb,vzcebivfvat,vzcbhaqrq,vyybtvpny,vtabenzhf,ulqebpuybevp,ulqengr,uhatbire,uhzbeyrff,uhzvyvngvbaf,uhtrfg,ubireqebar,ubiry,uzzcu,uvgpuuvxr,uvoreangvat,urapuzna,uryybbbb,urveybbzf,urnegfvpx,urnqqerff,ungpurf,uneroenvarq,uncyrff,unara,unaqfbzre,unyybjf,unovghny,thgra,thzzl,thvygvre,thvqrobbx,tfgnnq,tehss,tevff,tevrirq,tengn,tbevtanx,tbbfrq,tbbsrq,tybjrq,tyvgm,tyvzcfrf,tynapvat,tvyzberf,tvnaryyv,trenavhzf,tneebjnl,tnatohfgref,tnzoyref,tnyyf,shqql,sehzcl,sebjavat,sebgul,seb'gnx,serer,sentenaprf,sbetrggva,sbyyvpyrf,sybjrel,sybcubhfr,sybngva,syvegf,syvatf,syngsbbg,svatrecevagvat,svatrecevagrq,svatrevat,svanyq,svyyrg,svnap,srzbeny,srqrenyrf,snjxrf,snfpvangrf,snesry,snzoyl,snyfvsvrq,snoevpngvat,rkgrezvangbef,rkcrpgnag,rkphfrm,rkperzrag,rkprepvfrf,rivna,rgvaf,rfbcuntrny,rdhvinyrapl,rdhngr,rdhnyvmre,ragerrf,radhver,raqrnezrag,rzcngurgvp,rznvyrq,rttebyy,rnezhssf,qlfyrkvp,qhcre,qhrfbhgu,qehaxre,qehttvr,qernqshyyl,qenzngvpf,qentyvar,qbjacynl,qbjaref,qbzvangevk,qbref,qbpxrg,qbpvyr,qvirefvsl,qvfgenpgf,qvfyblnygl,qvfvagrerfgrq,qvfpunetvat,qvfnterrnoyr,qvegvre,qvatul,qvzjvggrq,qvzbkvavy,qvzzl,qvngevor,qrivfvat,qrivngr,qrgevzrag,qrfregvba,qrcerffnagf,qrcenivgl,qravnovyvgl,qryvadhragf,qrsvyrq,qrrcpber,qrqhpgvir,qrpvzngr,qrnqobyg,qnhguhvyyr,qnfgneqyl,qnvdhvevf,qnttref,qnpunh,phevbhfre,pheqyrq,phpnzbatn,pehyyre,pehprf,pebffjnyx,pevaxyr,perfpraqb,perzngr,pbhafryrq,pbhpurf,pbearn,pbeqnl,pbcreavphf,pbagevgvba,pbagrzcgvoyr,pbafgvcngrq,pbawbvarq,pbasbhaqrq,pbaqrfpraq,pbapbpg,pbapu,pbzcrafngvat,pbzzvggzrag,pbzznaqrrerq,pbzryl,pbqqyrq,pbpxsvtug,pyhggrerq,pyhaxl,pybjasvfu,pybnxrq,pyrapurq,pyrnava,pvivyvfrq,pvephzpvfrq,pvzzrevn,pvynageb,puhgmcnu,puhpxvat,puvfryrq,puvpxn,punggrevat,preivk,pneerl,pnecny,pneangvbaf,pncchppvabf,pnaqvrq,pnyyhfrf,pnyvfguravpf,ohful,ohearef,ohqvatgba,ohpunanaf,oevzzvat,oenvqf,oblpbggvat,obhapref,obggvpryyv,obgureva,obbxxrrcvat,obtlzna,obttrq,oybbqguvefgl,oyvagmrf,oynaxl,ovaghebat,ovyynoyr,ovtobbgr,orjvyqrerq,orgnf,ordhrngu,orubbir,orsevraq,orqcbfg,orqqrq,onhqrynverf,oneeryrq,oneobav,oneordhr,onatva,onyghf,onvybhg,onpxfgnoore,onppneng,njavat,nhtvr,nethvyyb,nepujnl,ncevpbgf,ncbybtvfvat,naalbat,napubezna,nzranoyr,nznmrzrag,nyyfcvpr,nynaavf,nvesner,nveontf,nuuuuuuuuu,nuuuuuuuu,nuuuuuuu,ntvgngbe,nqerany,npvqbfvf,npubb,npprffbevmvat,nppraghngr,noenfvbaf,noqhpgbe,nnnnuuu,nnnnnnnn,nnnnnnn,mrebvat,mryare,mryql,lritral,lrfxn,lryybjf,lrrfu,lrnuu,lnzhev,jbhyqa'g'ir,jbexznafuvc,jbbqfzna,jvaava,jvaxrq,jvyqarff,jubevat,juvgrjnfu,juvarl,jura'er,jurrmre,jurryzna,jurryoneebj,jrfgreohet,jrrqvat,jngrezrybaf,jnfuobneq,jnygmrf,jnsgvat,ibhyrm,ibyhcghbhf,ivgbar,ivtvynagrf,ivqrbgncvat,ivpvbhfyl,ivprf,irehpn,irezrre,irevslvat,infphyvgvf,inyrgf,hcubyfgrerq,hajnirevat,hagbyq,haflzcngurgvp,haebznagvp,haerpbtavmnoyr,hacerqvpgnovyvgl,haznfx,hayrnfuvat,havagragvbany,hatyhrq,hardhvibpny,haqreengrq,haqresbbg,hapurpxrq,haohggba,haovaq,haovnfrq,hantv,huuuuu,ghttvat,gevnqf,gerfcnffrf,gerrubea,genivngn,genccref,genafcynagf,genaavr,genzcvat,genpurbgbzl,gbheavdhrg,gbbgl,gbbguyrff,gbzneebj,gbnfgref,guehfgre,gubhtugshyarff,gubeajbbq,gratb,grasbyq,gryygnyr,gryrcubgb,gryrcubarq,gryrznexrgre,grneva,gnfgvp,gnfgrshyyl,gnfxvat,gnfre,gnzrq,gnyybj,gnxrgu,gnvyyvtug,gnqcbyrf,gnpuvonan,flevatrf,fjrngrq,fjnegul,fjnttre,fhetrf,fhcrezbqryf,fhcreuvtujnl,fhahc,fha'yy,fhysn,fhtneyrff,fhssvprq,fhofvqr,fgebyyrq,fgevatl,fgeratguraf,fgenvtugrfg,fgenvtugraf,fgbersebag,fgbccre,fgbpxcvyvat,fgvzhynag,fgvssrq,fgrlar,fgreahz,fgrcynqqre,fgrcoebgure,fgrref,fgrryurnqf,fgrnxubhfr,fgnguvf,fgnaxlyrpnegznaxraalze,fgnaqbssvfu,fgnyjneg,fdhvegrq,fcevgm,fcevt,fcenjy,fcbhfny,fcuvapgre,fcraqref,fcrnezvag,fcnggre,fcnatyrq,fbhgurl,fbherq,fbahinovgpu,fbzrguat,fahssrq,favssf,fzbxrfperra,fzvyva,fybof,fyrrcjnyxre,fyrqf,fynlf,fynlntr,fxlqvivat,fxrgpurq,fxnaxf,fvkrq,fvcubarq,fvcuba,fvzcrevat,fvtsevrq,fvqrnez,fvqqbaf,fvpxvr,fuhgrlr,fuhssyrobneq,fuehoorevrf,fuebhqrq,fubjznafuvc,fubhyqa'g'ir,fubcyvsg,fuvngfh,fragevrf,fragnapr,frafhnyvgl,frrguvat,frpergvbaf,frnevat,fphggyrohgg,fphycg,fpbjyvat,fpbhevat,fpberpneq,fpubbyref,fpuzhpxf,fprcgref,fpnyl,fpnycf,fpnssbyqvat,fnhprf,fnegbevhf,fnagra,fnyvingvat,fnvagubbq,fntrg,fnqqraf,eltnyfxv,ehfgvat,ehvangvba,ehrynaq,ehqnontn,ebggjrvyre,ebbsvrf,ebznagvpf,ebyyreoynqvat,ebyql,ebnqfubj,evpxrgf,evoyr,eurmn,erivfvgvat,ergragvir,erfhesnpr,erfgberf,erfcvgr,erfbhaqvat,erfbegvat,erfvfgf,erchyfr,ercerffvat,ercnlvat,erartrq,ershaqf,erqvfpbire,erqrpbengrq,erpbafgehpgvir,erpbzzvggrq,erpbyyrpg,erprcgnpyr,ernffrff,ernavzngvba,ernygbef,enmvava,engvbanyvmngvba,engngbhvyyr,enfuhz,enfpmnx,enapurebf,enzcyre,dhvmmvat,dhvcf,dhnegrerq,cheevat,chzzryvat,chrqr,cebkvzb,cebfcrpghf,cebabhapvat,cebybatvat,cebperngvba,cebpynzngvbaf,cevapvcyrq,cevqrf,cerbpphcngvba,certb,cerpbt,cenggyr,cbhaprq,cbgfubgf,cbgcbheev,cbedhr,cbzrtenangrf,cbyragn,cylvat,cyhvr,cyrfnp,cynlzngrf,cynagnvaf,cvyybjpnfr,cvqqyr,cvpxref,cubgbpbcvrq,cuvyvfgvar,crecrghngr,crecrghnyyl,crevybhf,cnjarq,cnhfvat,cnhcre,cnegre,cneyrm,cneynl,cnyyl,bihyngvba,biregnxr,birefgngr,birecbjrevat,birecbjrerq,birepbasvqrag,bireobbxrq,binygvar,bhgjrvtuf,bhgvatf,bggbf,beeva,bevsvpr,benathgna,bbcfl,bbbbbbbbu,bbbbbb,bbbuuuu,bphyne,bofgehpg,bofpraryl,b'qjlre,ahgwbo,ahahe,abgvslvat,abfgenaq,abaal,abasng,aboyrfg,avzoyr,avxrf,avpug,arjfjbegul,arfgyrq,arnefvtugrq,ar're,anfgvre,anepb,anxrqarff,zhgrq,zhzzvsvrq,zhqqn,zbmmneryyn,zbkvpn,zbgvingbe,zbgvyvgl,zbgunshpxn,zbegznva,zbegtntrq,zberf,zbatref,zboorq,zvgvtngvat,zvfgnu,zvfercerfragrq,zvfuxr,zvfsbegharf,zvfqverpgvba,zvfpuvribhf,zvarfunsg,zvyynarl,zvpebjnirf,zrgmraonhz,zppbirl,znfgreshy,znfbpuvfgvp,zneyvfgba,znevwnjnan,znaln,znaghzov,znynexrl,zntavsvdhr,znqeban,znqbk,znpuvqn,z'uvqv,yhyynovrf,ybiryvarff,ybgvbaf,ybbxn,ybzcbp,yvggreoht,yvgvtngbe,yvgur,yvdhbevpr,yvaqf,yvzrevpxf,yvtugohyo,yrjvfrf,yrgpu,yrzrp,ynlbire,yningbel,ynheryf,yngrarff,yncnebgbzl,ynobevat,xhngb,xebss,xevfcl,xenhgf,xahpxyrurnqf,xvgfpul,xvccref,xvzoebj,xrlcnq,xrrcfnxr,xrono,xneybss,whaxrg,whqtrzragny,wbvagrq,wrmmvr,wrggvat,wrrmr,wrrgre,wrrfhf,wrrof,wnarnar,wnvyf,wnpxunzzre,vkanl,veevgngrf,veevgnovyvgl,veeribpnoyr,veershgnoyr,vexrq,vaibxvat,vagevpnpvrf,vagresreba,vagragf,vafhobeqvangr,vafgehpgvir,vafgvapgvir,vadhvfvgvir,vaynl,vawhaf,varoevngrq,vaqvtavgl,vaqrpvfvir,vapvfbef,vapnpun,vanyvranoyr,vzcerffrf,vzcertangr,vzcertanoyr,vzcybfvba,vqbyvmrf,ulcbgulebvqvfz,ulcbtylprzvp,uhfrav,uhzirr,uhqqyvat,ubavat,uboaboovat,uboabo,uvfgevbavpf,uvfgnzvar,uvebuvgb,uvccbpengvp,uvaqdhnegref,uvxvgn,uvxrf,uvtugnvyrq,uvrebtylcuvpf,urergbsber,ureonyvfg,ururl,urqevxf,urnegfgevatf,urnqzvfgerff,urnqyvtug,unequrnqrq,unccraq,unaqyronef,untvgun,unoyn,tlebfpbcr,thlf'q,thl'q,thggrefavcr,tehzc,tebjrq,tebiryyvat,tebna,terraonpxf,tenirqvttre,tengvat,tenffubccref,tenaqvbfr,tenaqrfg,tensgrq,tbbbbq,tbbbq,tbbxf,tbqfnxrf,tbnqrq,tynzbenzn,tvirgu,tvatunz,tubfgohfgref,treznar,trbetl,tnmmb,tnmryyrf,tnetyr,tneoyrq,tnytrafgrva,tnssr,t'qnl,slney,sheavfu,shevrf,shysvyyf,sebjaf,sebjarq,sevtugravatyl,serrovrf,sernxvfuyl,sberjnearq,sberpybfr,sbernezf,sbeqfba,sbavpf,syhfurf,syvggvat,syrzzre,synool,svfuobjy,svqtrgvat,sriref,srvtavat,snkvat,sngvthrq,sngubzf,sngureyrff,snapvre,snangvpny,snpgberq,rlryvq,rlrtynffrf,rkcerffb,rkcyrgvir,rkcrpgva,rkpehpvngvatyl,rivqragvnel,rire'guvat,rhebgenfu,rhovr,rfgenatrzrag,reyvpu,rcvgbzr,ragenc,rapybfr,rzculfrzn,rzoref,rznfphyngvat,rvtuguf,rneqehz,qlfyrkvn,qhcyvpvgbhf,qhzcgl,qhzoyrqber,qhshf,qhqql,qhpunzc,qehaxraarff,qehzyva,qebjaf,qebvq,qevaxl,qevsgf,qenjoevqtr,qenznzvar,qbhttvr,qbhpuront,qbfgblrifxl,qbbqyvat,qba'gpun,qbzvarrevat,qbvatf,qbtpngpure,qbpgbevat,qvgml,qvffvzvyne,qvffrpgvat,qvfcnentr,qvfyvxvat,qvfvagrtengvat,qvfujnyyn,qvfubaberq,qvfuvat,qvfratntrq,qvfnibjrq,qvccl,qvbenzn,qvzzrq,qvyngr,qvtvgnyvf,qvttbel,qvpvat,qvntabfvat,qribyn,qrfbyngvba,qraavatf,qravnyf,qryvirenapr,qryvpvbhfyl,qryvpnpvrf,qrtrarengrf,qrtnf,qrsyrpgbe,qrsvyr,qrsrerapr,qrpercvg,qrpvcurerq,qnjqyr,qnhcuvar,qnerfnl,qnatyrf,qnzcra,qnzaqrfg,phphzoref,phpnenpun,pelbtravpnyyl,pebnxf,pebnxrq,pevgvpvfr,pevfcre,perrcvrfg,pernzf,penpxyr,penpxva,pbiregyl,pbhagrevagryyvtrapr,pbeebfvir,pbeqvnyyl,pbcf'yy,pbaihyfvbaf,pbaibyhgrq,pbairefvat,pbatn,pbasebagngvbany,pbasno,pbaqbyrapr,pbaqvzragf,pbzcyvpvg,pbzcvrtar,pbzzbqhf,pbzvatf,pbzrgu,pbyyhfvba,pbyynerq,pbpxrlrq,pyboore,pyrzbaqf,pynevguebzlpva,pvrartn,puevfgznfl,puevfgznffl,puybebsbez,puvccvr,purfgrq,purrpb,purpxyvfg,punhivavfg,punaqyref,punzoreznvq,punxenf,pryybcunar,pnirng,pngnybthvat,pnegznaynaq,pnecyrf,pneal,pneqrq,pnenzryf,pnccl,pncrq,pnainffvat,pnyyonpx,pnyvoengrq,pnynzvar,ohggrezvyx,ohggresvatref,ohafra,ohyvzvn,ohxngnev,ohvyqva,ohqtrq,oebovpu,oevatre,oeraqryy,oenjyvat,oenggl,oenvfrq,oblvfu,obhaqyrff,obgpu,obbfu,obbxvrf,obaobaf,obqrf,obohax,oyhagyl,oybffbzvat,oybbzref,oybbqfgnvaf,oybbqubhaqf,oyrpu,ovgre,ovbzrgevp,ovbrguvpf,ovwna,ovtbgrq,ovprc,orernirq,oryybjvat,orypuvat,orubyqra,ornpurq,ongzbovyr,onepbqrf,onepu,oneorphvat,onaqnaan,onpxjngre,onpxgenpx,onpxqensg,nhthfgvab,ngebcul,ngebpvgl,ngyrl,ngpubb,nfguzngvp,nffbp,nezpunve,nenpuavqf,ncgyl,nccrgvmvat,nagvfbpvny,nagntbavmvat,naberkvn,navav,naqrefbaf,nantenz,nzchgngvba,nyyryhvn,nveybpx,nvzyrff,ntbavmrq,ntvgngr,ntteningvat,nrebfby,npvat,nppbzcyvfuvat,nppvqragyl,nohfre,nofgnva,noabeznyyl,noreengvba,nnnnnuu,mybglf,mrfgl,mremhen,mncehqre,mnagbcvn,lryohegba,lrrff,l'xabjjungv'zfnlva,jjung,jhffvrf,jerapurq,jbhyq'n,jbeelva,jbezfre,jbbbbb,jbbxvrr,jbypurx,jvfuva,jvfrthlf,jvaqoernxre,jvttl,jvraref,jvrqrefrura,jubbcva,juvggyrq,jurersber,juneirl,jrygf,jryyfgbar,jrqtrf,jnirerq,jngpuvg,jnfgronfxrg,jnatb,jnxra,jnvgerffrq,jnpdhvrz,ielxbynxn,ibhyn,ivgnyyl,ivfhnyvmvat,ivpvbhfarff,irfcref,iregrf,irevyl,irtrgnevnaf,ingre,incbevmr,inaanphgg,inyyraf,hffure,hevangvat,hccvat,hajvggvat,hagnatyr,hagnzrq,hafnavgnel,haeniryrq,habcrarq,havfrk,havaibyirq,havagrerfgvat,havagryyvtvoyr,havzntvangvir,haqrfreivat,haqrezvarf,haqretnezragf,hapbaprearq,glenagf,glcvfg,glxrf,glonyg,gjbfbzr,gjvgf,ghggv,gheaqbja,ghynerzvn,ghorephybzn,gfvzfuvna,gehssnhg,gehre,gehnag,gebir,gevhzcurq,gevcr,gevtbabzrgel,gevsyrq,gevsrpgn,gevohyngvbaf,gerzbag,gerzbvyyr,genafpraqf,genssvpxre,gbhpuva,gbzsbbyrel,gvaxrerq,gvasbvy,gvtugebcr,gubhfna,gubenpbgbzl,gurfnhehf,gunjvat,gunggn,grffvb,grzcf,gnkvqrezvfg,gngbe,gnpulpneqvn,g'nxnln,fjrypb,fjrrgoernqf,fjnggvat,fhcrepbyyvqre,fhaonguvat,fhzznevyl,fhssbpngvba,fhryrra,fhppvapg,fhofvqrq,fhozvffvir,fhowrpgvat,fhoovat,fhongbzvp,fghcraqbhf,fghagrq,fghooyr,fghoorq,fgerrgjnyxre,fgengrtvmvat,fgenvavat,fgenvtugnjnl,fgbyv,fgvssre,fgvpxhc,fgraf,fgrnzebyyre,fgrnqjryy,fgrnqsnfg,fgngrebbz,fgnaf,ffuuuu,fdhvfuvat,fdhvagvat,fdhrnyrq,fcebhgvat,fcevzc,fcernqfurrgf,fcenjyrq,fcbgyvtugf,fcbbavat,fcvenyf,fcrrqobng,fcrpgnpyrf,fcrnxrecubar,fbhgutyra,fbhfr,fbhaqcebbs,fbbgufnlre,fbzzrf,fbzrguvatf,fbyvqvsl,fbnef,fabegrq,fabexryvat,favgpurf,favcvat,favsgre,favssva,favpxrevat,farre,faney,fzvyn,fyvaxvat,fynagrq,fynaqrebhf,fynzzva,fxvzc,fxvybfu,fvgrvq,fveybva,fvatr,fvtuvat,fvqrxvpxf,fvpxra,fubjfgbccre,fubcyvsgre,fuvzbxnjn,fureobear,funinqnv,funecfubbgref,funexvat,funttrq,funqqhc,frabevgn,frfgreprf,frafhbhf,frnunira,fphyyrel,fpbepure,fpubgmvr,fpuabm,fpuzbbmr,fpuyrc,fpuvmb,fpragf,fpnycvat,fpnycrq,fpnyybc,fpnyqvat,fnlrgu,fnloebbxr,fnjrq,fnibevat,fneqvar,fnaqfgbez,fnaqnyjbbq,fnyhgngvbaf,fntzna,f'bxnl,efic'q,ebhfgrq,ebbgva,ebzcre,ebznabif,ebyyrepbnfgre,ebysvr,ebovafbaf,evgml,evghnyvfgvp,evatjnyq,eulzrq,eurvatbyq,erjevgrf,eribxvat,eriregf,ergebsvg,ergbeg,ergvanf,erfcvengvbaf,ercebongr,ercynlvat,ercnvag,eradhvfg,erartr,eryncfvat,erxvaqyrq,erwhirangvat,erwhirangrq,ervafgngvat,erpevzvangvbaf,erpurpxrq,ernffrzoyr,ernef,ernzrq,ernpdhnvag,enlnaar,enivfu,engubyr,enfcnvy,enerfg,encvfgf,enagf,enpxrgrre,dhvggva,dhvggref,dhvagrffragvny,dhrerzbf,dhryyrx,dhryyr,dhnfvzbqb,clebznavnp,chggnarfpn,chevgnavpny,chere,cherr,chatrag,chzzry,chrqb,cflpubgurencvfg,cebfrphgbevny,cebfpvhggb,cebcbfvgvbavat,cebpenfgvangvba,cebongvbanel,cevzcvat,ceriragngvir,cerinvyf,cerfreingvirf,cernpul,cenrgbevnaf,cenpgvpnyvgl,cbjqref,cbghf,cbfgbc,cbfvgvirf,cbfre,cbegbynab,cbegbxnybf,cbbyfvqr,cbygretrvfgf,cbpxrgrq,cbnpu,cyhzzrgrq,cyhpxvat,cyvzcgba,cynlguvatf,cynfgvdhr,cynvapybgurf,cvacbvagrq,cvaxhf,cvaxf,cvtfxva,cvssyr,cvpgvbanel,cvppngn,cubgbpbcl,cubovnf,crevtaba,creshzrf,crpxf,crpxrq,cngragyl,cnffnoyr,cnenfnvyvat,cnenzhf,cncvre,cnvagoehfu,cnpre,cnnvvag,biregherf,bireguvax,birefgnlrq,bireehyr,birerfgvzngr,birepbbxrq,bhgynaqvfu,bhgterj,bhgqbbefl,bhgqb,bepurfgengr,bccerff,bccbfnoyr,bbbbuu,bbzhcjnu,bxrlqbxrl,bxnnnl,bunfuv,bs'rz,bofpravgvrf,bnxvr,b'tne,aherpgvba,abfgenqnzhf,abegure,abepbz,abbpu,abafrafvpny,avccrq,avzonyn,areibhfyl,arpxyvar,arooyrzna,anejuny,anzrgnt,a'a'g,zlpranr,zhmnx,zhhzhh,zhzoyrq,zhyiruvyy,zhttvatf,zhssrg,zbhgul,zbgvingrf,zbgnon,zbbpure,zbatv,zbyrl,zbvfghevmr,zbunve,zbpxl,zzxnl,zvfghu,zvffvf,zvfqrrqf,zvaprzrng,zvttf,zvssrq,zrgunqbar,zrffvrhe,zrabcnhfny,zrantrevr,zptvyyvphqql,znlsybjref,zngevzbavny,zngvpx,znfnv,znemvcna,zncyrjbbq,znamryyr,znaardhvaf,znaubyr,znaunaqyr,znyshapgvbaf,znqjbzna,znpuvniryyv,ylayrl,ylapurq,yhepbavf,yhwnpx,yhoevpnag,ybbbir,ybbaf,ybbsnu,ybarylurnegf,ybyyvcbcf,yvarfjbzna,yvsref,yrkgre,yrcare,yrzbal,yrttl,yrnsl,yrnqrgu,ynmrehf,ynmner,ynjsbeq,ynathvfuvat,yntbqn,ynqzna,xhaqren,xevaxyr,xeraqyre,xervtry,xbjbyfxv,xabpxqbja,xavsrq,xarrq,xarrpnc,xvqf'yy,xraavr,xrazber,xrryrq,xnmbbgvr,xngmrazblre,xnfqna,xnenx,xncbjfxv,xnxvfgbf,whylna,wbpxfgenc,wboyrff,wvttyl,wnhag,wneevat,wnoorevat,veevtngr,veeribpnoyl,veengvbanyyl,vebavrf,vaivgeb,vagvzngrq,vagragyl,vagragvbarq,vagryyvtragyl,vafgvyy,vafgvtngbe,vafgrc,vabccbeghar,vaahraqbrf,vasyngr,vasrpgf,vasnzl,vaqvfpergvbaf,vaqvfperrg,vaqvb,vaqvtavgvrf,vaqvpg,vaqrpvfvba,vapbafcvphbhf,vanccebcevngryl,vzchavgl,vzchqrag,vzcbgrapr,vzcyvpngrf,vzcynhfvoyr,vzcresrpgvba,vzcngvrapr,vzzhgnoyr,vzzbovyvmr,vqrnyvfg,vnzovp,ulfgrevpnyyl,ulcrefcnpr,ultvravfg,ulqenhyvpf,ulqengrq,uhmmnu,uhfxf,uhapurq,uhssrq,uhoevf,uhooho,ubirepensg,ubhatna,ubfrq,ubebfpbcrf,ubcryrffarff,ubbqjvaxrq,ubabenoyl,ubarlfhpxyr,ubzrtvey,ubyvrfg,uvccvgl,uvyqvr,uvrebtylcuf,urkgba,urerva,urpxyr,urncvat,urnyguvyvmre,urnqsvefg,ungfhr,uneybg,uneqjverq,unybgunar,unvefglyrf,unntra,unnnnn,thggvat,thzzv,tebhaqyrff,tebnavat,tevfgyr,tevyyf,tenlanzber,tenoova,tbbqrf,tbttyr,tyvggrevat,tyvag,tyrnzvat,tynffl,tvegu,tvzony,tvoyrgf,tryyref,trrmref,trrmr,tnefunj,tnetnaghna,tneshaxry,tnatjnl,tnaqnevhz,tnzhg,tnybfurf,tnyyvinagvat,tnvashyyl,tnpuane,shfvbayvcf,shfvyyv,shevbhfyl,sehtny,sevpxvat,serqrevxn,serpxyvat,senhqf,sbhagnvaurnq,sbegujvgu,sbetb,sbetrggnoyr,sberfvtug,sberfnj,sbaqyvat,sbaqyrq,sbaqyr,sbyxfl,syhggrevat,syhssvat,sybhaqrevat,syvegngvbhf,syrkvat,synggrere,synevat,svkngvat,svapul,svtherurnq,svraqvfu,sregvyvmr,srezrag,sraqvat,sryynuf,srryref,snfpvangr,snagnohybhf,snyfvsl,snyybcvna,snvguyrff,snvere,snvagre,snvyvatf,snprgvbhf,rlrcngpu,rkkba,rkgengreerfgevnyf,rkgenqvgr,rkgenpheevphynef,rkgvathvfu,rkchatrq,rkcryyvat,rkbeovgnag,rkuvynengrq,rkregvba,rkregvat,rkprepvfr,rireobql,rincbengrq,rfpnetbg,rfpncrr,renfrf,rcvmbbgvpf,rcvguryvnyf,rcuehz,ragnatyrzragf,rafynir,ratebffrq,rzcungvp,rzrenyqf,rzore,rznapvcngrq,ryringrf,rwnphyngr,rssrzvangr,rppragevpvgvrf,rnfltbvat,rnefubg,qhaxf,qhyyarff,qhyyv,qhyyrq,qehzfgvpx,qebccre,qevsgjbbq,qertf,qerpx,qernzobng,qenttva,qbjafvmvat,qbabjvgm,qbzvabrf,qvirefvbaf,qvfgraqrq,qvffvcngr,qvfenryv,qvfdhnyvsl,qvfbjarq,qvfujnfuvat,qvfpvcyvavat,qvfpreavat,qvfnccbvagf,qvatrq,qvtrfgrq,qvpxvat,qrgbangvat,qrfcvfvat,qrcerffbe,qrcbfr,qrcbeg,qragf,qrshfrq,qrsyrpgvat,qrpelcgvba,qrpblf,qrpbhcntr,qrpbzcerff,qrpvory,qrpnqrapr,qrnsravat,qnjavat,qngre,qnexrarq,qnccl,qnyylvat,qntba,pmrpubfybinxvnaf,phgvpyrf,phgrarff,phcobneqf,phybggrf,pehvfva,pebffunvef,pebala,pevzvanyvfgvpf,perngviryl,pernzvat,penccvat,penaal,pbjrq,pbagenqvpgvat,pbafgvcngvba,pbasvavat,pbasvqraprf,pbaprvivat,pbaprvinoyl,pbaprnyzrag,pbzchyfviryl,pbzcynvava,pbzcynprag,pbzcryf,pbzzhavat,pbzzbqr,pbzzvat,pbzzrafhengr,pbyhzavfgf,pbybabfpbcl,pbypuvpvar,pbqqyvat,pyhzc,pyhoorq,pybjavat,pyvssunatre,pynat,pvffl,pubbfref,pubxre,puvssba,punaaryrq,punyrg,pryyzngrf,pngunegvp,pnfrybnq,pnewnpx,pnainff,pnavfgref,pnaqyrfgvpx,pnaqyryvg,pnzel,pnymbarf,pnyvgev,pnyql,olyvar,ohggreonyy,ohfgvre,oheync,ohernhpeng,ohssbbaf,ohranf,oebbxyvar,oebamrq,oebvyrq,oebqn,oevff,oevbpur,oevne,oerngunoyr,oenlf,oenffvrerf,oblfraoreel,objyvar,obbbb,obbavrf,obbxyrgf,obbxvfu,obbtrlzna,obbtrl,obtnf,obneqvatubhfr,oyhhpu,oyhaqrevat,oyhre,oybjrq,oybgpul,oybffbzrq,oybbqjbex,oybbqvrq,oyvgurevat,oyvaxf,oyngurevat,oynfcurzbhf,oynpxvat,oveqfba,ovatf,oszvq,osnfg,orggva,orexfuverf,orawnzvaf,oraribyrapr,orapurq,orangne,oryylohggba,orynobe,orubbirf,orqql,ornhwbynvf,ornggyr,onkjbegu,onfryrff,onesvat,onaavfu,onaxebyyrq,onarx,onyyfl,onyycbvag,onssyvat,onqqre,onqqn,onpgvar,onpxtnzzba,onnxb,nmgerbanz,nhgubevgnu,nhpgvbavat,nenpugbvqf,ncebcbf,ncebaf,nccevfrq,nccerurafvir,nalguat,nagvirava,nagvpuevfg,naberkvp,nabvag,nathvfurq,natvbcynfgl,natvb,nzcyl,nzcvpvyyva,nzcurgnzvarf,nygreangbe,nypbir,nynonfgre,nveyvsgrq,ntenonu,nssvqnivgf,nqzbavfurq,nqzbavfu,nqqyrq,nqqraqhz,npphfre,nppbzcyv,nofheqvgl,nofbyirq,noehffb,noernfg,nobbg,noqhpgvbaf,noqhpgvat,nonpx,nonojn,nnnuuuu,mbeva,mvagune,mvasnaqry,mvyyvbaf,mrculef,mngnepf,mnpxf,lbhhh,lbxryf,lneqfgvpx,lnzzre,l'haqrefgnaq,jlarggr,jehat,jernguf,jbjrq,jbhyqa'gn,jbezvat,jbezrq,jbexqnl,jbbqfl,jbbqfurq,jbbqpuhpx,jbwnqhonxbjfxv,jvgurevat,jvgpuvat,jvfrnff,jvergncf,jvavat,jvyybol,jvppnavat,juhccrq,jubbcv,jubbzc,jubyrfnyre,juvgrarff,juvare,jungpuln,juneirf,jrahf,jrveqbrf,jrnavat,jnghfv,jncbav,jnvfgonaq,jnpxbf,ibhpuvat,ibger,ivivpn,ivirpn,ivinag,ivinpvbhf,ivfbe,ivfvgva,ivfntr,ivpehz,irggrq,iragevybdhvfz,iravfba,ineafra,incbevmrq,incvq,inafgbpx,hhhhu,hfurevat,hebybtvfg,hevangvba,hcfgneg,hcebbgrq,hafhogvgyrq,hafcbvyrq,hafrng,hafrnfbanoyl,hafrny,hafngvfslvat,haareir,hayvxnoyr,hayrnqrq,havafherq,havafcverq,havplpyr,haubbxrq,hashaal,haserrmvat,hasynggrevat,hasnvearff,harkcerffrq,haraqvat,haraphzorerq,harnegu,haqvfpbirerq,haqvfpvcyvarq,haqrefgna,haqrefuveg,haqreyvatf,haqreyvar,haqrepheerag,hapvivyvmrq,hapunenpgrevfgvp,hzcgrragu,htyvrf,gharl,gehzcf,gehpxnfnhehf,gehofunj,gebhfre,gevatyr,gevsyvat,gevpxfgre,gerfcnffref,gerfcnffre,genhznf,genggbevn,genfurf,genafterffvbaf,genzcyvat,gc'rq,gbkbcynfzbfvf,gbhatr,gbegvyynf,gbcfl,gbccyr,gbcabgpu,gbafvy,gvbaf,gvzzhu,gvzvguvbhf,gvyarl,gvtugl,gvtugarff,gvtugraf,gvqovgf,gvpxrgrq,gulzr,guerrcvb,gubhtugshyyl,gubexry,gubzzb,guvat'yy,gursgf,gung'ir,gunaxftvivatf,grgureonyy,grfgvxbi,greensbezvat,grcvq,graqbavgvf,graobbz,gryrk,grralobccre,gnggrerq,gnggntyvnf,gnaarxr,gnvyfcva,gnoyrpybgu,fjbbcvat,fjvmmyr,fjvcvat,fjvaqyrq,fjvyyvat,fjreivat,fjrngfubcf,fjnqqyvat,fjnpxunzzre,firgxbss,fhcbffrq,fhcreqnq,fhzcghbhf,fhtnel,fhtnv,fhoireg,fhofgnagvngr,fhozrefvoyr,fhoyvzngvat,fhowhtngvba,fglzvrq,fgelpuavar,fgerrgyvtugf,fgenffznaf,fgenatyrubyq,fgenatrarff,fgenqqyvat,fgenqqyr,fgbjnjnlf,fgbgpu,fgbpxoebxref,fgvsyvat,fgrcsbeq,fgrrentr,fgrran,fgnghnel,fgneyrgf,fgnttrevatyl,fffuuu,fdhnj,fcheg,fchatrba,fcevgmre,fcevtugyl,fcenlf,fcbegfjrne,fcbbashy,fcyvggva,fcyvgfivyyr,fcrrqvyl,fcrpvnyvfr,fcnfgvp,fcneeva,fbhiynxv,fbhguvr,fbhechff,fbhcl,fbhaqfgntr,fbbgurf,fbzrobql'q,fbsgrfg,fbpvbcnguvp,fbpvnyvmrq,falqref,fabjzbovyrf,fabjonyyrq,fangpurf,fzhtarff,fzbbgurfg,fznfurf,fybfurq,fyrvtug,fxlebpxrg,fxvrq,fxrjrq,fvkcrapr,fvcbjvpm,fvatyvat,fvzhyngrf,fularff,fuhinavf,fubjbss,fubegfvtugrq,fubcxrrcre,fubrubea,fuvgubhfr,fuvegyrff,fuvcfuncr,fuvsh,furyir,furyolivyyr,furrcfxva,funecraf,fundhvyyr,funafuh,freivatf,frdhvarq,frvmrf,frnfuryyf,fpenzoyre,fpbcrf,fpuanhmre,fpuzb,fpuvmbvq,fpnzcrerq,fnintryl,fnhqvf,fnagnf,fnaqbinyf,fnaqvat,fnyrfjbzna,fnttvat,f'phfr,ehggvat,ehguyrffyl,ehaargu,ehssvnaf,ehorf,ebfnyvgn,ebyyreoynqrf,ebulcaby,ebnfgf,ebnqvrf,evggra,evccyvat,evccyrf,evtbyrggb,evpuneqb,ergubhtug,erfubbg,erfreivat,erfrqn,erfphre,erernq,erdhvfvgvbaf,erchgr,ercebtenz,ercyravfu,ercrgvgvbhf,erbetnavmvat,ervairagvat,ervairagrq,erurng,ersevtrengbef,erragre,erpehvgre,erpyvare,enjql,enfurf,enwrfxv,envfba,envfref,entrf,dhvavar,dhrfgfpncr,dhryyre,cltznyvba,chfuref,chfna,cheivrj,chzcva,chorfprag,cehqrf,cebibybar,cebcevrgl,cebccrq,cebpenfgvangr,cebprffvbany,cerlrq,cergevny,cbegrag,cbbyvat,cbbsl,cbyybv,cbyvpvn,cbnpure,cyhfrf,cyrnfhevat,cyngvghqrf,cyngrnhrq,cynthvat,cvggnapr,cvaurnqf,cvaphfuvba,cvzcyl,cvzcrq,cvttlonpx,cvrpvat,cuvyyvcr,cuvyvcfr,cuvyol,cunenbuf,crgle,crgvgvbare,crfugvtb,crfnenz,crefavpxrgl,crecrgengr,crepbyngvat,crcgb,craar,craryy,crzzvpna,crrxf,crqnyvat,crnprznxre,cnjafubc,cnggvat,cngubybtvpnyyl,cngpubhyv,cnfgf,cnfgvrf,cnffva,cneybef,cnygebj,cnynzba,cnqybpx,cnqqyvat,birefyrrc,bireurngvat,bireqbfrq,birepunetr,bireoybja,bhgentrbhfyl,bearel,bccbeghar,bbbbbbbbbu,bbuuuu,buuuuuu,bterf,bqbeyrff,boyvgrengrq,albat,alzcubznavnp,agbmnxr,abibpnva,abhtu,abaavr,abavffhr,abqhyrf,avtugznevfu,avtugyvar,avprgvrf,arjfzna,arrqen,arqel,arpxvat,anibhe,anhfrnz,anhyf,anevz,anzngu,anttrq,anobb,a'flap,zlfyrkvn,zhgngbe,zhfgnsv,zhfxrgrre,zhegnhtu,zheqrerff,zhapuvat,zhzfl,zhyrl,zbhfrivyyr,zbegvslvat,zbetraqbessref,zbbyn,zbagry,zbatbybvq,zbyrfgrerq,zbyqvatf,zbpneovrf,zb'ff,zvkref,zvferyy,zvfabzre,zvfurneq,zvfunaqyrq,zvfpernag,zvfpbaprcgvbaf,zvavfphyr,zvyytngr,zrggyr,zrgevppbairegre,zrgrbef,zrabenu,zratryr,zryqvat,zrnaarff,zptehss,zpneabyq,zngmbu,znggrq,znfgrpgbzl,znffntre,zneiryvat,znebbarq,zneznqhxr,znevpx,znaunaqyrq,znangrrf,zna'yy,znygva,znyvpvbhfyl,znysrnfnapr,znynuvqr,znxrgu,znxrbiref,znvzvat,znpuvfzb,yhzcrpgbzl,yhzorevat,yhppv,ybeqvat,ybepn,ybbxbhgf,ybbtvr,ybaref,ybngurq,yvffra,yvtugurnegrq,yvsre,yvpxva,yrjra,yrivgngvba,yrfgrepbec,yrffrr,yragvyf,yrtvfyngr,yrtnyvmvat,yrqreubfra,ynjzra,ynffxbcs,yneqare,ynzornh,ynznten,ynqbaa,ynpgvp,ynpdhre,ynongvre,xenonccry,xbbxf,xavpxxanpxf,xyhgml,xyrlanpu,xyraqnguh,xvaebff,xvaxnvq,xvaq'n,xrgpu,xrfure,xnevxbf,xneravan,xnanzvgf,whafuv,whzoyrq,wbhfg,wbggrq,wbofba,wvatyvat,wvtnybat,wreevrf,wryyvrf,wrrcf,wnian,veerfvfgnoyr,vagreavfg,vagrepenavny,vafrzvangrq,vadhvfvgbe,vashevngr,vasyngvat,vasvqryvgvrf,vaprffnagyl,vaprafrq,vapnfr,vapncnpvgngr,vanfzhpu,vanpphenpvrf,vzcybqvat,vzcrqvat,vzcrqvzragf,vzznghevgl,vyyrtvoyr,vqvgnebq,vpvpyrf,vohcebsra,v'v'z,ulzvr,ulqebynfr,uhaxre,uhzcf,uhzbaf,uhzvqbe,uhzqvatre,uhzoyvat,uhttva,uhssvat,ubhfrpyrnavat,ubgubhfr,ubgpnxrf,ubfgl,ubbgranaal,ubbgpuvr,ubbfrtbj,ubaxf,ubarlzbbaref,ubzvyl,ubzrbcnguvp,uvgpuuvxref,uvffrq,uvyyavttre,urkninyrag,urjjb,urefur,urezrl,uretbgg,uraal,uraavtnaf,uraubhfr,urzbylgvp,uryvcnq,urvsre,uroerjf,uroovat,urnirq,urnqybpx,uneebjvat,unearffrq,unatbiref,unaqv,unaqonfxrg,unyserx,unprar,tltrf,thlf'er,thaqrefbaf,thzcgvba,tehagznfgre,tehof,tebffvr,tebcrq,tevaf,ternfronyy,tenirfvgr,tenghvgl,tenazn,tenaqsnguref,tenaqonol,tenqfxv,tenpvat,tbffvcf,tbboyr,tbaref,tbyvgfla,tbsre,tbqfnxr,tbqqnhtugre,tangf,tyhvat,tynerf,tviref,tvamn,tvzzvr,tvzzrr,traareb,trzzr,tnmcnpub,tnmrq,tnffl,tnetyvat,tnaquvwv,tnyinavmrq,tnyyoynqqre,tnnnu,shegvir,shzvtngvba,shpxn,sebaxbafgrra,sevyyf,serrmva,serrjnyq,serrybnqre,senvygl,sbetre,sbbyuneql,sbaqrfg,sbzva,sbyybjva,sbyyvpyr,sybgngvba,sybccvat,sybbqtngrf,sybttrq,syvpxrq,syraqref,syrnont,svkvatf,svknoyr,svfgshy,sverjngre,sveryvtug,svatreonat,svanyvmvat,svyyva,svyvcbi,svqrere,sryyvat,sryqoret,srvta,snhavn,sngnyr,snexhf,snyyvoyr,snvgushyarff,snpgbevat,rlrshy,rkgenznevgny,rkgrezvangrq,rkuhzr,rknfcrengrq,rivfprengr,rfgbl,rfzreryqn,rfpncnqrf,rcbkl,ragvprq,raguhfrq,ragraqer,ratebffvat,raqbecuvaf,rzcgvir,rzzlf,rzvaragyl,rzormmyre,rzoneerffrq,rzoneenffvatyl,rzonyzrq,ryhqrf,ryvat,ryngrq,rvevr,rtbgvgvf,rssrpgvat,rrevyl,rrpbz,rpmrzn,rnegul,rneyborf,rnyyl,qlrvat,qjryyf,qhirg,qhapnaf,qhyprg,qebirf,qebccva,qebbyf,qerl'nhp,qbjaevire,qbzrfgvpvgl,qbyybc,qbrfag,qboyre,qvihytrq,qvirefvbanel,qvfgnapvat,qvfcrafref,qvfbevragvat,qvfarljbeyq,qvfzvffvir,qvfvatrahbhf,qvfuriryrq,qvfsvthevat,qvaavat,qvzzvat,qvyvtragyl,qvyrggnagr,qvyngvba,qvpxrafvna,qvncuentzf,qrinfgngvatyl,qrfgnovyvmr,qrfrpengr,qrcbfvat,qravrpr,qrzbal,qryivat,qryvpngrf,qrvtarq,qrsenhq,qrsybjre,qrsvoevyyngbe,qrsvnagyl,qrsrapryrff,qrsnpvat,qrpbafgehpgvba,qrpbzcbfr,qrpvcurevat,qrpvoryf,qrprcgviryl,qrprcgvbaf,qrpncvgngvba,qrohgnagrf,qrobanve,qrnqyvre,qnjqyvat,qnivp,qnejvavfz,qneavg,qnexf,qnaxr,qnavrywnpxfba,qnatyrq,plgbkna,phgbhg,phgyrel,pheironyy,phesrjf,phzzreohaq,pehapurf,pebhpurq,pevfcf,pevccyrf,pevyyl,pevof,perjzna,perrcva,perrqf,perqramn,pernx,penjyl,penjyva,penjyref,pengrq,penpxurnqf,pbjbexre,pbhyqa'g'ir,pbejvaf,pbevnaqre,pbcvbhfyl,pbairarf,pbagenprcgvirf,pbagvatrapvrf,pbagnzvangvat,pbaavcgvba,pbaqvzrag,pbapbpgvat,pbzceruraqvat,pbzcynprapl,pbzzraqngber,pbzronpxf,pbz'ba,pbyyneobar,pbyvgvf,pbyqyl,pbvssher,pbssref,pbrqf,pbqrcraqrag,pbpxfhpxvat,pbpxarl,pbpxyrf,pyhgpurq,pybfrgrq,pybvfgrerq,pyrir,pyrngf,pynevslvat,pynccrq,pvaanone,puhaary,puhzcf,pubyvarfgrenfr,pubveobl,pubpbyngrl,puynzlqvn,puvtyvnx,purrfvr,punhivavfgvp,punfz,punegerhfr,puneb,puneavre,puncvy,punyxrq,punqjnl,pregvsvnoyl,pryyhyvgr,pryyrq,pninypnqr,pngnybtvat,pnfgengrq,pnffvb,pnfurjf,pnegbhpur,pneaviber,pnepvabtraf,pnchyrg,pncgvingrq,pncg'a,pnapryyngvbaf,pnzcva,pnyyngr,pnyyne,pnssrvangrq,pnqniref,pnpbcubal,pnpxyr,ohmmrf,ohggbavat,ohfybnq,ohetynevrf,oheof,ohban,ohavbaf,ohyyurnqrq,ohssf,ohplx,ohpxyvat,oehfpurggn,oebjorngvat,oebbzfgvpxf,oebbql,oebzyl,oebyva,oevrsvatf,oerjfxvrf,oerngunylmre,oernxhcf,oengjhefg,oenavn,oenvqvat,oentf,oenttva,oenqljbbq,obggbzrq,obffn,obeqryyb,obbxfurys,obbtvqn,obaqfzna,obyqre,obttyrf,oyhqtrbarq,oybjgbepu,oybggre,oyvcf,oyrzvfu,oyrnpuvat,oynvargbybtvfgf,oynqvat,oynoorezbhgu,oveqfrrq,ovzzry,ovybkv,ovttyl,ovnapuvaav,orgnqvar,orerafba,oryhf,oryybd,ortrgf,orsvggvat,orrcref,orrymroho,orrsrq,orqevqqra,orqrirer,orpxbaf,ornqrq,onhoyrf,onhoyr,onggyrtebhaq,ongueborf,onfxrgonyyf,onfrzragf,oneebbz,oneanpyr,onexva,onexrq,onerggn,onatyrf,onatyre,onanyvgl,onzonat,onygne,onyycynlref,ontzna,onssyrf,onpxebbz,onolfng,onobbaf,nirefr,nhqvbgncr,nhpgvbarre,nggra,ngpun,nfgbavfuzrag,nehthyn,neebm,nagvuvfgnzvarf,naablnaprf,narfgurfvbybtl,nangbzvpnyyl,nanpuebavfz,nzvnoyr,nznerggb,nyynuh,nyvtug,nvzva,nvyzrag,nsgretybj,nssebagr,nqivy,nqeranyf,npghnyvmngvba,npebfg,npurq,npphefrq,nppbhgerzragf,nofpbaqrq,nobirobneq,norggrq,nnetu,nnnnuu,mhjvpxl,mbyqn,mvcybp,mnxnzngnx,lbhir,lvccvr,lrfgreqnlf,lryyn,lrneaf,lrneavatf,lrnearq,lnjavat,lnygn,lnugmrr,l'zrna,l'ner,jhgurevat,jernxf,jbeevfbzr,jbexvvvat,jbbbbbbb,jbaxl,jbznavmvat,jbybqnefxl,jvjvgu,jvguqenjf,jvful,jvfug,jvcref,jvcre,jvabf,jvaqgubear,jvaqfhesvat,jvaqrezrer,jvttyrq,jvttra,jujung,jubqhavg,jubnnn,juvggyvat,juvgrfanxr,jurerbs,jurrmvat,jurrmr,jungq'ln,jungnln,junzzb,junpxva,jryyyy,jrvtugyrff,jrrivy,jrqtvrf,jroovat,jrnfyl,jnlfvqr,jnkrf,jnghev,jnful,jnfuebbzf,jnaqryy,jnvgnzvahgr,jnqqln,jnnnnu,ibeanp,ivfuabbe,ivehyrag,ivaqvpgvirarff,ivaprerf,ivyyvre,ivtrbhf,irfgvtvny,iragvyngr,iragrq,irarerny,irrevat,irrerq,irqql,infybin,inybfxl,invyfohet,intvanf,intnf,herguen,hcfgntrq,hcybnqvat,hajenccvat,hajvryql,hagnccrq,hafngvfsvrq,hadhrapunoyr,haareirq,hazragvbanoyr,haybinoyr,haxabjaf,havasbezrq,havzcerffrq,haunccvyl,hathneqrq,harkcyberq,haqretnezrag,haqravnoyl,hapyrapu,hapynvzrq,hapunenpgrevfgvpnyyl,haohggbarq,haoyrzvfurq,hyhyq,huuuz,gjrrmr,ghgfnzv,ghful,ghfpneben,ghexyr,ghetuna,gheovavhz,ghoref,gehpbng,gebkn,gebcvpnan,gevdhrgen,gevzzref,gevprcf,gerfcnffrq,genln,genhzngvmvat,genafirfgvgrf,genvabef,genqva,genpxref,gbjavrf,gbheryyrf,gbhpun,gbffva,gbegvbhf,gbcfubc,gbcrf,gbavpf,gbatf,gbzfx,gbzbeebjf,gbvyvat,gbqqyr,gvmml,gvccref,gvzzv,gujnc,guhfyl,gugur,guehfgf,guebjref,guebjrq,guebhtujnl,guvpxravat,gurezbahpyrne,guryjnyy,gungnjnl,greevsvpnyyl,graqbaf,gryrcbegngvba,gryrcnguvpnyyl,gryrxvargvp,grrgrevat,grnfcbbaf,gnenaghynf,gncnf,gnaarq,gnatyvat,gnznyrf,gnvybef,gnuvgvna,gnpgshy,gnpul,gnoyrfcbba,flenu,flapuebavpvgl,flapu,flancfrf,fjbbavat,fjvgpuzna,fjvzfhvgf,fjrygrevat,fjrrgyl,fhibygr,fhfybi,fhesrq,fhccbfvgvba,fhccregvzr,fhcreivyynvaf,fhcresyhbhf,fhcrertb,fhafcbgf,fhaavat,fhayrff,fhaqerff,fhpxnu,fhppbgnfu,fhoyriry,fhoonfrzrag,fghqvbhf,fgevcvat,fgerahbhfyl,fgenvtugf,fgbarjnyyrq,fgvyyarff,fgvyrggbf,fgrirfl,fgrab,fgrrajlpx,fgnetngrf,fgnzzrevat,fgnrqreg,fdhvttyl,fdhvttyr,fdhnfuvat,fdhnevat,fcernqfurrg,fcenzc,fcbggref,fcbegb,fcbbxvat,fcyraqvqb,fcvggva,fcvehyvan,fcvxl,fcngr,fcnegnphf,fcnpreha,fbbarfg,fbzrguvat'yy,fbzrgu,fbzrcva,fbzrbar'yy,fbsnf,fboreyl,fborerq,fabjzra,fabjonax,fabjonyyvat,faviryyvat,favssyvat,fanxrfxva,fanttvat,fzhfu,fzbbgre,fzvqtra,fznpxref,fyhzybeq,fybffhz,fyvzzre,fyvtugrq,fyrrcjnyx,fyrnmronyy,fxbxvr,fxrcgvp,fvgnevqrf,fvfgnu,fvccrq,fvaqryy,fvzcyrgbaf,fvzbal,fvyxjbbq,fvyxf,fvyxra,fvtugyrff,fvqrobneq,fuhggyrf,fuehttvat,fuebhqf,fubjl,fubiryrq,fubhyqa'gn,fubcyvsgref,fuvgfgbez,furral,funcrglcr,funzvat,funyybjf,funpxyr,funoovyl,funoonf,frcchxh,fravyvgl,frzvgr,frzvnhgbzngvp,frymavpx,frpergnevny,fronpvb,fphmml,fphzzl,fpehgvavmrq,fpehapuvr,fpevooyrq,fpbgpurf,fpbyqrq,fpvffbe,fpuyho,fpniratvat,fpneva,fpnesvat,fpnyyvbaf,fpnyq,fnibhe,fniberq,fnhgr,fnepbvqbfvf,fnaqone,fnyhgrq,fnyvfu,fnvgu,fnvyobngf,fntvggnevhf,fnper,fnppunevar,fnpnznab,ehfuqvr,ehzcyrq,ehzon,ehyrobbx,ehooref,ebhtuntr,ebgvffrevr,ebbgvr,ebbsl,ebbsvr,ebznagvpvmr,evggyr,evfgbenagr,evccva,evafvat,evatva,evaprff,evpxrgl,eriryvat,ergrfg,ergnyvngvat,erfgbengvir,erfgba,erfgnhengrhe,erfubbgf,erfrggvat,erfragzragf,ercebtenzzvat,ercbffrff,ercnegrr,eramb,erzber,erzvggvat,erzrore,erynknagf,erwhirangr,erwrpgvbaf,ertrarengrq,ersbphf,ersreenyf,errab,erplpyrf,erpevzvangvba,erpyvavat,erpnagvat,ernggnpu,ernffvtavat,enmthy,enirq,enggyrfanxrf,enggyrf,enfuyl,endhrgonyy,enafnpx,envfvarggrf,enurrz,enqvffba,enqvfurf,enona,dhbgu,dhznev,dhvagf,dhvygf,dhvygvat,dhvra,dhneeryrq,chegl,cheoyvaq,chapuobjy,choyvpnyyl,cflpubgvpf,cflpubcnguf,cflpubnanylmr,cehavat,cebinfvx,cebgrpgva,cebccvat,cebcbegvbarq,cebculynpgvp,cebbsrq,cebzcgre,cebperngr,cebpyvivgvrf,cevbevgvmvat,cevamr,cevpxrq,cerff'yy,cerfrgf,cerfpevorf,cerbphcr,cerwhqvpvny,cersrk,cerpbaprvirq,cerpvcvpr,cenyvarf,centzngvfg,cbjreone,cbggvr,cbggrefivyyr,cbgfvr,cbgubyrf,cbffrf,cbfvrf,cbegxrl,cbegreubhfr,cbeabtencuref,cbevat,cbcclpbpx,cbccref,cbzcbav,cbxva,cbvgvre,cbqvngel,cyrrmr,cyrnqvatf,cynlobbx,cyngryrgf,cynar'nevhz,cynprobf,cynpr'yy,cvfgnpuvbf,cvengrq,cvabpuyr,cvarnccyrf,cvansber,cvzcyrf,cvttyl,cvqqyvat,cvpba,cvpxcbpxrgf,cvppuh,culfvbybtvpnyyl,culfvp,cubovp,cuvynaqrevat,curabzranyyl,curnfnagf,crjgre,crggvpbng,crgebavf,crgvgvbavat,cregheorq,crecrghngvat,crezhgng,crevfunoyr,crevzrgref,creshzrq,crepbprg,cre'fhf,crccrewnpx,cranyvmr,crygvat,cryyrg,crvtabve,crqvpherf,crpxref,crpnaf,cnjavat,cnhyffba,cngglpnxr,cngebyzra,cngbvf,cngubf,cnfgrq,cnevfuvbare,cnepurrfv,cnenpuhgvat,cncnlnf,cnagnybbaf,cnycvgngvbaf,cnynagvar,cnvagonyyvat,biregverq,birefgerff,birefrafvgvir,bireavtugf,birerkpvgrq,birenakvbhf,birenpuvrire,bhgjvggrq,bhgibgrq,bhgahzore,bhgynfg,bhgynaqre,bhg'ir,becurl,bepurfgengvat,bcraref,bbbbbbb,bxvrf,buuuuuuuuu,buuuuuuuu,btyvat,bssorng,bofrffviryl,borlrq,b'unan,b'onaaba,b'onaavba,ahzcpr,ahzzl,ahxrq,ahnaprf,abhevfuvat,abfrqvir,abeoh,abzyvrf,abzvar,avkrq,avuvyvfg,avtugfuvsg,arjzrng,artyrpgshy,arrqvarff,arrqva,ancugunyrar,anabplgrf,anavgr,anvirgr,a'lrnu,zlfgvslvat,zluartba,zhgngvat,zhfvat,zhyyrq,zhttl,zhregb,zhpxenxre,zhpunpubf,zbhagnvafvqr,zbgureyrff,zbfdhvgbf,zbecurq,zbccrq,zbbqbb,zbapub,zbyyrz,zbvfghevfre,zbuvpnaf,zbpxf,zvfgerffrf,zvffcrag,zvfvagrecergngvba,zvfpneel,zvahfrf,zvaqrr,zvzrf,zvyyvfrpbaq,zvyxrq,zvtuga'g,zvtugvre,zvremjvnx,zvpebpuvcf,zrlreyvat,zrfzrevmvat,zrefunj,zrrpebo,zrqvpngr,zrqqyrq,zpxvaabaf,zptrjna,zpqhaabhtu,zpngf,zovra,zngmnu,zngevnepu,znfgheongrq,znffryva,znegvnyrq,zneyobebf,znexfznafuvc,znevangr,znepuva,znavpherq,znyabhevfurq,znyvta,znwberx,zntaba,zntavsvpragyl,znpxvat,znpuvniryyvna,znpqbhtny,znppuvngb,znpnjf,znpnanj,z'frys,ylqryyf,yhfgf,yhpvgr,yhoevpnagf,ybccre,ybccrq,ybaryvrfg,ybaryvre,ybzrm,ybwnpx,ybngu,yvdhrsl,yvccl,yvzcf,yvxva,yvtugarff,yvrfy,yvropura,yvpvbhf,yvoevf,yvongvba,yunzb,yrbgneqf,yrnava,ynkngvirf,ynivfurq,yngxn,ynalneq,ynaxl,ynaqzvarf,ynzrarff,ynqqvrf,ynprengrq,ynoberq,y'nzbhe,xerfxva,xbivgpu,xbheavxbin,xbbgpul,xbabff,xaxabj,xavpxrgl,xanpxrgl,xzneg,xyvpxf,xvjnavf,xvffnoyr,xvaqretnegaref,xvygre,xvqarg,xvq'yy,xvpxl,xvpxonpxf,xvpxonpx,xubybxbi,xrjcvr,xraqb,xngen,xnerbxr,xnsryavxbi,xnobo,whawha,whzon,whyrc,wbeqvr,wbaql,wbyfba,wrabss,wnjobar,wnavgbevny,wnaveb,vcrpnp,vaivtbengrq,vagehqrq,vagebf,vagenirabhfyl,vagreehcghf,vagreebtngvbaf,vagrewrpg,vagresnpvat,vagrerfgva,vafhevat,vafgvyyrq,vafrafvgvivgl,vafpehgnoyr,vaebnqf,vaaneqf,vaynvq,vawrpgbe,vatengvghqr,vashevngrf,vasen,vasyvpgvba,vaqryvpngr,vaphongbef,vapevzvangvba,vapbairavrapvat,vapbafbynoyr,vaprfghbhf,vapnf,vapneprengr,vaoerrqvat,vzchqrapr,vzcerffvbavfgf,vzcrnpurq,vzcnffvbarq,vzvcrarz,vqyvat,vqvbflapenfvrf,vproretf,ulcbgrafvir,ulqebpuybevqr,uhfurq,uhzhf,uhzcu,uhzzz,uhyxvat,uhopncf,uhonyq,ubjln,ubjobhg,ubj'yy,ubhfroebxra,ubgjver,ubgfcbgf,ubgurnqrq,ubeenpr,ubcfsvryq,ubagb,ubaxva,ubarlzbbaf,ubzrjerpxre,ubzoerf,ubyyref,ubyyreva,ubrqbja,ubobrf,ubooyvat,ubooyr,ubnefr,uvaxl,uvtuyvtugref,urkrf,ureh'he,ureavnf,urccyrzna,uryy'er,urvtugra,urururururu,urururu,urqtvat,urpxyvat,urpxyrq,urnilfrg,urngfuvryq,urnguraf,urnegguebo,urnqcvrpr,unlfrrq,unirb,unhyf,unfgra,uneevqna,unecbbaf,uneqraf,uneprfvf,uneobhevat,unatbhgf,unyxrva,unyru,unyorefgnz,unvearg,unveqerffref,unpxl,unnnn,u'lnu,thfgn,thful,thetyvat,thvygrq,tehry,tehqtvat,teeeeee,tebffrf,tebbzfzra,tevcvat,tenirfg,tengvsvrq,tengrq,tbhynfu,tbbcl,tbban,tbbqyl,tbqyvarff,tbqnjshy,tbqnza,tylpreva,tyhgrf,tybjl,tyborgebggref,tyvzcfrq,tyraivyyr,tynhpbzn,tveyfpbhg,tvenssrf,tvyorl,tvttyrchff,tuben,trfgngvat,tryngb,trvfunf,trnefuvsg,tnlarff,tnfcrq,tnfyvtugvat,tneerggf,tneon,tnoylpmlpx,t'urnq,shzvtngvat,shzoyvat,shqtrq,shpxjnq,shpx'er,shpufvn,serggvat,serfurfg,serapuvrf,serrmref,serqevpn,senmvref,senvql,sbkubyrf,sbhegl,sbffvyvmrq,sbefnxr,sbesrvgf,sberpybfrq,sberny,sbbgfvrf,sybevfgf,sybccrq,sybbefubj,sybbeobneq,syvapuvat,syrpxf,synhoreg,syngjner,synghyrapr,syngyvarq,synfuqnapr,synvy,synttvat,svire,svgml,svfufgvpxf,svarggv,svaryyv,svantyr,svyxb,svryqfgbar,svoore,sreevav,srrqva,srnfgvat,sniber,sngurevat,sneebhux,snezva,snvelgnyr,snvefreivpr,snpgbvq,snprqbja,snoyrq,rlronyyva,rkgbegvbavfg,rkdhvfvgryl,rkcrqvgrq,rkbepvfr,rkvfgragvnyvfg,rkrpf,rkphycngbel,rknpreongr,rireguvat,riraghnyvgl,rinaqre,rhcubevp,rhcurzvfzf,rfgnzbf,reerq,ragvgyr,radhvevrf,rabezvgl,rasnagf,raqvir,raplpybcrqvnf,rzhyngvat,rzovggrerq,rssbegyrff,rpgbcvp,rpvep,rnfryl,rnecubarf,rneznexf,qjryyre,qhefyne,qhearq,qhabvf,qhaxvat,qhaxrq,qhzqhz,qhyyneq,qhqyrlf,qehguref,qehttvfg,qebffbf,qebbyrq,qevirjnlf,qevccl,qernzyrff,qenjfgevat,qenat,qenvacvcr,qbmvat,qbgrf,qbexsnpr,qbbexabof,qbbuvpxrl,qbaangryyn,qbapun,qbzvpvyr,qbxbf,qboreznaf,qvmmlvat,qvibyn,qvgfl,qvfgnfgr,qvffreivpr,qvfybqtrq,qvfybqtr,qvfvaurevg,qvfvasbezngvba,qvfpbhagvat,qvaxn,qvzyl,qvtrfgvat,qvryyb,qvqqyvat,qvpgngbefuvcf,qvpgngbef,qvntabfgvpvna,qribhef,qrivyvfuyl,qrgenpg,qrgbkvat,qrgbhef,qrgragr,qrfgehpgf,qrfrpengrq,qreevf,qrcyber,qrcyrgr,qrzher,qrzbyvgvbaf,qrzrna,qryvfu,qryoehpx,qrynsbeq,qrtnhyyr,qrsgyl,qrsbezvgl,qrsyngr,qrsvangyl,qrsrpgbe,qrpelcgrq,qrpbagnzvangvba,qrpncvgngr,qrpnagre,qneqvf,qnzcrare,qnzzr,qnqql'yy,qnooyvat,qnooyrq,q'rger,q'netrag,q'nyrar,q'ntanfgv,pmrpubfybinxvna,plzony,ploreqlar,phgbssf,phgvpyr,pheinprbhf,phevbhfvgl,pebjvat,pebjrq,pebhgbaf,pebccrq,pevzval,perfpragvf,penfuref,penajryy,pbireva,pbhegebbzf,pbhagranapr,pbfzvpnyyl,pbfvta,pbeebobengvba,pbebaref,pbeasynxrf,pbccrecbg,pbccreurnq,pbcnprgvp,pbbeqfvmr,pbaihyfvat,pbafhygf,pbawherf,pbatravny,pbaprnyre,pbzcnpgbe,pbzzrepvnyvfz,pbxrl,pbtavmnag,pyhaxref,pyhzfvyl,pyhpxvat,pybirf,pybira,pybguf,pybgur,pybqf,pybpxvat,pyvatf,pynivpyr,pynffyrff,pynfuvat,pynaxvat,pynatvat,pynzcvat,pviivrf,pvgljvqr,pvephyngbel,pvephvgrq,puebavfgref,puebzvp,pubbf,puybebsbezrq,puvyyha,purrfrq,punggreobk,puncrebarq,punaahxnu,preroryyhz,pragrecvrprf,pragresbyq,prrprr,pprqvy,pnibegvat,pnirzra,pnhgrevmrq,pnhyqjryy,pnggvat,pngrevar,pnffvbcrvn,pneirf,pnegjurry,pnecrgrq,pnebo,pnerffvat,pneryrffyl,pnerravat,pncevpvbhf,pncvgnyvfgvp,pncvyynevrf,pnaqvqyl,pnznenqrevr,pnyybhfyl,pnysfxva,pnqqvrf,ohggubyrf,ohfljbex,ohffrf,ohecf,ohetbzrvfgre,ohaxubhfr,ohatpubj,ohtyre,ohssrgf,ohssrq,oehgvfu,oehfdhr,oebapuvgvf,oebzqra,oebyyl,oebnpurq,oerjfxvf,oerjva,oerna,oernqjvaare,oenan,obhagvshy,obhapva,obfbzf,obetavar,obccvat,obbgyrtf,obbvat,obzobfvgl,obygvat,obvyrecyngr,oyhrl,oybjonpx,oybhfrf,oybbqfhpxref,oybbqfgnvarq,oybng,oyrrgu,oynpxsnpr,oynpxrfg,oynpxrarq,oynpxra,oynpxonyyrq,oynof,oynoorevat,oveqoenva,ovcnegvfnafuvc,ovbqrtenqnoyr,ovygzber,ovyxrq,ovt'haf,ovqrg,orfbggrq,oreaurvz,orartnf,oraqvtn,oryhfuv,oryyoblf,oryvggyvat,oruvaqf,ortbar,orqfurrgf,orpxbavat,ornhgr,ornhqvar,ornfgyl,ornpusebag,ongurf,ongnx,onfre,onfronyyf,oneoryyn,onaxebyyvat,onaqntrq,onreyl,onpxybt,onpxva,onolvat,nmxnona,njjjjj,nivnel,nhgubevmrf,nhfgreb,nhagl,nggvpf,ngerhf,nfgbhaqrq,nfgbavfu,negrzhf,nefrf,nevagreb,nccenvfre,ncngurgvp,nalobql'q,nakvrgvrf,nagvpyvznpgvp,nagne,natybf,natyrzna,narfgurgvfg,naqebfpbttva,naqbyvav,naqnyr,nzjnl,nzhpx,nzavbpragrfvf,nzarfvnp,nzrevpnab,nznen,nyinu,nygehvfz,nygreancnybbmn,nycunorgvmr,nycnpn,nyyhf,nyyretvfg,nyrknaqebf,nynvxhz,nxvzob,ntbencubovn,ntvqrf,ntteuu,nsgregnfgr,nqbcgvbaf,nqwhfgre,nqqvpgvbaf,nqnznagvhz,npgvingbe,nppbzcyvfurf,noreenag,nnnnnetu,nnnnnnnnnnnnn,n'vtug,mmmmmmm,mhppuvav,mbbxrrcre,mvepbavn,mvccref,mrdhvry,mryynel,mrvgtrvfg,mnahpx,mntng,lbh'a,lynat,lrf'z,lragn,lrppuu,lrppu,lnjaf,lnaxva,lnuqnu,lnnnu,l'tbg,krebkrq,jjbbjj,jevfgjngpu,jenatyrq,jbhyqfg,jbeguvarff,jbefuvcvat,jbezl,jbezgnvy,jbezubyrf,jbbfu,jbyyfgra,jbysvat,jbrshyyl,jbooyvat,jvagel,jvatqvat,jvaqfgbez,jvaqbjgrkg,jvyhan,jvygvat,jvygrq,jvyyvpx,jvyyraubyyl,jvyqsybjref,jvyqrorrfg,julll,jubccref,jubnn,juvmmvat,juvmm,juvgrfg,juvfgyrq,juvfg,juvaal,jurryvrf,junmmhc,jungjungjunnng,jungb,jungqln,jung'qln,junpxf,jrjryy,jrgfhvg,jryyhu,jrrcf,jnlynaqre,jniva,jnffnvy,jnfag,jnearsbeq,jneohpxf,jnygbaf,jnyyonatre,jnvivat,jnvgjnvg,ibjvat,ibhpure,ibeabss,ibeurrf,ibyqrzbeg,ivier,ivggyrf,ivaqnybb,ivqrbtnzrf,ivpulffbvfr,ivpnevbhf,irfhivhf,irethramn,ira'g,iryirgrra,irybhe,irybpvencgbe,infgarff,infrpgbzvrf,incbef,inaqreubs,inyzbag,inyvqngrf,inyvnagyl,inphhzf,hfhec,hfreahz,hf'yy,hevanyf,halvryqvat,haineavfurq,haghearq,hagbhpunoyrf,hagnatyrq,hafrpherq,hafpenzoyr,haerghearq,haerznexnoyr,hacergragvbhf,haarefgnaq,haznqr,havzcrnpunoyr,hasnfuvbanoyr,haqrejevgr,haqreyvavat,haqreyvat,haqrerfgvzngrf,haqrenccerpvngrq,hapbhgu,hapbex,hapbzzbayl,hapybt,hapvephzpvfrq,hapunyyratrq,hapnf,haohggbavat,hanccebirq,hanzrevpna,hansenvq,hzcgrra,hzuzz,hujul,htuhu,glcrjevgref,gjvgpurf,gjvgpurq,gjveyl,gjvaxyvat,gjvatrf,gjvqqyvat,ghearef,gheanobhg,ghzoyva,gelrq,gebjry,gebhffrnh,gevivnyvmr,gevsyrf,gevovnaav,gerapupbng,gerzoyrq,genhzngvmr,genafvgbel,genafvragf,genafshfr,genafpevovat,genad,genzcl,genvcfrq,genvava,genpurn,genprnoyr,gbhevfgl,gbhtuvr,gbfpnavav,gbegbyn,gbegvyyn,gbeerba,gbernqbe,gbzzbeebj,gbyyobbgu,gbyynaf,gbvql,gbtnf,gbshexrl,gbqqyvat,gbqqvrf,gbnfgvrf,gbnqfgbby,gb'ir,gvatyrf,gvzva,gvzrl,gvzrgnoyrf,gvtugrfg,guhttrr,guehfgvat,guebzohf,guebrf,guevsgl,gubeaunegf,guvaarfg,guvpxrg,gurgnf,gurfhynp,grgurerq,grfgnohetre,grefranqvar,greevs,greqyvatgba,grchv,grzcvat,grpgbe,gnkvqrezl,gnfgrohqf,gnegyrgf,gnegnohyy,gne'q,gnagnzbhag,gnatl,gnatyrf,gnzre,gnohyn,gnoyrgbcf,gnovguvn,fmrpujna,flagurqlar,firawbyyl,firatnyv,fheivinyvfgf,fhezvfr,fhesobneqf,fhersver,fhcevfr,fhcerznpvfgf,fhccbfvgbevrf,fhcrefgber,fhcrepvyvbhf,fhagnp,fhaohearq,fhzzrepyvss,fhyyvrq,fhtnerq,fhpxyr,fhogyrgvrf,fhofgnagvngrq,fhofvqrf,fhoyvzvany,fhouhzna,fgebjzna,fgebxrq,fgebtnabss,fgerrgyvtug,fgenlvat,fgenvare,fgenvtugre,fgenvtugrare,fgbcyvtug,fgveehcf,fgrjvat,fgrerbglcvat,fgrczbzzl,fgrcunab,fgnfuvat,fgnefuvar,fgnvejryyf,fdhngfvr,fdhnaqrevat,fdhnyvq,fdhnooyvat,fdhno,fcevaxyvat,fcernqre,fcbatl,fcbxrfzra,fcyvagrerq,fcvggyr,fcvggre,fcvprq,fcrjf,fcraqva,fcrpg,fcrnepuhpxre,fcnghynf,fbhgugbja,fbhfrq,fbfuv,fbegre,fbeebjshy,fbbgu,fbzr'va,fbyvybdhl,fbverr,fbqbzvmrq,fboevxv,fbncvat,fabjf,fabjpbar,favgpuvat,favgpurq,farrevat,fanhfntrf,fanxvat,fzbbgurq,fzbbpuvrf,fznegra,fznyyvfu,fyhful,fyheevat,fyhzna,fyvguref,fyvccva,fyrhguvat,fyrriryrff,fxvayrff,fxvyyshyyl,fxrgpuobbx,fxntarggv,fvfgn,fvaavat,fvathyneyl,fvarjl,fvyireynxr,fvthgb,fvtabevan,fvrir,fvqrnezf,fulvat,fuhaavat,fughq,fuevrxf,fubegvat,fubegoernq,fubcxrrcref,fuznapl,fuvmmvg,fuvgurnqf,fuvgsnprq,fuvczngrf,fuvsgyrff,furyivat,furqybj,funivatf,funggref,funevsn,funzcbbf,funyybgf,funsgre,fun'anhp,frkgnag,freivprnoyr,frcfvf,fraberf,fraqva,frzvf,frznafxv,frysyrffyl,frvasryqf,frref,frrcf,frqhpgerff,frpnhphf,frnynag,fphggyvat,fphfn,fpehapurq,fpvffbeunaqf,fpuerore,fpuznapl,fpnzcf,fpnyybcrq,fnibve,fnintrel,fnebat,fneavn,fnagnatry,fnzbby,fnyybj,fnyvab,fnsrpenpxre,fnqvfz,fnpevyrtvbhf,fnoevav,fnongu,f'nevtug,ehggurvzre,ehqrfg,ehoorel,ebhfgvat,ebgnevna,ebfyva,ebbzrq,ebznev,ebznavpn,ebyygbc,ebysfxv,ebpxrggrf,ebnerq,evatyrnqre,evssvat,evopntr,erjverq,ergevny,ergvat,erfhfpvgngrq,erfgbpx,erfnyr,ercebtenzzrq,ercyvpnag,ercragnag,ercryynag,ercnlf,ercnvagvat,erartbgvngvat,eraqrm,erzrz,eryvirq,eryvadhvfurf,eryrnea,erynknag,erxvaqyvat,erulqengr,ershryrq,erserfuvatyl,ersvyyvat,errknzvar,errfrzna,erqarff,erqrrznoyr,erqpbngf,erpgnatyrf,erpbhc,erpvcebpngrq,ernffrffvat,ernyl,ernyre,ernpuva,er'xnyv,enjyfgba,enintrf,enccncbegf,enzbenl,enzzvat,envaqebcf,enurfu,enqvnyf,enpvfgf,enonegh,dhvpurf,dhrapu,dhneeryvat,dhnvagyl,dhnqenagf,chghznlb,chg'rz,chevsvre,cherrq,chavgvf,chyybhg,chxva,chqtl,chqqvatf,chpxrevat,cgrebqnpgly,cflpubqenzn,cfngf,cebgrfgngvbaf,cebgrpgrr,cebfnvp,cebcbfvgvbarq,cebpyvivgl,ceborq,cevagbhgf,cerivfvba,cerffref,cerfrg,cercbfvgvba,cerrzcg,cerrzvr,cerpbaprcgvbaf,cenapna,cbjrechss,cbggvrf,cbgcvr,cbfrhe,cbegubyr,cbbcf,cbbcvat,cbznqr,cbylcf,cbylzrevmrq,cbyvgrarff,cbyvfure,cbynpx,cbpxrgxavsr,cbngvn,cyrorvna,cynltebhc,cyngbavpnyyl,cyngvghqr,cynfgrevat,cynfzncurerfvf,cynvqf,cynprzngf,cvmmnmm,cvagnheb,cvafgevcrf,cvacbvagf,cvaxare,cvapre,cvzragb,cvyrhc,cvyngrf,cvtzra,cvrrrr,cuenfrq,cubgbpbcvrf,cubrorf,cuvyvfgvarf,cuvynaqrere,curebzbar,cunfref,csrssreahrffr,creif,crefcver,crefbavsl,crefreirer,crecyrkrq,crecrgengvat,crexvarff,crewhere,crevbqbagvfg,creshapgbel,creqvqb,crepbqna,cragnzrgre,cragnpyr,crafvir,crafvbar,craalonxre,craaoebbxr,craunyy,cratva,crarggv,crargengrf,crtabve,crrir,crrcubyr,crpgbenyf,crpxva,crnxl,crnxfivyyr,cnkpbj,cnhfrq,cnggrq,cnexvfubss,cnexref,cneqbavat,cnencyrtvp,cnencuenfvat,cncreref,cncrerq,cnatf,cnaryvat,cnybbmn,cnyzrq,cnyzqnyr,cnyngnoyr,cnpvsl,cnpvsvrq,bjjjjj,birefrkrq,bireevqrf,birecnlvat,bireqenja,birepbzcrafngr,birepbzrf,birepunetrq,bhgznarhire,bhgsbkrq,bhtuga'g,bfgragngvbhf,bfuha,begubcrqvfg,be'qreirf,bcugunyzbybtvfg,bcrentvey,bbmrf,bbbbbbbu,barfvr,bzavf,bzryrgf,bxgboresrfg,bxrlqbxr,bsgur,bsure,bofgrgevpny,borlf,bornu,b'urael,aldhvy,alnalnalnalnu,ahggva,ahgfl,ahgonyy,aheunpuv,ahzofxhyy,ahyyvsvrf,ahyyvsvpngvba,ahpxvat,ahoova,abhevfurq,abafcrpvsvp,abvat,abvapu,abubub,aboyre,avgjvgf,arjfcevag,arjfcncrezna,arjfpnfgre,arhebcngul,argurejbeyq,arrqvrfg,aninfxl,anepvffvfgf,anccrq,ansgn,znpur,zlxbabf,zhgvyngvat,zhgureshpxre,zhgun,zhgngrf,zhgngr,zhfa'g,zhepul,zhygvgnfxvat,zhwrro,zhqfyvatvat,zhpxenxvat,zbhfrgenc,zbheaf,zbheashy,zbgures,zbfgeb,zbecuvat,zbecungr,zbenyvfgvp,zbbpul,zbbpuvat,zbabgbabhf,zbabcbyvmr,zbabpyr,zbyruvyy,zbynaq,zbsrg,zbpxhc,zbovyvmvat,zzzzzzz,zvgminuf,zvfgerngvat,zvffgrc,zvfwhqtr,zvfvasbezngvba,zvfqverpgrq,zvfpneevntrf,zvavfxveg,zvaqjnecrq,zvaprq,zvydhrgbnfg,zvthryvgb,zvtugvyl,zvqfgernz,zvqevss,zvqrnfg,zvpebor,zrguhfrynu,zrfqnzrf,zrfpny,zra'yy,zrzzn,zrtngba,zrtnen,zrtnybznavnp,zrrrr,zrqhyyn,zrqvinp,zrnavatyrffarff,zpahttrgf,zppnegulvfz,znlcbyr,znl'ir,znhir,zngrlf,znefunpx,znexyrf,znexrgnoyr,znafvrer,znafreinag,znafr,znaunaqyvat,znyybznef,znypbagrag,znynvfr,znwrfgvrf,znvafnvy,znvyzra,znunaqen,zntabyvnf,zntavsvrq,zntri,znryfgebz,znpuh,znpnqb,z'obl,z'nccryyr,yhfgebhf,yherra,yhatrf,yhzcrq,yhzorelneq,yhyyrq,yhrtb,yhpxf,yhoevpngrq,ybirfrng,ybhfrq,ybhatre,ybfxv,ybeer,ybben,ybbbat,ybbavrf,ybvapybgu,ybsgf,ybqtref,yboovat,ybnare,yvirerq,yvdhrhe,yvtbheva,yvsrfnivat,yvsrthneqf,yvsroybbq,yvnvfbaf,yrg'rz,yrfovnavfz,yrapr,yrzbaylzna,yrtvgvzvmr,yrnqva,ynmnef,ynmneeb,ynjlrevat,ynhture,ynhqnahz,yngevarf,yngvbaf,yngref,yncryf,ynxrsebag,ynuvg,ynsbeghangn,ynpuelzbfr,y'vgnyvra,xjnvav,xehpmlafxv,xenzrevpn,xbjgbj,xbivafxl,xbefrxbi,xbcrx,xabjnxbjfxv,xavriry,xanpxf,xvbjnf,xvyyvatgba,xvpxonyy,xrljbegu,xrlznfgre,xrivr,xrireny,xralbaf,xrttref,xrrcfnxrf,xrpuare,xrngl,xnibexn,xnenwna,xnzreri,xnttf,whwlsehvg,wbfgyrq,wbarfgbja,wbxrl,wbvfgf,wbpxb,wvzzvrq,wvttyrq,wrfgf,wramra,wraxb,wryylzna,wrqrqvnu,wrnyvgbfvf,wnhagl,wnezry,wnaxyr,wntbss,wntvryfxv,wnpxenoovgf,wnoovat,wnoorewnj,vmmng,veerfcbafvoyl,veercerffvoyr,veerthynevgl,veerqrrznoyr,vahivx,vaghvgvbaf,vaghongrq,vagvzngrf,vagrezvanoyr,vagreybcre,vagrepbfgny,vafglyr,vafgvtngr,vafgnagnarbhfyl,vavat,vatebja,vatrfgvat,vashfvat,vasevatr,vasvavghz,vasnpg,vardhvgvrf,vaqhovgnoyl,vaqvfchgnoyr,vaqrfpevonoyl,vaqragngvba,vaqrsvanoyr,vapbagebiregvoyr,vapbafrdhragvny,vapbzcyrgrf,vapbureragyl,vapyrzrag,vapvqragnyf,vanegvphyngr,vanqrdhnpvrf,vzcehqrag,vzcebcevrgvrf,vzcevfba,vzcevagrq,vzcerffviryl,vzcbfgbef,vzcbegnagr,vzcrevbhf,vzcnyr,vzzbqrfg,vzzbovyr,vzorqqrq,vzorpvyvp,vyyrtnyf,vqa'g,ulfgrevp,ulcbgrahfr,ultvravp,ulrnu,uhfuchccvrf,uhauu,uhzconpx,uhzberq,uhzzrq,uhzvyvngrf,uhzvqvsvre,uhttl,uhttref,uhpxfgre,ubgorq,ubfvat,ubfref,ubefrunve,ubzrobql,ubzronxr,ubyvat,ubyvrf,ubvfgvat,ubtjnyybc,ubpxf,uboovgf,ubnkrf,uzzzzz,uvffrf,uvccrfg,uvyyovyyvrf,uvynevgl,urheu,ureavngrq,urezncuebqvgr,uraavsre,urzyvarf,urzyvar,urzrel,urycyrffarff,uryzfyrl,uryyubhaq,ururururu,urrrl,urqqn,urnegorngf,urncrq,urnyref,urnqfgneg,urnqfrgf,urnqybat,unjxynaq,unign,unhyva,uneirl'yy,unagn,unafbz,unatanvy,unaqfgnaq,unaqenvy,unaqbss,unyyhpvabtra,unyybe,unyvgbfvf,unoreqnfurel,tlccrq,thl'yy,thzory,threvyynf,thnin,thneqenvy,tehagure,tehavpx,tebccv,tebbzre,tebqva,tevcrf,tevaqf,tevsgref,tergpu,terrirl,ternfvat,tenirlneqf,tenaqxvq,tenval,tbhtvat,tbbarl,tbbtyl,tbyqzhss,tbyqraebq,tbvatb,tbqyl,tbooyrqltbbx,tbooyrqrtbbx,tyhrf,tybevbhfyl,tyratneel,tynffjner,tynzbe,tvzzvpxf,tvttyl,tvnzorggv,tubhyvfu,turggbf,tunyv,trgure,trevngevpf,treovyf,trbflapuebabhf,trbetvb,tragr,traqnezr,tryozna,tnmvyyvbagu,tnlrfg,tnhtvat,tnfgeb,tnfyvtug,tnfont,tnegref,tnevfu,tnenf,tnagh,tnatl,tnatyl,tnatynaq,tnyyvat,tnqqn,sheebjrq,shaavrf,shaxlgbja,shtvzbggb,shqtvat,shpxrra,sehfgengrf,sebhsebh,sebbg,sebzoretr,sevmmvrf,sevggref,sevtugshyyl,sevraqyvrfg,serrybnqvat,serrynapvat,sernxnmbvq,sengreavmngvba,senzref,sbeavpngvba,sbeavpngvat,sbergubhtug,sbbgfgbby,sbvfgvat,sbphffvat,sbpxvat,syheevrf,syhssrq,syvagfgbarf,syrqreznhf,synlrq,synjyrffyl,synggref,synfuonat,synccrq,svfuvrf,svezre,svercebbs,sveroht,svatrecnvagvat,svarffrq,svaqva,svanapvnyf,svanyvgl,svyyrgf,svreprfg,svrsqbz,svoovat,sreibe,sragnaly,sraryba,srqbepuhx,srpxyrff,srngurevat,snhprgf,snerjryyf,snagnflynaq,snangvpvfz,snygrerq,snttl,snoretr,rkgbegvat,rkgbegrq,rkgrezvangvat,rkuhzngvba,rkuvynengvba,rkunhfgf,rksbyvngr,rkpryf,rknfcrengvat,rknpgvat,rirelobql'q,rinfvbaf,rfcerffbf,rfznvy,reeee,reengvpnyyl,rebqvat,reafjvyre,rcpbg,raguenyyrq,rafranqn,raevpuvat,raentr,raunapre,raqrne,rapehfgrq,rapvab,rzcnguvp,rzormmyr,rznangrf,ryrpgevpvnaf,rxvat,rtbznavnpny,rttvat,rssnpvat,rpgbcynfz,rnirfqebccrq,qhzzxbcs,qhtenl,qhpunvfar,qehaxneq,qehqtr,qebbc,qebvqf,qevcf,qevccrq,qevooyrf,qenmraf,qbjal,qbjafvmr,qbjacbhe,qbfntrf,qbccrytnatre,qbcrf,qbbuvpxl,qbagpun,qbartul,qvivavat,qvirfg,qvhergvpf,qvhergvp,qvfgehfgshy,qvfehcgf,qvfzrzorezrag,qvfzrzore,qvfvasrpg,qvfvyyhfvbazrag,qvfurnegravat,qvfpbhegrbhf,qvfpbgurdhr,qvfpbyberq,qvegvrfg,qvcugurevn,qvaxf,qvzcyrq,qvqln,qvpxjnq,qvngevorf,qvngurfvf,qvnorgvpf,qrivnagf,qrgbangrf,qrgrfgf,qrgrfgnoyr,qrgnvavat,qrfcbaqrag,qrfrpengvba,qrevfvba,qrenvyvat,qrchgvmrq,qrcerffbef,qrcraqnag,qragherf,qrabzvangbef,qrzhe,qrzbabybtl,qrygf,qryynegr,qrynpbhe,qrsyngrq,qrsvo,qrsnprq,qrpbengbef,qrndba,qnibyn,qngva,qnejvavna,qnexyvtugref,qnaqryvbaf,qnzcrarq,qnznfxvabf,qnyevzcyr,q'crfuh,q'ubssela,q'nfgvre,plavpf,phgrfl,phgnjnl,phezhqtrba,pheqyr,phycnovyvgl,phvfvaneg,phssvat,pelcgf,pelcgvq,pehapurq,pehzoyref,pehqryl,pebffpurpx,pebba,pevffnxr,perinffr,perfjbbq,perrcb,pernfrf,pernfrq,pernxl,penaxf,penotenff,pbirenyyf,pbhcyr'n,pbhtuf,pbfynj,pbecberny,pbeahpbcvn,pbearevat,pbexf,pbeqbarq,pbbyyl,pbbyva,pbbxobbxf,pbagevgr,pbagragrq,pbafgevpgbe,pbasbhaq,pbasvg,pbasvfpngvat,pbaqbarq,pbaqvgvbaref,pbaphffvbaf,pbzceraqb,pbzref,pbzohfgvoyr,pbzohfgrq,pbyyvatfjbbq,pbyqarff,pbvghf,pbqvpvy,pbnfgvat,pylqrfqnyr,pyhggrevat,pyhaxre,pyhax,pyhzfvarff,pybggrq,pybgurfyvar,pyvapurf,pyvapure,pyrirearff,pyrapu,pyrva,pyrnafrf,pynlzberf,pynzzrq,puhttvat,puebavpnyyl,puevfgfnxrf,pubdhr,pubzcref,puvfryvat,puvecl,puvec,puvaxf,puvatnputbbx,puvpxracbk,puvpxnqrr,purjva,purffobneq,punetva,punagrhfr,punaqryvref,punzqb,puntevarq,punss,pregf,pregnvagvrf,preerab,preroehz,prafherq,przrgnel,pngrejnhyvat,pngnpylfzvp,pnfvgnf,pnfrq,pneiry,pnegvat,pneerne,pnebyyvat,pnebyref,pneavr,pneqvbtenz,pneohapyr,pnchyrgf,pnavarf,pnaqnhyrf,pnancr,pnyqrpbgg,pnynzvgbhf,pnqvyynpf,pnpurg,pnormn,pnoqevire,ohmmneqf,ohgnv,ohfvarffjbzra,ohatyrq,ohzcxvaf,ohzzref,ohyyqbmr,ohsslobg,ohohg,ohoovrf,oeeeee,oebjabhg,oebhunun,oebamvat,oebapuvny,oebvyre,oevfxyl,oevrspnfrf,oevpxrq,oerrmvat,oerrure,oernxnoyr,oernqfgvpx,oenirarg,oenirq,oenaqvrf,oenvajnirf,oenvavrfg,oenttneg,oenqyrr,oblf'er,oblf'yy,oblf'q,obhgbaavrer,obffrq,obfbzl,obenaf,obbfgf,obbxfuryirf,obbxraqf,obaryrff,obzoneqvat,obyyb,obvaxrq,obvax,oyhrfg,oyhroryyf,oybbqfubg,oybpxurnq,oybpxohfgref,oyvguryl,oyngure,oynaxyl,oynqqref,oynpxorneq,ovggr,ovccl,ovbtrargvpf,ovytr,ovttyrfjbegu,ovphfcvqf,orhfhfr,orgnfreba,orfzvepu,orearpr,orernirzrag,oragbaivyyr,orapuyrl,orapuvat,orzor,oryylnpuvat,oryyubcf,oryvr,oryrnthrerq,orueyr,ortvaava,ortvavat,orravr,orrsf,orrpujbbq,orpnh,ornireunhfra,ornxref,onmvyyvba,onhqbhva,oneelgbja,oneevatgbaf,onearlf,oneof,oneoref,oneonghf,onaxehcgrq,onvyvssf,onpxfyvqr,onol'q,onnnq,o'sber,njjjx,njnlf,njnxrf,nhgbzngvpf,nhguragvpngr,nhtug,nhola,nggverq,nggntvey,ngebcuvrq,nflfgbyr,nfgebghes,nffregvirarff,negvpubxrf,nedhvyyvnaf,nevtug,nepurarzl,nccenvfr,nccrnfrq,nagva,nafcnhtu,narfgurgvpf,nanculynpgvp,nzfpenl,nzovinyrapr,nznyvb,nyevvvtug,nycunorgvmrq,nycran,nybhrggr,nyyben,nyyvgrengvba,nyyrajbbq,nyyrtvnaprf,nytrevnaf,nypreeb,nynfgbe,nunun,ntvgngbef,nsbergubhtug,nqiregvfrf,nqzbavgvba,nqvebaqnpxf,nqrabvqf,nphchapghevfg,nphyn,npghnevny,npgvingbef,npgvbanoyr,npuvatyl,npphfref,nppyvzngrq,nppyvzngr,nofheqyl,nofbeorag,nofbyib,nofbyhgrf,nofraprf,noqbzravmre,nnnnnnnnnu,nnnnnnnnnn,n'evtug".split(","), male_names:"wnzrf,wbua,eboreg,zvpunry,jvyyvnz,qnivq,evpuneq,puneyrf,wbfrcu,gubznf,puevfgbcure,qnavry,cnhy,znex,qbanyq,trbetr,xraargu,fgrira,rqjneq,oevna,ebanyq,nagubal,xriva,wnfba,znggurj,tnel,gvzbgul,wbfr,yneel,wrsserl,senax,fpbgg,revp,fgrcura,naqerj,enlzbaq,tertbel,wbfuhn,wreel,qraavf,jnygre,cngevpx,crgre,unebyq,qbhtynf,urael,pney,neguhe,elna,ebtre,wbr,whna,wnpx,nyoreg,wbanguna,whfgva,greel,trenyq,xrvgu,fnzhry,jvyyvr,enycu,ynjerapr,avpubynf,ebl,orawnzva,oehpr,oenaqba,nqnz,uneel,serq,jnlar,ovyyl,fgrir,ybhvf,wrerzl,nneba,enaql,rhtrar,pneybf,ehffryy,obool,ivpgbe,rearfg,cuvyyvc,gbqq,wrffr,penvt,nyna,funja,pynerapr,frna,cuvyvc,puevf,wbuaal,rney,wvzzl,nagbavb,qnaal,oelna,gbal,yhvf,zvxr,fgnayrl,yrbaneq,anguna,qnyr,znahry,ebqarl,phegvf,abezna,zneiva,ivaprag,tyraa,wrssrel,genivf,wrss,punq,wnpbo,zryiva,nyserq,xlyr,senapvf,oenqyrl,wrfhf,ureoreg,serqrevpx,enl,wbry,rqjva,qba,rqqvr,evpxl,gebl,enaqnyy,oneel,oreaneq,znevb,yrebl,senapvfpb,znephf,zvpurny,gurbqber,pyvssbeq,zvthry,bfpne,wnl,wvz,gbz,pnyiva,nyrk,wba,ebaavr,ovyy,yyblq,gbzzl,yrba,qrerx,qneeryy,wrebzr,syblq,yrb,nyiva,gvz,jrfyrl,qrna,tert,wbetr,qhfgva,crqeb,qreevpx,qna,mnpunel,pberl,urezna,znhevpr,ireaba,eboregb,pylqr,tyra,urpgbe,funar,evpneqb,fnz,evpx,yrfgre,oerag,enzba,glyre,tvyoreg,trar,znep,ertvanyq,ehora,oergg,angunavry,ensnry,rqtne,zvygba,enhy,ora,prpvy,qhnar,naqer,ryzre,oenq,tnoevry,eba,ebynaq,wnerq,nqevna,xney,pbel,pynhqr,revx,qneely,arvy,puevfgvna,wnivre,sreanaqb,pyvagba,grq,zngurj,glebar,qneera,ybaavr,ynapr,pbql,whyvb,xheg,nyyna,pynlgba,uhtu,znk,qjnlar,qjvtug,neznaqb,sryvk,wvzzvr,rirergg,vna,xra,obo,wnvzr,pnfrl,nyserqb,nyoregb,qnir,vina,wbuaavr,fvqarl,oleba,whyvna,vfnnp,pyvsgba,jvyyneq,qnely,ivetvy,naql,fnyinqbe,xvex,fretvb,frgu,xrag,greenapr,erar,rqhneqb,greerapr,raevdhr,serqqvr,fghneg,serqevpx,negheb,nyrwnaqeb,wbrl,avpx,yhgure,jraqryy,wrerzvnu,rina,whyvhf,qbaavr,bgvf,geribe,yhxr,ubzre,treneq,qbht,xraal,uhoreg,natryb,funha,ylyr,zngg,nysbafb,beynaqb,erk,pneygba,rearfgb,cnoyb,yberamb,bzne,jvyohe,oynxr,ubenpr,ebqrevpx,xreel,noenunz,evpxrl,ven,naqerf,prfne,wbuanguna,znypbyz,ehqbycu,qnzba,xryiva,ehql,cerfgba,nygba,nepuvr,znepb,crgr,enaqbycu,tneel,trbsserl,wbanguba,sryvcr,oraavr,treneqb,qbzvavp,ybera,qryoreg,pbyva,thvyyrezb,rnearfg,oraal,abry,ebqbysb,zleba,rqzhaq,fnyingber,prqevp,ybjryy,tertt,furezna,qriva,flyirfgre,ebbfriryg,vfenry,wreznvar,sbeerfg,jvyoreg,yrynaq,fvzba,veivat,bjra,ehshf,jbbqebj,fnzzl,xevfgbcure,yriv,znepbf,thfgnib,wnxr,yvbary,znegl,tvyoregb,pyvag,avpbynf,ynherapr,vfznry,beivyyr,qerj,reiva,qrjrl,jvyserq,wbfu,uhtb,vtanpvb,pnyro,gbznf,furyqba,revpx,senaxvr,qneery,ebtryvb,grerapr,nybamb,ryvnf,oreg,ryoreg,enzveb,pbaenq,abnu,tenql,cuvy,pbearyvhf,ynzne,ebynaqb,pynl,crepl,oenqsbeq,zreyr,qneva,nzbf,greeryy,zbfrf,veiva,fnhy,ebzna,qnearyy,enaqny,gbzzvr,gvzzl,qneeva,oeraqna,gbol,ina,nory,qbzvavpx,rzvyvb,ryvwnu,pnel,qbzvatb,nhoerl,rzzrgg,zneyba,rznahry,wrenyq,rqzbaq,rzvy,qrjnlar,bggb,grqql,erlanyqb,oerg,wrff,gerag,uhzoregb,rzznahry,fgrcuna,ybhvr,ivpragr,ynzbag,tneynaq,zvpnu,rsenva,urngu,ebqtre,qrzrgevhf,rguna,ryqba,ebpxl,cvreer,ryv,oelpr,nagbvar,eboovr,xraqnyy,eblpr,fgreyvat,tebire,rygba,pyrirynaq,qlyna,puhpx,qnzvna,erhora,fgna,yrbaneqb,ehffry,rejva,oravgb,unaf,zbagr,oynvar,reavr,pheg,dhragva,nthfgva,wnzny,qriba,nqbysb,glfba,jvyserqb,oneg,wneebq,inapr,qravf,qnzvra,wbndhva,uneyna,qrfzbaq,ryyvbg,qnejva,tertbevb,xrezvg,ebfpbr,rfgrona,nagba,fbybzba,abeoreg,ryiva,abyna,pnerl,ebq,dhvagba,uny,oenva,ebo,ryjbbq,xraqevpx,qnevhf,zbvfrf,zneyva,svqry,gunqqrhf,pyvss,znepry,nyv,encunry,oelba,neznaq,nyineb,wrssel,qnar,wbrfcu,guhezna,arq,fnzzvr,ehfgl,zvpury,zbagl,ebel,snovna,erttvr,xevf,vfnvnu,thf,nirel,yblq,qvrtb,nqbycu,zvyyneq,ebppb,tbamnyb,qrevpx,ebqevtb,treel,evtboregb,nycubafb,evpxvr,abr,irea,ryivf,oreaneqb,znhevpvb,uvenz,qbabina,onfvy,avpxbynf,fpbg,ivapr,dhvapl,rqql,fronfgvna,srqrevpb,hylffrf,urevoregb,qbaaryy,qraal,tniva,rzrel,ebzrb,wnlfba,qvba,qnagr,pyrzrag,pbl,bqryy,wneivf,oehab,vffnp,qhqyrl,fnasbeq,pbyol,pnezryb,arfgbe,ubyyvf,fgrsna,qbaal,yvajbbq,ornh,jryqba,tnyra,vfvqeb,gehzna,qryzne,wbuanguba,fvynf,serqrevp,vejva,zreevyy,puneyrl,znepryvab,pneyb,geragba,xhegvf,nheryvb,jvaserq,ivgb,pbyyva,qraire,yrbary,rzbel,cnfdhnyr,zbunzznq,znevnab,qnavny,ynaqba,qvex,oenaqra,nqna,ahzoref,pynve,ohsbeq,oreavr,jvyzre,rzrefba,mnpurel,wnpdhrf,reeby,wbfhr,rqjneqb,jvysbeq,gureba,enlzhaqb,qnera,gevfgna,ebool,yvapbya,wnzr,traneb,bpgnivb,pbearyy,uhat,neeba,nagbal,urefpury,nyin,tvbinaav,tnegu,plehf,plevy,ebaal,fgrivr,yba,xraavgu,pnezvar,nhthfgvar,revpu,punqjvpx,jvyohea,ehff,zlyrf,wbanf,zvgpury,zreiva,mnar,wnzry,ynmneb,nycubafr,enaqryy,wbuavr,wneergg,nevry,noqhy,qhfgl,yhpvnab,frlzbhe,fpbggvr,rhtravb,zbunzzrq,neahysb,yhpvra,sreqvanaq,gunq,rmen,nyqb,ehova,zvgpu,rneyr,nor,znedhvf,ynaal,xnerrz,wnzne,obevf,vfvnu,rzvyr,ryzb,neba,yrbcbyqb,rirerggr,wbfrs,rybl,qbevna,ebqevpx,ervanyqb,yhpvb,wreebq,jrfgba,urefury,yrzhry,ynirea,oheg,whyrf,tvy,ryvfrb,nuznq,avtry,rsera,nagjna,nyqra,znetnevgb,ershtvb,qvab,bfinyqb,yrf,qrnaqer,abeznaq,xvrgu,vibel,gerl,abeoregb,ancbyrba,wrebyq,sevgm,ebfraqb,zvysbeq,fnat,qrba,puevfgbcre,nysbamb,ylzna,wbfvnu,oenag,jvygba,evpb,wnznny,qrjvgg,oeragba,lbat,byva,snhfgvab,pynhqvb,whqfba,tvab,rqtneqb,nyrp,wneerq,qbaa,gevavqnq,gnq,cbesvevb,bqvf,yraneq,punhaprl,gbq,zry,znepryb,xbel,nhthfghf,xrira,uvynevb,ohq,fny,beiny,znheb,qnaavr,mnpunevnu,byra,navony,zvyb,wrq,gunau,nznqb,yraal,gbel,evpuvr,ubenpvb,oevpr,zbunzrq,qryzre,qnevb,znp,wbanu,wreebyq,ebog,unax,fhat,ehcreg,ebyynaq,xragba,qnzvba,puv,nagbar,jnyqb,serqevp,oenqyl,xvc,ohey,glerr,wrssrerl,nuzrq,jvyyl,fgnasbeq,bera,zbfur,zvxry,rabpu,oeraqba,dhvagva,wnzvfba,syberapvb,qneevpx,gbovnf,zvau,unffna,tvhfrccr,qrznephf,pyrghf,gleryy,ylaqba,xrrana,jreare,gurb,trenyqb,pbyhzohf,purg,oregenz,znexhf,uhrl,uvygba,qjnva,qbagr,gleba,bzre,vfnvnf,uvcbyvgb,srezva,puhat,nqnyoregb,wnzrl,grbqbeb,zpxvayrl,znkvzb,enyrvtu,ynjrerapr,noenz,enfunq,rzzvgg,qneba,pubat,fnzhny,bgun,zvdhry,rhfrovb,qbat,qbzravp,qneeba,jvyore,erangb,ublg,unljbbq,rmrxvry,punf,syberagvab,ryebl,pyrzragr,neqra,arivyyr,rqvfba,qrfunja,pneeby,funlar,angunavny,wbeqba,qnavyb,pynhq,furejbbq,enlzba,enlsbeq,pevfgbony,nzoebfr,gvghf,ulzna,srygba,rmrdhvry,renfzb,ybaal,zvyna,yvab,wnebq,ureo,naqernf,eurgg,whqr,qbhtynff,pbeqryy,bfjnyqb,ryyfjbegu,ivetvyvb,gbarl,angunanry,orarqvpg,zbfr,ubat,vferny,tneerg,snhfgb,neyra,mnpx,zbqrfgb,senaprfpb,znahny,tnlybeq,tnfgba,svyvoregb,qrnatryb,zvpunyr,tenaivyyr,znyvx,mnpxnel,ghna,avpxl,pevfgbcure,nagvbar,znypbz,xberl,wbfcru,pbygba,jnlyba,ubfrn,funq,fnagb,ehqbys,ebys,eranyqb,znepryyhf,yhpvhf,xevfgbsre,uneynaq,neabyqb,ehrora,yrnaqeb,xenvt,wreeryy,wrebzl,uboreg,prqevpx,neyvr,jvasbeq,jnyyl,yhvtv,xrargu,wnpvagb,tenvt,senaxyla,rqzhaqb,yrvs,wrenzl,jvyyvna,ivapramb,fuba,zvpuny,ylajbbq,wrer,ryqra,qneryy,oebqrevpx,nybafb".split(",")},module.exports=frequency_lists; },{}],4:[function(require,module,exports){ var feedback,matching,rot_13,scoring,time,time_estimates,zxcvbn;matching=require("./matching"),scoring=require("./scoring"),time_estimates=require("./time_estimates"),feedback=require("./feedback"),time=function(){return(new Date).getTime()},rot_13=function(e){return e.replace(/[a-zA-Z]/g,function(e){return String.fromCharCode((e<="Z"?90:122)>=(e=e.charCodeAt(0)+13)?e:e-26)})},zxcvbn=function(e,t){var i,r,n,c,a,s,m,o,u,g,_;for(null==t&&(t=[]),g=time(),u=[],n=0,c=t.length;n=(e=e.charCodeAt(0)+13)?e:e-26)})},build_ranked_dict=function(e){var t,n,r,i,a;for(i={},t=1,r=0,n=e.length;r_;r=0<=_?++o:--o)for(i=h=f=r,d=a;f<=d?hd;i=f<=d?++h:--h)u.slice(r,+i+1||9e9)in l&&(p=u.slice(r,+i+1||9e9),c=l[p],s.push({pattern:"dictionary",i:r,j:i,token:e.slice(r,+i+1||9e9),matched_word:rot_13(p),rank:c,dictionary_name:n,reversed:!1,l33t:!1}));return this.sorted(s)},reverse_dictionary_match:function(e,t){var n,r,i,a,s,o;for(null==t&&(t=RANKED_DICTIONARIES),o=e.split("").reverse().join(""),i=this.dictionary_match(o,t),a=0,n=i.length;a0&&(l[i]=h);return l},enumerate_l33t_subs:function(e){var t,n,r,i,a,s,o,h,u,c,l,_,f,d,p;a=function(){var t;t=[];for(i in e)t.push(i);return t}(),p=[[]],n=function(e){var t,n,r,a,s,o,h,u;for(n=[],s={},o=0,a=e.length;og;s=0<=g?++f:--f)if(A[s][0]===o){i=s;break}i===-1?(y=A.concat([[o,a]]),c.push(y)):(E=A.slice(0),E.splice(i,1),E.push([o,a]),c.push(A),c.push(E))}return p=n(c),r(m)}},r(a),d=[];for(u=0,o=p.length;u "+A);return e}().join(", "),u.push(o)}return this.sorted(u.filter(function(e){return e.token.length>1}))},spatial_match:function(e,t){var n,r,i;null==t&&(t=GRAPHS),i=[];for(r in t)n=t[r],this.extend(i,this.spatial_match_helper(e,n,r));return this.sorted(i)},SHIFTED_RX:/[~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?]/,spatial_match_helper:function(e,t,n){var r,i,a,s,o,h,u,c,l,_,f,d,p,g,m;for(f=[],u=0;u2&&f.push({pattern:"spatial",i:u,j:c-1,token:e.slice(u,c),graph:n,turns:m,shifted_count:g}),u=c;break}c+=1}return f},repeat_match:function(e){var t,n,r,i,a,s,o,h,u,c,l,_,f,d,p;for(d=[],a=/(.+)\1+/g,c=/(.+?)\1+/g,l=/^(.+?)\1+$/,u=0;u_[0].length?(f=s,i=l.exec(f[0])[1]):(f=_,i=f[1]),p=[f.index,f.index+f[0].length-1],o=p[0],h=p[1],t=scoring.most_guessable_match_sequence(i,this.omnimatch(i)),r=t.sequence,n=t.guesses,d.push({pattern:"repeat",i:o,j:h,token:f[0],base_token:i,base_guesses:n,base_matches:r,repeat_count:f[0].length/i.length}),u=h+1;return d},MAX_DELTA:5,sequence_match:function(e){var t,n,r,i,a,s,o,h,u;if(1===e.length)return[];for(u=function(t){return function(n,r,i){var a,s,o,u;if((r-n>1||1===Math.abs(i))&&0<(a=Math.abs(i))&&a<=t.MAX_DELTA)return u=e.slice(n,+r+1||9e9),/^[a-z]+$/.test(u)?(s="lower",o=26):/^[A-Z]+$/.test(u)?(s="upper",o=26):/^\d+$/.test(u)?(s="digits",o=10):(s="unicode",o=26),h.push({pattern:"sequence",i:n,j:r,token:e.slice(n,+r+1||9e9),sequence_name:s,sequence_space:o,ascending:i>0})}}(this),h=[],n=0,a=null,i=s=1,o=e.length;1<=o?so;i=1<=o?++s:--s)t=e.charCodeAt(i)-e.charCodeAt(i-1),null==a&&(a=t),t!==a&&(r=i-1,u(n,r,a),n=r,a=t);return u(n,e.length-1,a),h},regex_match:function(e,t){var n,r,i,a;null==t&&(t=REGEXEN),n=[];for(name in t)for(r=t[name],r.lastIndex=0;i=r.exec(e);)a=i[0],n.push({pattern:"regex",token:a,i:i.index,j:i.index+i[0].length-1,regex_name:name,regex_match:i});return this.sorted(n)},date_match:function(e){var t,n,r,i,a,s,o,h,u,c,l,_,f,d,p,g,m,A,E,y,v,I,R,T,D,k,x,j,b,N,S,q,C,L;for(_=[],f=/^\d{4,8}$/,d=/^(\d{1,4})([\s\/\\_.-])(\d{1,2})\2(\d{1,4})$/,s=m=0,v=e.length-4;0<=v?m<=v:m>=v;s=0<=v?++m:--m)for(o=A=I=s+3,R=s+7;(I<=R?A<=R:A>=R)&&!(o>=e.length);o=I<=R?++A:--A)if(L=e.slice(s,+o+1||9e9),f.exec(L)){for(r=[],T=DATE_SPLITS[L.length],E=0,c=T.length;E0){for(t=r[0],p=function(e){return Math.abs(e.year-scoring.REFERENCE_YEAR)},g=p(r[0]),k=r.slice(1),y=0,l=k.length;y=j;s=0<=j?++q:--q)for(o=C=b=s+5,N=s+9;(b<=N?C<=N:C>=N)&&!(o>=e.length);o=b<=N?++C:--C)L=e.slice(s,+o+1||9e9),S=d.exec(L),null!=S&&(a=this.map_ints_to_dmy([parseInt(S[1]),parseInt(S[3]),parseInt(S[4])]),null!=a&&_.push({pattern:"date",token:L,i:s,j:o,separator:S[2],year:a.year,month:a.month,day:a.day}));return this.sorted(_.filter(function(e){var t,n,r,i;for(t=!1,i=0,n=_.length;i=e.j){t=!0;break}return!t}))},map_ints_to_dmy:function(e){var t,n,r,i,a,s,o,h,u,c,l,_,f,d,p,g;if(!(e[1]>31||e[1]<=0)){for(o=0,h=0,p=0,s=0,r=e.length;sDATE_MAX_YEAR)return;n>31&&(h+=1),n>12&&(o+=1),n<=0&&(p+=1)}if(!(h>=2||3===o||p>=2)){for(c=[[e[2],e.slice(0,2)],[e[0],e.slice(1,3)]],u=0,i=c.length;u99?e:e>50?e+1900:e+2e3}},module.exports=matching; },{"./adjacency_graphs":1,"./frequency_lists":3,"./scoring":6}],6:[function(require,module,exports){ var BRUTEFORCE_CARDINALITY,MIN_GUESSES_BEFORE_GROWING_SEQUENCE,MIN_SUBMATCH_GUESSES_MULTI_CHAR,MIN_SUBMATCH_GUESSES_SINGLE_CHAR,adjacency_graphs,calc_average_degree,k,scoring,v;adjacency_graphs=require("./adjacency_graphs"),calc_average_degree=function(e){var t,r,n,s,a,u;t=0;for(n in e)a=e[n],t+=function(){var e,t,r;for(r=[],t=0,e=a.length;te)return 0;if(0===t)return 1;for(s=1,r=n=1,a=t;1<=a?n<=a:n>=a;r=1<=a?++n:--n)s*=e,s/=r,e-=1;return s},log10:function(e){return Math.log(e)/Math.log(10)},log2:function(e){return Math.log(e)/Math.log(2)},factorial:function(e){var t,r,n,s;if(e<2)return 1;for(t=1,r=n=2,s=e;2<=s?n<=s:n>=s;r=2<=s?++n:--n)t*=r;return t},most_guessable_match_sequence:function(e,t,r){var n,s,a,u,i,_,o,h,E,c,g,f,l,A,S,p,R,I,v,M,N,C,T,U;for(null==r&&(r=!1),l=e.length,f=function(){var e,t,r;for(r=[],n=e=0,t=l;0<=t?et;n=0<=t?++e:--e)r.push([]);return r}(),A=0,_=t.length;A<_;A++)c=t[A],f[c.j].push(c);for(I=0,o=f.length;Ie;n=0<=e?++r:--r)t.push({});return t}(),pi:function(){var e,t,r;for(t=[],n=r=0,e=l;0<=e?re;n=0<=e?++r:--r)t.push({});return t}(),g:function(){var e,t,r;for(t=[],n=r=0,e=l;0<=e?re;n=0<=e?++r:--r)t.push({});return t}()},T=function(t){return function(n,s){var a,u,i,_,o,h;_=n.j,o=t.estimate_guesses(n,e),s>1&&(o*=S.pi[n.i-1][s-1]),i=t.factorial(s)*o,r||(i+=Math.pow(MIN_GUESSES_BEFORE_GROWING_SEQUENCE,s-1)),h=S.g[_];for(u in h)if(a=h[u],!(u>s)&&a<=i)return;return S.g[_][s]=i,S.m[_][s]=n,S.pi[_][s]=o}}(this),s=function(e){return function(e){var t,r,n,s,a,u;for(c=g(0,e),T(c,1),a=[],t=u=1,s=e;1<=s?u<=s:u>=s;t=1<=s?++u:--u)c=g(t,e),a.push(function(){var e,s;e=S.m[t-1],s=[];for(r in e)n=e[r],r=parseInt(r),"bruteforce"!==n.pattern&&s.push(T(c,r+1));return s}());return a}}(this),g=function(t){return function(t,r){return{pattern:"bruteforce",token:e.slice(t,+r+1||9e9),i:t,j:r}}}(this),C=function(e){return function(e){var t,r,n,s,a,u,i;u=[],s=e-1,a=void 0,n=Infinity,i=S.g[s];for(r in i)t=i[r],t=0;)c=S.m[s][a],u.unshift(c),s=c.i-1,a--;return u}}(this),u=N=0,v=l;0<=v?Nv;u=0<=v?++N:--N){for(M=f[u],U=0,h=M.length;U0)for(i in S.m[c.i-1])i=parseInt(i),T(c,i+1);else T(c,1);s(u)}return R=C(l),p=R.length,a=0===e.length?1:S.g[l-1][p],{password:e,guesses:a,guesses_log10:this.log10(a),sequence:R}},estimate_guesses:function(e,t){var r,n,s;return null!=e.guesses?e.guesses:(s=1,e.token.length=c;u=2<=c?++_:--_)for(o=Math.min(S,u-1),i=h=1,g=o;1<=g?h<=g:h>=g;i=1<=g?++h:--h)a+=this.nCk(u-1,i-1)*l*Math.pow(s,i);if(e.shifted_count)if(r=e.shifted_count,n=e.token.length-e.shifted_count,0===r||0===n)a*=2;else{for(A=0,u=p=1,f=Math.min(r,n);1<=f?p<=f:p>=f;u=1<=f?++p:--p)A+=this.nCk(r+n,u);a*=A}return a},dictionary_guesses:function(e){var t;return e.base_guesses=e.rank,e.uppercase_variations=this.uppercase_variations(e),e.l33t_variations=this.l33t_variations(e),t=e.reversed&&2||1,e.base_guesses*e.uppercase_variations*e.l33t_variations*t},START_UPPER:/^[A-Z][^A-Z]+$/,END_UPPER:/^[^A-Z]+[A-Z]$/,ALL_UPPER:/^[^a-z]+$/,ALL_LOWER:/^[^A-Z]+$/,uppercase_variations:function(e){var t,r,n,s,a,u,i,_,o,h,E,c;if(c=e.token,c.match(this.ALL_LOWER)||c.toLowerCase()===c)return 1;for(_=[this.START_UPPER,this.END_UPPER,this.ALL_UPPER],u=0,a=_.length;u=o;s=1<=o?++i:--i)E+=this.nCk(r+t,s);return E},l33t_variations:function(e){var t,r,n,s,a,u,i,_,o,h,E,c,g;if(!e.l33t)return 1;g=1,o=e.sub;for(E in o)if(c=o[E],s=e.token.toLowerCase().split(""),t=function(){var e,t,r;for(r=[],t=0,e=s.length;t=h;a=1<=h?++u:--u)_+=this.nCk(r+t,a);g*=_}return g}},module.exports=scoring; },{"./adjacency_graphs":1}],7:[function(require,module,exports){ var time_estimates;time_estimates={estimate_attack_times:function(e){var t,n,s,o;n={online_throttling_100_per_hour:e/(100/3600),online_no_throttling_10_per_second:e/10,offline_slow_hashing_1e4_per_second:e/1e4,offline_fast_hashing_1e10_per_second:e/1e10},t={};for(s in n)o=n[s],t[s]=this.display_time(o);return{crack_times_seconds:n,crack_times_display:t,score:this.guesses_to_score(e)}},guesses_to_score:function(e){var t;return t=5,e<1e3+t?0:e<1e6+t?1:e<1e8+t?2:e<1e10+t?3:4},display_time:function(e){var t,n,s,o,_,r,i,a,u,c;return i=60,r=60*i,s=24*r,a=31*s,c=12*a,n=100*c,u=e<1?[null,"less than a second"]:e' ); $form.attr( 'action', settings.upload_url ); $form.insertAfter( $placeholder ).append( $placeholder ); } $placeholder.replaceWith( $( '
    ' ) .append( $( '' ).attr({ name: settings.file_post_name || 'async-upload', accepts: settings.file_types || '*.*' }) ).append( $( '' ) ) ); } try { // Try the built-in fallback. if ( typeof settings.swfupload_load_failed_handler === 'function' && settings.custom_settings ) { window.swfu = { customSettings: settings.custom_settings }; settings.swfupload_load_failed_handler(); } else { fallback(); } } catch ( ex ) { fallback(); } }; SWFUpload.instances = {}; SWFUpload.movieCount = 0; SWFUpload.version = "0"; SWFUpload.QUEUE_ERROR = {}; SWFUpload.UPLOAD_ERROR = {}; SWFUpload.FILE_STATUS = {}; SWFUpload.BUTTON_ACTION = {}; SWFUpload.CURSOR = {}; SWFUpload.WINDOW_MODE = {}; SWFUpload.completeURL = noop; SWFUpload.prototype.initSettings = noop; SWFUpload.prototype.loadFlash = noop; SWFUpload.prototype.getFlashHTML = noop; SWFUpload.prototype.getFlashVars = noop; SWFUpload.prototype.getMovieElement = noop; SWFUpload.prototype.buildParamString = noop; SWFUpload.prototype.destroy = noop; SWFUpload.prototype.displayDebugInfo = noop; SWFUpload.prototype.addSetting = noop; SWFUpload.prototype.getSetting = noop; SWFUpload.prototype.callFlash = noop; SWFUpload.prototype.selectFile = noop; SWFUpload.prototype.selectFiles = noop; SWFUpload.prototype.startUpload = noop; SWFUpload.prototype.cancelUpload = noop; SWFUpload.prototype.stopUpload = noop; SWFUpload.prototype.getStats = noop; SWFUpload.prototype.setStats = noop; SWFUpload.prototype.getFile = noop; SWFUpload.prototype.addFileParam = noop; SWFUpload.prototype.removeFileParam = noop; SWFUpload.prototype.setUploadURL = noop; SWFUpload.prototype.setPostParams = noop; SWFUpload.prototype.addPostParam = noop; SWFUpload.prototype.removePostParam = noop; SWFUpload.prototype.setFileTypes = noop; SWFUpload.prototype.setFileSizeLimit = noop; SWFUpload.prototype.setFileUploadLimit = noop; SWFUpload.prototype.setFileQueueLimit = noop; SWFUpload.prototype.setFilePostName = noop; SWFUpload.prototype.setUseQueryString = noop; SWFUpload.prototype.setRequeueOnError = noop; SWFUpload.prototype.setHTTPSuccess = noop; SWFUpload.prototype.setAssumeSuccessTimeout = noop; SWFUpload.prototype.setDebugEnabled = noop; SWFUpload.prototype.setButtonImageURL = noop; SWFUpload.prototype.setButtonDimensions = noop; SWFUpload.prototype.setButtonText = noop; SWFUpload.prototype.setButtonTextPadding = noop; SWFUpload.prototype.setButtonTextStyle = noop; SWFUpload.prototype.setButtonDisabled = noop; SWFUpload.prototype.setButtonAction = noop; SWFUpload.prototype.setButtonCursor = noop; SWFUpload.prototype.queueEvent = noop; SWFUpload.prototype.executeNextEvent = noop; SWFUpload.prototype.unescapeFilePostParams = noop; SWFUpload.prototype.testExternalInterface = noop; SWFUpload.prototype.flashReady = noop; SWFUpload.prototype.cleanUp = noop; SWFUpload.prototype.fileDialogStart = noop; SWFUpload.prototype.fileQueued = noop; SWFUpload.prototype.fileQueueError = noop; SWFUpload.prototype.fileDialogComplete = noop; SWFUpload.prototype.uploadStart = noop; SWFUpload.prototype.returnUploadStart = noop; SWFUpload.prototype.uploadProgress = noop; SWFUpload.prototype.uploadError = noop; SWFUpload.prototype.uploadSuccess = noop; SWFUpload.prototype.uploadComplete = noop; SWFUpload.prototype.debug = noop; SWFUpload.prototype.debugMessage = noop; SWFUpload.Console = { writeLine: noop }; }() ); PK!̈́Ĵswfupload/handlers.jsnu[var topWin = window.dialogArguments || opener || parent || top; function fileDialogStart() {} function fileQueued() {} function uploadStart() {} function uploadProgress() {} function prepareMediaItem() {} function prepareMediaItemInit() {} function itemAjaxError() {} function deleteSuccess() {} function deleteError() {} function updateMediaForm() {} function uploadSuccess() {} function uploadComplete() {} function wpQueueError() {} function wpFileError() {} function fileQueueError() {} function fileDialogComplete() {} function uploadError() {} function cancelUpload() {} function switchUploader() { jQuery( '#' + swfu.customSettings.swfupload_element_id ).hide(); jQuery( '#' + swfu.customSettings.degraded_element_id ).show(); jQuery( '.upload-html-bypass' ).hide(); } function swfuploadPreLoad() { switchUploader(); } function swfuploadLoadFailed() { switchUploader(); } jQuery(document).ready(function($){ $( 'input[type="radio"]', '#media-items' ).on( 'click', function(){ var tr = $(this).closest('tr'); if ( $(tr).hasClass('align') ) setUserSetting('align', $(this).val()); else if ( $(tr).hasClass('image-size') ) setUserSetting('imgsize', $(this).val()); }); $( 'button.button', '#media-items' ).on( 'click', function(){ var c = this.className || ''; c = c.match(/url([^ '"]+)/); if ( c && c[1] ) { setUserSetting('urlbutton', c[1]); $(this).siblings('.urlfield').val( $(this).attr('title') ); } }); }); PK!swfupload/license.txtnu[/** * SWFUpload: http://www.swfupload.org, http://swfupload.googlecode.com * * mmSWFUpload 1.0: Flash upload dialog - http://profandesign.se/swfupload/, http://www.vinterwebb.se/ * * SWFUpload is (c) 2006-2007 Lars Huring, Olov Nilzén and Mammon Media and is released under the MIT License: * http://www.opensource.org/licenses/mit-license.php * * SWFUpload 2 is (c) 2007-2008 Jake Roberts and is released under the MIT License: * http://www.opensource.org/licenses/mit-license.php * */ The MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.PK!ȑswfupload/handlers.min.jsnu[function fileDialogStart(){}function fileQueued(){}function uploadStart(){}function uploadProgress(){}function prepareMediaItem(){}function prepareMediaItemInit(){}function itemAjaxError(){}function deleteSuccess(){}function deleteError(){}function updateMediaForm(){}function uploadSuccess(){}function uploadComplete(){}function wpQueueError(){}function wpFileError(){}function fileQueueError(){}function fileDialogComplete(){}function uploadError(){}function cancelUpload(){}function switchUploader(){jQuery("#"+swfu.customSettings.swfupload_element_id).hide(),jQuery("#"+swfu.customSettings.degraded_element_id).show(),jQuery(".upload-html-bypass").hide()}function swfuploadPreLoad(){switchUploader()}function swfuploadLoadFailed(){switchUploader()}var topWin=window.dialogArguments||opener||parent||top;jQuery(document).ready(function(a){a('input[type="radio"]',"#media-items").on("click",function(){var b=a(this).closest("tr");a(b).hasClass("align")?setUserSetting("align",a(this).val()):a(b).hasClass("image-size")&&setUserSetting("imgsize",a(this).val())}),a("button.button","#media-items").on("click",function(){var b=this.className||"";b=b.match(/url([^ '"]+)/),b&&b[1]&&(setUserSetting("urlbutton",b[1]),a(this).siblings(".urlfield").val(a(this).attr("title")))})});PK!#`customize-views.jsnu[/** * @output wp-includes/js/customize-views.js */ (function( $, wp, _ ) { if ( ! wp || ! wp.customize ) { return; } var api = wp.customize; /** * wp.customize.HeaderTool.CurrentView * * Displays the currently selected header image, or a placeholder in lack * thereof. * * Instantiate with model wp.customize.HeaderTool.currentHeader. * * @memberOf wp.customize.HeaderTool * @alias wp.customize.HeaderTool.CurrentView * * @constructor * @augments wp.Backbone.View */ api.HeaderTool.CurrentView = wp.Backbone.View.extend(/** @lends wp.customize.HeaderTool.CurrentView.prototype */{ template: wp.template('header-current'), initialize: function() { this.listenTo(this.model, 'change', this.render); this.render(); }, render: function() { this.$el.html(this.template(this.model.toJSON())); this.setButtons(); return this; }, setButtons: function() { var elements = $('#customize-control-header_image .actions .remove'); if (this.model.get('choice')) { elements.show(); } else { elements.hide(); } } }); /** * wp.customize.HeaderTool.ChoiceView * * Represents a choosable header image, be it user-uploaded, * theme-suggested or a special Randomize choice. * * Takes a wp.customize.HeaderTool.ImageModel. * * Manually changes model wp.customize.HeaderTool.currentHeader via the * `select` method. * * @memberOf wp.customize.HeaderTool * @alias wp.customize.HeaderTool.ChoiceView * * @constructor * @augments wp.Backbone.View */ api.HeaderTool.ChoiceView = wp.Backbone.View.extend(/** @lends wp.customize.HeaderTool.ChoiceView.prototype */{ template: wp.template('header-choice'), className: 'header-view', events: { 'click .choice,.random': 'select', 'click .close': 'removeImage' }, initialize: function() { var properties = [ this.model.get('header').url, this.model.get('choice') ]; this.listenTo(this.model, 'change:selected', this.toggleSelected); if (_.contains(properties, api.get().header_image)) { api.HeaderTool.currentHeader.set(this.extendedModel()); } }, render: function() { this.$el.html(this.template(this.extendedModel())); this.toggleSelected(); return this; }, toggleSelected: function() { this.$el.toggleClass('selected', this.model.get('selected')); }, extendedModel: function() { var c = this.model.get('collection'); return _.extend(this.model.toJSON(), { type: c.type }); }, select: function() { this.preventJump(); this.model.save(); api.HeaderTool.currentHeader.set(this.extendedModel()); }, preventJump: function() { var container = $('.wp-full-overlay-sidebar-content'), scroll = container.scrollTop(); _.defer(function() { container.scrollTop(scroll); }); }, removeImage: function(e) { e.stopPropagation(); this.model.destroy(); this.remove(); } }); /** * wp.customize.HeaderTool.ChoiceListView * * A container for ChoiceViews. These choices should be of one same type: * user-uploaded headers or theme-defined ones. * * Takes a wp.customize.HeaderTool.ChoiceList. * * @memberOf wp.customize.HeaderTool * @alias wp.customize.HeaderTool.ChoiceListView * * @constructor * @augments wp.Backbone.View */ api.HeaderTool.ChoiceListView = wp.Backbone.View.extend(/** @lends wp.customize.HeaderTool.ChoiceListView.prototype */{ initialize: function() { this.listenTo(this.collection, 'add', this.addOne); this.listenTo(this.collection, 'remove', this.render); this.listenTo(this.collection, 'sort', this.render); this.listenTo(this.collection, 'change', this.toggleList); this.render(); }, render: function() { this.$el.empty(); this.collection.each(this.addOne, this); this.toggleList(); }, addOne: function(choice) { var view; choice.set({ collection: this.collection }); view = new api.HeaderTool.ChoiceView({ model: choice }); this.$el.append(view.render().el); }, toggleList: function() { var title = this.$el.parents().prev('.customize-control-title'), randomButton = this.$el.find('.random').parent(); if (this.collection.shouldHideTitle()) { title.add(randomButton).hide(); } else { title.add(randomButton).show(); } } }); /** * wp.customize.HeaderTool.CombinedList * * Aggregates wp.customize.HeaderTool.ChoiceList collections (or any * Backbone object, really) and acts as a bus to feed them events. * * @memberOf wp.customize.HeaderTool * @alias wp.customize.HeaderTool.CombinedList * * @constructor * @augments wp.Backbone.View */ api.HeaderTool.CombinedList = wp.Backbone.View.extend(/** @lends wp.customize.HeaderTool.CombinedList.prototype */{ initialize: function(collections) { this.collections = collections; this.on('all', this.propagate, this); }, propagate: function(event, arg) { _.each(this.collections, function(collection) { collection.trigger(event, arg); }); } }); })( jQuery, window.wp, _ ); PK!P0I wp-embed.jsnu[/** * WordPress inline HTML embed * * @since 4.4.0 * @output wp-includes/js/wp-embed.js * * Single line comments should not be used since they will break * the script when inlined in get_post_embed_html(), specifically * when the comments are not stripped out due to SCRIPT_DEBUG * being turned on. */ (function ( window, document ) { 'use strict'; /* Abort for ancient browsers. */ if ( ! document.querySelector || ! window.addEventListener || typeof URL === 'undefined' ) { return; } /** @namespace wp */ window.wp = window.wp || {}; /* Abort if script was already executed. */ if ( !! window.wp.receiveEmbedMessage ) { return; } /** * Receive embed message. * * @param {MessageEvent} e */ window.wp.receiveEmbedMessage = function( e ) { var data = e.data; /* Verify shape of message. */ if ( ! ( data || data.secret || data.message || data.value ) || /[^a-zA-Z0-9]/.test( data.secret ) ) { return; } var iframes = document.querySelectorAll( 'iframe[data-secret="' + data.secret + '"]' ), blockquotes = document.querySelectorAll( 'blockquote[data-secret="' + data.secret + '"]' ), allowedProtocols = new RegExp( '^https?:$', 'i' ), i, source, height, sourceURL, targetURL; for ( i = 0; i < blockquotes.length; i++ ) { blockquotes[ i ].style.display = 'none'; } for ( i = 0; i < iframes.length; i++ ) { source = iframes[ i ]; if ( e.source !== source.contentWindow ) { continue; } source.removeAttribute( 'style' ); if ( 'height' === data.message ) { /* Resize the iframe on request. */ height = parseInt( data.value, 10 ); if ( height > 1000 ) { height = 1000; } else if ( ~~height < 200 ) { height = 200; } source.height = height; } else if ( 'link' === data.message ) { /* Link to a specific URL on request. */ sourceURL = new URL( source.getAttribute( 'src' ) ); targetURL = new URL( data.value ); if ( allowedProtocols.test( targetURL.protocol ) && targetURL.host === sourceURL.host && document.activeElement === source ) { window.top.location.href = data.value; } } } }; function onLoad() { var iframes = document.querySelectorAll( 'iframe.wp-embedded-content' ), i, source, secret; for ( i = 0; i < iframes.length; i++ ) { /** @var {IframeElement} */ source = iframes[ i ]; secret = source.getAttribute( 'data-secret' ); if ( ! secret ) { /* Add secret to iframe */ secret = Math.random().toString( 36 ).substring( 2, 12 ); source.src += '#?secret=' + secret; source.setAttribute( 'data-secret', secret ); } /* * Let post embed window know that the parent is ready for receiving the height message, in case the iframe * loaded before wp-embed.js was loaded. When the ready message is received by the post embed window, the * window will then (re-)send the height message right away. */ source.contentWindow.postMessage( { message: 'ready', secret: secret }, '*' ); } } window.addEventListener( 'message', window.wp.receiveEmbedMessage, false ); document.addEventListener( 'DOMContentLoaded', onLoad, false ); })( window, document ); PK!;U]aawp-lists.min.jsnu[/*! This file is auto-generated */ !function(d){var n={add:"ajaxAdd",del:"ajaxDel",dim:"ajaxDim",process:"process",recolor:"recolor"},c={settings:{url:ajaxurl,type:"POST",response:"ajax-response",what:"",alt:"alternate",altOffset:0,addColor:"#ffff33",delColor:"#faafaa",dimAddColor:"#ffff33",dimDelColor:"#ff3333",confirm:null,addBefore:null,addAfter:null,delBefore:null,delAfter:null,dimBefore:null,dimAfter:null},nonce:function(e,t){var e=wpAjax.unserialize(e.attr("href")),n=d("#"+t.element);return t.nonce||e._ajax_nonce||n.find('input[name="_ajax_nonce"]').val()||e._wpnonce||n.find('input[name="_wpnonce"]').val()||0},parseData:function(e,t){var n,o=[];try{(n=(n=d(e).data("wp-lists")||"").match(new RegExp(t+":[\\S]+")))&&(o=n[0].split(":"))}catch(e){}return o},pre:function(e,t,n){var o,i;return!("function"==typeof(t=d.extend({},this.wpList.settings,{element:null,nonce:0,target:e.get(0)},t||{})).confirm&&(o=d("#"+t.element),"add"!==n&&(i=o.css("backgroundColor"),o.css("backgroundColor","#ff9966")),e=t.confirm.call(this,e,t,n,i),"add"!==n&&o.css("backgroundColor",i),!e))&&t},ajaxAdd:function(e,n){var o,i,t=this,e=d(e),a=c.parseData(e,"add");if(n=n||{},(n=c.pre.call(t,e,n,"add")).element=a[2]||e.prop("id")||n.element||null,n.addColor=a[3]?"#"+a[3]:n.addColor,n){if(!e.is('[id="'+n.element+'-submit"]'))return!c.add.call(t,e,n);if(!n.element)return!0;if(n.action="add-"+n.what,n.nonce=c.nonce(e,n),wpAjax.validateForm("#"+n.element)){if(n.data=d.param(d.extend({_ajax_nonce:n.nonce,action:n.action},wpAjax.unserialize(a[4]||""))),(a="function"==typeof(e=d("#"+n.element+" :input").not('[name="_ajax_nonce"], [name="_wpnonce"], [name="action"]')).fieldSerialize?e.fieldSerialize():e.serialize())&&(n.data+="&"+a),"function"==typeof n.addBefore&&!(n=n.addBefore(n)))return!0;if(!n.data.match(/_ajax_nonce=[a-f0-9]+/))return!0;n.success=function(e){return o=wpAjax.parseAjaxResponse(e,n.response,n.element),i=e,!(!o||o.errors)&&(!0===o||(d.each(o.responses,function(){c.add.call(t,this.data,d.extend({},n,{position:this.position||0,id:this.id||0,oldId:this.oldId||null}))}),t.wpList.recolor(),d(t).trigger("wpListAddEnd",[n,t.wpList]),void c.clear.call(t,"#"+n.element)))},n.complete=function(e,t){"function"==typeof n.addAfter&&n.addAfter(i,d.extend({xml:e,status:t,parsed:o},n))},d.ajax(n)}}return!1},ajaxDel:function(e,n){var o,i,a,t=this,e=d(e),s=c.parseData(e,"delete");if(n=n||{},(n=c.pre.call(t,e,n,"delete")).element=s[2]||n.element||null,n.delColor=s[3]?"#"+s[3]:n.delColor,n&&n.element){if(n.action="delete-"+n.what,n.nonce=c.nonce(e,n),n.data=d.extend({_ajax_nonce:n.nonce,action:n.action,id:n.element.split("-").pop()},wpAjax.unserialize(s[4]||"")),"function"==typeof n.delBefore&&!(n=n.delBefore(n,t)))return!0;if(!n.data._ajax_nonce)return!0;o=d("#"+n.element),"none"!==n.delColor?o.css("backgroundColor",n.delColor).fadeOut(350,function(){t.wpList.recolor(),d(t).trigger("wpListDelEnd",[n,t.wpList])}):(t.wpList.recolor(),d(t).trigger("wpListDelEnd",[n,t.wpList])),n.success=function(e){if(i=wpAjax.parseAjaxResponse(e,n.response,n.element),a=e,!i||i.errors)return o.stop().stop().css("backgroundColor","#faa").show().queue(function(){t.wpList.recolor(),d(this).dequeue()}),!1},n.complete=function(e,t){"function"==typeof n.delAfter&&o.queue(function(){n.delAfter(a,d.extend({xml:e,status:t,parsed:i},n))}).dequeue()},d.ajax(n)}return!1},ajaxDim:function(e,n){var o,i,t,a,s,r=this,l=d(e),e=c.parseData(l,"dim");if("none"!==l.parent().css("display")){if(n=n||{},(n=c.pre.call(r,l,n,"dim")).element=e[2]||n.element||null,n.dimClass=e[3]||n.dimClass||null,n.dimAddColor=e[4]?"#"+e[4]:n.dimAddColor,n.dimDelColor=e[5]?"#"+e[5]:n.dimDelColor,!n||!n.element||!n.dimClass)return!0;if(n.action="dim-"+n.what,n.nonce=c.nonce(l,n),n.data=d.extend({_ajax_nonce:n.nonce,action:n.action,id:n.element.split("-").pop(),dimClass:n.dimClass},wpAjax.unserialize(e[6]||"")),"function"==typeof n.dimBefore&&!(n=n.dimBefore(n)))return!0;if(o=d("#"+n.element),i=o.toggleClass(n.dimClass).is("."+n.dimClass),e=c.getColor(o),t=i?n.dimAddColor:n.dimDelColor,o.toggleClass(n.dimClass),"none"!==t?o.animate({backgroundColor:t},"fast").queue(function(){o.toggleClass(n.dimClass),d(this).dequeue()}).animate({backgroundColor:e},{complete:function(){d(this).css("backgroundColor",""),d(r).trigger("wpListDimEnd",[n,r.wpList])}}):d(r).trigger("wpListDimEnd",[n,r.wpList]),!n.data._ajax_nonce)return!0;n.success=function(e){var t;return a=wpAjax.parseAjaxResponse(e,n.response,n.element),s=e,!0===a||(!a||a.errors?(o.stop().stop().css("backgroundColor","#ff3333")[i?"removeClass":"addClass"](n.dimClass).show().queue(function(){r.wpList.recolor(),d(this).dequeue()}),!1):void(void 0!==a.responses[0].supplemental.comment_link&&(t=(e=l.find(".submitted-on")).find("a"),""!==a.responses[0].supplemental.comment_link?e.html(d("").text(e.text()).prop("href",a.responses[0].supplemental.comment_link)):t.length&&e.text(t.text()))))},n.complete=function(e,t){"function"==typeof n.dimAfter&&o.queue(function(){n.dimAfter(s,d.extend({xml:e,status:t,parsed:a},n))}).dequeue()},d.ajax(n)}return!1},getColor:function(e){return d(e).css("backgroundColor")||"#ffffff"},add:function(e,t){var n,o=d(this),i=d(e),e=!1;return t=d.extend({position:0,id:0,oldId:null},this.wpList.settings,t="string"==typeof t?{what:t}:t),!(!i.length||!t.what)&&(t.oldId&&(e=d("#"+t.what+"-"+t.oldId)),!t.id||t.id===t.oldId&&e&&e.length||d("#"+t.what+"-"+t.id).remove(),e&&e.length?(e.before(i),e.remove()):isNaN(t.position)?(e="after","-"===t.position.substr(0,1)&&(t.position=t.position.substr(1),e="before"),1===(n=o.find("#"+t.position)).length?n[e](i):o.append(i)):"comment"===t.what&&0!==d("#"+t.element).length||(t.position<0?o.prepend(i):o.append(i)),t.alt&&i.toggleClass(t.alt,(o.children(":visible").index(i[0])+t.altOffset)%2),"none"!==t.addColor&&i.css("backgroundColor",t.addColor).animate({backgroundColor:c.getColor(i)},{complete:function(){d(this).css("backgroundColor","")}}),o.each(function(e,t){t.wpList.process(i)}),i)},clear:function(e){var n,o,e=d(e);this.wpList&&e.parents("#"+this.id).length||e.find(":input").each(function(e,t){d(t).parents(".form-no-clear").length||(n=t.type.toLowerCase(),o=t.tagName.toLowerCase(),"text"===n||"password"===n||"textarea"===o?t.value="":"checkbox"===n||"radio"===n?t.checked=!1:"select"===o&&(t.selectedIndex=null))})},process:function(e){var t=this,e=d(e||document);e.on("submit",'form[data-wp-lists^="add:'+t.id+':"]',function(){return t.wpList.add(this)}),e.on("click",'[data-wp-lists^="add:'+t.id+':"], input[data-wp-lists^="add:'+t.id+':"]',function(){return t.wpList.add(this)}),e.on("click",'[data-wp-lists^="delete:'+t.id+':"]',function(){return t.wpList.del(this)}),e.on("click",'[data-wp-lists^="dim:'+t.id+':"]',function(){return t.wpList.dim(this)})},recolor:function(){var e,t=this,n=[":even",":odd"];t.wpList.settings.alt&&((e=d(".list-item:visible",t)).length||(e=d(t).children(":visible")),t.wpList.settings.altOffset%2&&n.reverse(),e.filter(n[0]).addClass(t.wpList.settings.alt).end(),e.filter(n[1]).removeClass(t.wpList.settings.alt))},init:function(){var t=this;t.wpList.process=function(e){t.each(function(){this.wpList.process(e)})},t.wpList.recolor=function(){t.each(function(){this.wpList.recolor()})}}};d.fn.wpList=function(t){return this.each(function(e,o){o.wpList={settings:d.extend({},c.settings,{what:c.parseData(o,"list")[1]||""},t)},d.each(n,function(e,n){o.wpList[e]=function(e,t){return c[n].call(o,e,t)}})}),c.init.call(this),this.wpList.process(),this}}(jQuery);PK!J))"customize-selective-refresh.min.jsnu[/*! This file is auto-generated */ wp.customize.selectiveRefresh=function(o,r){"use strict";var t,s,c={ready:o.Deferred(),editShortcutVisibility:new r.Value,data:{partials:{},renderQueryVar:"",l10n:{shiftClickToEdit:""}},currentRequest:null};return _.extend(c,r.Events),t=c.Partial=r.Class.extend({id:null,defaults:{selector:null,primarySetting:null,containerInclusive:!1,fallbackRefresh:!0},initialize:function(e,t){var n=this;t=t||{},n.id=e,n.params=_.extend({settings:[]},n.defaults,t.params||t),n.deferred={},n.deferred.ready=o.Deferred(),n.deferred.ready.done(function(){n.ready()})},ready:function(){var n=this;_.each(n.placements(),function(e){o(e.container).attr("title",c.data.l10n.shiftClickToEdit),n.createEditShortcutForPlacement(e)}),o(document).on("click",n.params.selector,function(t){t.shiftKey&&(t.preventDefault(),_.each(n.placements(),function(e){o(e.container).is(t.currentTarget)&&n.showControl()}))})},createEditShortcutForPlacement:function(e){var t,n=this;!e.container||!(t=o(e.container)).length||t.is("area, audio, base, bdi, bdo, br, button, canvas, col, colgroup, command, datalist, embed, head, hr, html, iframe, img, input, keygen, label, link, map, math, menu, meta, noscript, object, optgroup, option, param, progress, rp, rt, ruby, script, select, source, style, svg, table, tbody, textarea, tfoot, thead, title, tr, track, video, wbr")||t.closest("head").length||((t=n.createEditShortcut()).on("click",function(e){e.preventDefault(),e.stopPropagation(),n.showControl()}),n.addEditShortcutToPlacement(e,t))},addEditShortcutToPlacement:function(e,t){e=o(e.container);e.prepend(t),e.is(":visible")&&"none"!==e.css("display")||t.addClass("customize-partial-edit-shortcut-hidden")},getEditShortcutClassName:function(){return"customize-partial-edit-shortcut-"+this.id.replace(/]/g,"").replace(/\[/g,"-")},getEditShortcutTitle:function(){var e=c.data.l10n;switch(this.getType()){case"widget":return e.clickEditWidget;case"blogname":case"blogdescription":return e.clickEditTitle;case"nav_menu":return e.clickEditMenu;default:return e.clickEditMisc}},getType:function(){var e=this,t=e.params.primarySetting||_.first(e.settings())||"unknown";return e.params.type||(t.match(/^nav_menu_instance\[/)?"nav_menu":t.match(/^widget_.+\[\d+]$/)?"widget":t)},createEditShortcut:function(){var e=this.getEditShortcutTitle(),t=o("",{class:"customize-partial-edit-shortcut "+this.getEditShortcutClassName()}),e=o("'; t.addControlElement(fullscreenBtn, 'fullscreen'); fullscreenBtn.addEventListener('click', function () { var isFullScreen = Features.HAS_TRUE_NATIVE_FULLSCREEN && Features.IS_FULLSCREEN || player.isFullScreen; if (isFullScreen) { player.exitFullScreen(); } else { player.enterFullScreen(); } }); player.fullscreenBtn = fullscreenBtn; t.options.keyActions.push({ keys: [70], action: function action(player, media, key, event) { if (!event.ctrlKey) { if (typeof player.enterFullScreen !== 'undefined') { if (player.isFullScreen) { player.exitFullScreen(); } else { player.enterFullScreen(); } } } } }); t.exitFullscreenCallback = function (e) { var key = e.which || e.keyCode || 0; if (t.options.enableKeyboard && key === 27 && (Features.HAS_TRUE_NATIVE_FULLSCREEN && Features.IS_FULLSCREEN || t.isFullScreen)) { player.exitFullScreen(); } }; t.globalBind('keydown', t.exitFullscreenCallback); t.normalHeight = 0; t.normalWidth = 0; if (Features.HAS_TRUE_NATIVE_FULLSCREEN) { var fullscreenChanged = function fullscreenChanged() { if (player.isFullScreen) { if (Features.isFullScreen()) { player.isNativeFullScreen = true; player.setControlsSize(); } else { player.isNativeFullScreen = false; player.exitFullScreen(); } } }; player.globalBind(Features.FULLSCREEN_EVENT_NAME, fullscreenChanged); } }, cleanfullscreen: function cleanfullscreen(player) { player.exitFullScreen(); player.globalUnbind('keydown', player.exitFullscreenCallback); }, detectFullscreenMode: function detectFullscreenMode() { var t = this, isNative = t.media.rendererName !== null && /(native|html5)/i.test(t.media.rendererName); var mode = ''; if (Features.HAS_TRUE_NATIVE_FULLSCREEN && isNative) { mode = 'native-native'; } else if (Features.HAS_TRUE_NATIVE_FULLSCREEN && !isNative) { mode = 'plugin-native'; } else if (t.usePluginFullScreen && Features.SUPPORT_POINTER_EVENTS) { mode = 'plugin-click'; } t.fullscreenMode = mode; return mode; }, enterFullScreen: function enterFullScreen() { var t = this, isNative = t.media.rendererName !== null && /(html5|native)/i.test(t.media.rendererName), containerStyles = getComputedStyle(t.getElement(t.container)); if (!t.isVideo) { return; } if (t.options.useFakeFullscreen === false && (Features.IS_IOS || Features.IS_SAFARI) && Features.HAS_IOS_FULLSCREEN && typeof t.media.originalNode.webkitEnterFullscreen === 'function' && t.media.originalNode.canPlayType((0, _media.getTypeFromFile)(t.media.getSrc()))) { t.media.originalNode.webkitEnterFullscreen(); return; } (0, _dom.addClass)(_document2.default.documentElement, t.options.classPrefix + 'fullscreen'); (0, _dom.addClass)(t.getElement(t.container), t.options.classPrefix + 'container-fullscreen'); t.normalHeight = parseFloat(containerStyles.height); t.normalWidth = parseFloat(containerStyles.width); if (t.fullscreenMode === 'native-native' || t.fullscreenMode === 'plugin-native') { Features.requestFullScreen(t.getElement(t.container)); if (t.isInIframe) { setTimeout(function checkFullscreen() { if (t.isNativeFullScreen) { var percentErrorMargin = 0.002, windowWidth = _window2.default.innerWidth || _document2.default.documentElement.clientWidth || _document2.default.body.clientWidth, screenWidth = screen.width, absDiff = Math.abs(screenWidth - windowWidth), marginError = screenWidth * percentErrorMargin; if (absDiff > marginError) { t.exitFullScreen(); } else { setTimeout(checkFullscreen, 500); } } }, 1000); } } t.getElement(t.container).style.width = '100%'; t.getElement(t.container).style.height = '100%'; t.containerSizeTimeout = setTimeout(function () { t.getElement(t.container).style.width = '100%'; t.getElement(t.container).style.height = '100%'; t.setControlsSize(); }, 500); if (isNative) { t.node.style.width = '100%'; t.node.style.height = '100%'; } else { var elements = t.getElement(t.container).querySelectorAll('embed, object, video'), _total = elements.length; for (var i = 0; i < _total; i++) { elements[i].style.width = '100%'; elements[i].style.height = '100%'; } } if (t.options.setDimensions && typeof t.media.setSize === 'function') { t.media.setSize(screen.width, screen.height); } var layers = t.getElement(t.layers).children, total = layers.length; for (var _i = 0; _i < total; _i++) { layers[_i].style.width = '100%'; layers[_i].style.height = '100%'; } if (t.fullscreenBtn) { (0, _dom.removeClass)(t.fullscreenBtn, t.options.classPrefix + 'fullscreen'); (0, _dom.addClass)(t.fullscreenBtn, t.options.classPrefix + 'unfullscreen'); } t.setControlsSize(); t.isFullScreen = true; var zoomFactor = Math.min(screen.width / t.width, screen.height / t.height), captionText = t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'captions-text'); if (captionText) { captionText.style.fontSize = zoomFactor * 100 + '%'; captionText.style.lineHeight = 'normal'; t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'captions-position').style.bottom = (screen.height - t.normalHeight) / 2 - t.getElement(t.controls).offsetHeight / 2 + zoomFactor + 15 + 'px'; } var event = (0, _general.createEvent)('enteredfullscreen', t.getElement(t.container)); t.getElement(t.container).dispatchEvent(event); }, exitFullScreen: function exitFullScreen() { var t = this, isNative = t.media.rendererName !== null && /(native|html5)/i.test(t.media.rendererName); if (!t.isVideo) { return; } clearTimeout(t.containerSizeTimeout); if (Features.HAS_TRUE_NATIVE_FULLSCREEN && (Features.IS_FULLSCREEN || t.isFullScreen)) { Features.cancelFullScreen(); } (0, _dom.removeClass)(_document2.default.documentElement, t.options.classPrefix + 'fullscreen'); (0, _dom.removeClass)(t.getElement(t.container), t.options.classPrefix + 'container-fullscreen'); if (t.options.setDimensions) { t.getElement(t.container).style.width = t.normalWidth + 'px'; t.getElement(t.container).style.height = t.normalHeight + 'px'; if (isNative) { t.node.style.width = t.normalWidth + 'px'; t.node.style.height = t.normalHeight + 'px'; } else { var elements = t.getElement(t.container).querySelectorAll('embed, object, video'), _total2 = elements.length; for (var i = 0; i < _total2; i++) { elements[i].style.width = t.normalWidth + 'px'; elements[i].style.height = t.normalHeight + 'px'; } } if (typeof t.media.setSize === 'function') { t.media.setSize(t.normalWidth, t.normalHeight); } var layers = t.getElement(t.layers).children, total = layers.length; for (var _i2 = 0; _i2 < total; _i2++) { layers[_i2].style.width = t.normalWidth + 'px'; layers[_i2].style.height = t.normalHeight + 'px'; } } if (t.fullscreenBtn) { (0, _dom.removeClass)(t.fullscreenBtn, t.options.classPrefix + 'unfullscreen'); (0, _dom.addClass)(t.fullscreenBtn, t.options.classPrefix + 'fullscreen'); } t.setControlsSize(); t.isFullScreen = false; var captionText = t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'captions-text'); if (captionText) { captionText.style.fontSize = ''; captionText.style.lineHeight = ''; t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'captions-position').style.bottom = ''; } var event = (0, _general.createEvent)('exitedfullscreen', t.getElement(t.container)); t.getElement(t.container).dispatchEvent(event); } }); },{"16":16,"2":2,"25":25,"26":26,"27":27,"28":28,"3":3,"5":5}],10:[function(_dereq_,module,exports){ 'use strict'; var _document = _dereq_(2); var _document2 = _interopRequireDefault(_document); var _player = _dereq_(16); var _player2 = _interopRequireDefault(_player); var _i18n = _dereq_(5); var _i18n2 = _interopRequireDefault(_i18n); var _general = _dereq_(27); var _dom = _dereq_(26); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } Object.assign(_player.config, { playText: null, pauseText: null }); Object.assign(_player2.default.prototype, { buildplaypause: function buildplaypause(player, controls, layers, media) { var t = this, op = t.options, playTitle = (0, _general.isString)(op.playText) ? op.playText : _i18n2.default.t('mejs.play'), pauseTitle = (0, _general.isString)(op.pauseText) ? op.pauseText : _i18n2.default.t('mejs.pause'), play = _document2.default.createElement('div'); play.className = t.options.classPrefix + 'button ' + t.options.classPrefix + 'playpause-button ' + t.options.classPrefix + 'play'; play.innerHTML = ''; play.addEventListener('click', function () { if (t.paused) { t.play(); } else { t.pause(); } }); var playBtn = play.querySelector('button'); t.addControlElement(play, 'playpause'); function togglePlayPause(which) { if ('play' === which) { (0, _dom.removeClass)(play, t.options.classPrefix + 'play'); (0, _dom.removeClass)(play, t.options.classPrefix + 'replay'); (0, _dom.addClass)(play, t.options.classPrefix + 'pause'); playBtn.setAttribute('title', pauseTitle); playBtn.setAttribute('aria-label', pauseTitle); } else { (0, _dom.removeClass)(play, t.options.classPrefix + 'pause'); (0, _dom.removeClass)(play, t.options.classPrefix + 'replay'); (0, _dom.addClass)(play, t.options.classPrefix + 'play'); playBtn.setAttribute('title', playTitle); playBtn.setAttribute('aria-label', playTitle); } } togglePlayPause('pse'); media.addEventListener('loadedmetadata', function () { if (media.rendererName.indexOf('flash') === -1) { togglePlayPause('pse'); } }); media.addEventListener('play', function () { togglePlayPause('play'); }); media.addEventListener('playing', function () { togglePlayPause('play'); }); media.addEventListener('pause', function () { togglePlayPause('pse'); }); media.addEventListener('ended', function () { if (!player.options.loop) { (0, _dom.removeClass)(play, t.options.classPrefix + 'pause'); (0, _dom.removeClass)(play, t.options.classPrefix + 'play'); (0, _dom.addClass)(play, t.options.classPrefix + 'replay'); playBtn.setAttribute('title', playTitle); playBtn.setAttribute('aria-label', playTitle); } }); } }); },{"16":16,"2":2,"26":26,"27":27,"5":5}],11:[function(_dereq_,module,exports){ 'use strict'; var _document = _dereq_(2); var _document2 = _interopRequireDefault(_document); var _player = _dereq_(16); var _player2 = _interopRequireDefault(_player); var _i18n = _dereq_(5); var _i18n2 = _interopRequireDefault(_i18n); var _constants = _dereq_(25); var _time = _dereq_(30); var _dom = _dereq_(26); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } Object.assign(_player.config, { enableProgressTooltip: true, useSmoothHover: true, forceLive: false }); Object.assign(_player2.default.prototype, { buildprogress: function buildprogress(player, controls, layers, media) { var lastKeyPressTime = 0, mouseIsDown = false, startedPaused = false; var t = this, autoRewindInitial = player.options.autoRewind, tooltip = player.options.enableProgressTooltip ? '' + ('00:00') + ('') + '' : '', rail = _document2.default.createElement('div'); rail.className = t.options.classPrefix + 'time-rail'; rail.innerHTML = '' + ('') + ('') + ('') + ('') + ('') + ('' + tooltip) + ''; t.addControlElement(rail, 'progress'); t.options.keyActions.push({ keys: [37, 227], action: function action(player) { if (!isNaN(player.duration) && player.duration > 0) { if (player.isVideo) { player.showControls(); player.startControlsTimer(); } var timeSlider = player.getElement(player.container).querySelector('.' + t.options.classPrefix + 'time-total'); if (timeSlider) { timeSlider.focus(); } var newTime = Math.max(player.currentTime - player.options.defaultSeekBackwardInterval(player), 0); if (!player.paused) { player.pause(); } setTimeout(function () { player.setCurrentTime(newTime); }, 0); setTimeout(function () { player.play(); }, 0); } } }, { keys: [39, 228], action: function action(player) { if (!isNaN(player.duration) && player.duration > 0) { if (player.isVideo) { player.showControls(); player.startControlsTimer(); } var timeSlider = player.getElement(player.container).querySelector('.' + t.options.classPrefix + 'time-total'); if (timeSlider) { timeSlider.focus(); } var newTime = Math.min(player.currentTime + player.options.defaultSeekForwardInterval(player), player.duration); if (!player.paused) { player.pause(); } setTimeout(function () { player.setCurrentTime(newTime); }, 0); setTimeout(function () { player.play(); }, 0); } } }); t.rail = controls.querySelector('.' + t.options.classPrefix + 'time-rail'); t.total = controls.querySelector('.' + t.options.classPrefix + 'time-total'); t.loaded = controls.querySelector('.' + t.options.classPrefix + 'time-loaded'); t.current = controls.querySelector('.' + t.options.classPrefix + 'time-current'); t.handle = controls.querySelector('.' + t.options.classPrefix + 'time-handle'); t.timefloat = controls.querySelector('.' + t.options.classPrefix + 'time-float'); t.timefloatcurrent = controls.querySelector('.' + t.options.classPrefix + 'time-float-current'); t.slider = controls.querySelector('.' + t.options.classPrefix + 'time-slider'); t.hovered = controls.querySelector('.' + t.options.classPrefix + 'time-hovered'); t.buffer = controls.querySelector('.' + t.options.classPrefix + 'time-buffering'); t.newTime = 0; t.forcedHandlePause = false; t.setTransformStyle = function (element, value) { element.style.transform = value; element.style.webkitTransform = value; element.style.MozTransform = value; element.style.msTransform = value; element.style.OTransform = value; }; t.buffer.style.display = 'none'; var handleMouseMove = function handleMouseMove(e) { var totalStyles = getComputedStyle(t.total), offsetStyles = (0, _dom.offset)(t.total), width = t.total.offsetWidth, transform = function () { if (totalStyles.webkitTransform !== undefined) { return 'webkitTransform'; } else if (totalStyles.mozTransform !== undefined) { return 'mozTransform '; } else if (totalStyles.oTransform !== undefined) { return 'oTransform'; } else if (totalStyles.msTransform !== undefined) { return 'msTransform'; } else { return 'transform'; } }(), cssMatrix = function () { if ('WebKitCSSMatrix' in window) { return 'WebKitCSSMatrix'; } else if ('MSCSSMatrix' in window) { return 'MSCSSMatrix'; } else if ('CSSMatrix' in window) { return 'CSSMatrix'; } }(); var percentage = 0, leftPos = 0, pos = 0, x = void 0; if (e.originalEvent && e.originalEvent.changedTouches) { x = e.originalEvent.changedTouches[0].pageX; } else if (e.changedTouches) { x = e.changedTouches[0].pageX; } else { x = e.pageX; } if (t.getDuration()) { if (x < offsetStyles.left) { x = offsetStyles.left; } else if (x > width + offsetStyles.left) { x = width + offsetStyles.left; } pos = x - offsetStyles.left; percentage = pos / width; t.newTime = percentage * t.getDuration(); if (mouseIsDown && t.getCurrentTime() !== null && t.newTime.toFixed(4) !== t.getCurrentTime().toFixed(4)) { t.setCurrentRailHandle(t.newTime); t.updateCurrent(t.newTime); } if (!_constants.IS_IOS && !_constants.IS_ANDROID) { if (pos < 0) { pos = 0; } if (t.options.useSmoothHover && cssMatrix !== null && typeof window[cssMatrix] !== 'undefined') { var matrix = new window[cssMatrix](getComputedStyle(t.handle)[transform]), handleLocation = matrix.m41, hoverScaleX = pos / parseFloat(getComputedStyle(t.total).width) - handleLocation / parseFloat(getComputedStyle(t.total).width); t.hovered.style.left = handleLocation + 'px'; t.setTransformStyle(t.hovered, 'scaleX(' + hoverScaleX + ')'); t.hovered.setAttribute('pos', pos); if (hoverScaleX >= 0) { (0, _dom.removeClass)(t.hovered, 'negative'); } else { (0, _dom.addClass)(t.hovered, 'negative'); } } if (t.timefloat) { var half = t.timefloat.offsetWidth / 2, offsetContainer = mejs.Utils.offset(t.getElement(t.container)), tooltipStyles = getComputedStyle(t.timefloat); if (x - offsetContainer.left < t.timefloat.offsetWidth) { leftPos = half; } else if (x - offsetContainer.left >= t.getElement(t.container).offsetWidth - half) { leftPos = t.total.offsetWidth - half; } else { leftPos = pos; } if ((0, _dom.hasClass)(t.getElement(t.container), t.options.classPrefix + 'long-video')) { leftPos += parseFloat(tooltipStyles.marginLeft) / 2 + t.timefloat.offsetWidth / 2; } t.timefloat.style.left = leftPos + 'px'; t.timefloatcurrent.innerHTML = (0, _time.secondsToTimeCode)(t.newTime, player.options.alwaysShowHours, player.options.showTimecodeFrameCount, player.options.framesPerSecond, player.options.secondsDecimalLength, player.options.timeFormat); t.timefloat.style.display = 'block'; } } } else if (!_constants.IS_IOS && !_constants.IS_ANDROID && t.timefloat) { leftPos = t.timefloat.offsetWidth + width >= t.getElement(t.container).offsetWidth ? t.timefloat.offsetWidth / 2 : 0; t.timefloat.style.left = leftPos + 'px'; t.timefloat.style.left = leftPos + 'px'; t.timefloat.style.display = 'block'; } }, updateSlider = function updateSlider() { var seconds = t.getCurrentTime(), timeSliderText = _i18n2.default.t('mejs.time-slider'), time = (0, _time.secondsToTimeCode)(seconds, player.options.alwaysShowHours, player.options.showTimecodeFrameCount, player.options.framesPerSecond, player.options.secondsDecimalLength, player.options.timeFormat), duration = t.getDuration(); t.slider.setAttribute('role', 'slider'); t.slider.tabIndex = 0; if (media.paused) { t.slider.setAttribute('aria-label', timeSliderText); t.slider.setAttribute('aria-valuemin', 0); t.slider.setAttribute('aria-valuemax', isNaN(duration) ? 0 : duration); t.slider.setAttribute('aria-valuenow', seconds); t.slider.setAttribute('aria-valuetext', time); } else { t.slider.removeAttribute('aria-label'); t.slider.removeAttribute('aria-valuemin'); t.slider.removeAttribute('aria-valuemax'); t.slider.removeAttribute('aria-valuenow'); t.slider.removeAttribute('aria-valuetext'); } }, restartPlayer = function restartPlayer() { if (new Date() - lastKeyPressTime >= 1000) { t.play(); } }, handleMouseup = function handleMouseup() { if (mouseIsDown && t.getCurrentTime() !== null && t.newTime.toFixed(4) !== t.getCurrentTime().toFixed(4)) { t.setCurrentTime(t.newTime); t.setCurrentRailHandle(t.newTime); t.updateCurrent(t.newTime); } if (t.forcedHandlePause) { t.slider.focus(); t.play(); } t.forcedHandlePause = false; }; t.slider.addEventListener('focus', function () { player.options.autoRewind = false; }); t.slider.addEventListener('blur', function () { player.options.autoRewind = autoRewindInitial; }); t.slider.addEventListener('keydown', function (e) { if (new Date() - lastKeyPressTime >= 1000) { startedPaused = t.paused; } if (t.options.enableKeyboard && t.options.keyActions.length) { var keyCode = e.which || e.keyCode || 0, duration = t.getDuration(), seekForward = player.options.defaultSeekForwardInterval(media), seekBackward = player.options.defaultSeekBackwardInterval(media); var seekTime = t.getCurrentTime(); var volume = t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'volume-slider'); if (keyCode === 38 || keyCode === 40) { if (volume) { volume.style.display = 'block'; } if (t.isVideo) { t.showControls(); t.startControlsTimer(); } var newVolume = keyCode === 38 ? Math.min(t.volume + 0.1, 1) : Math.max(t.volume - 0.1, 0), mutePlayer = newVolume <= 0; t.setVolume(newVolume); t.setMuted(mutePlayer); return; } else { if (volume) { volume.style.display = 'none'; } } switch (keyCode) { case 37: if (t.getDuration() !== Infinity) { seekTime -= seekBackward; } break; case 39: if (t.getDuration() !== Infinity) { seekTime += seekForward; } break; case 36: seekTime = 0; break; case 35: seekTime = duration; break; case 13: case 32: if (_constants.IS_FIREFOX) { if (t.paused) { t.play(); } else { t.pause(); } } return; default: return; } seekTime = seekTime < 0 || isNaN(seekTime) ? 0 : seekTime >= duration ? duration : Math.floor(seekTime); lastKeyPressTime = new Date(); if (!startedPaused) { player.pause(); } setTimeout(function () { t.setCurrentTime(seekTime); }, 0); if (seekTime < t.getDuration() && !startedPaused) { setTimeout(restartPlayer, 1100); } player.showControls(); e.preventDefault(); e.stopPropagation(); } }); var events = ['mousedown', 'touchstart']; t.slider.addEventListener('dragstart', function () { return false; }); for (var i = 0, total = events.length; i < total; i++) { t.slider.addEventListener(events[i], function (e) { t.forcedHandlePause = false; if (t.getDuration() !== Infinity) { if (e.which === 1 || e.which === 0) { if (!t.paused) { t.pause(); t.forcedHandlePause = true; } mouseIsDown = true; handleMouseMove(e); var endEvents = ['mouseup', 'touchend']; for (var j = 0, totalEvents = endEvents.length; j < totalEvents; j++) { t.getElement(t.container).addEventListener(endEvents[j], function (event) { var target = event.target; if (target === t.slider || target.closest('.' + t.options.classPrefix + 'time-slider')) { handleMouseMove(event); } }); } t.globalBind('mouseup.dur touchend.dur', function () { handleMouseup(); mouseIsDown = false; if (t.timefloat) { t.timefloat.style.display = 'none'; } }); } } }, _constants.SUPPORT_PASSIVE_EVENT && events[i] === 'touchstart' ? { passive: true } : false); } t.slider.addEventListener('mouseenter', function (e) { if (e.target === t.slider && t.getDuration() !== Infinity) { t.getElement(t.container).addEventListener('mousemove', function (event) { var target = event.target; if (target === t.slider || target.closest('.' + t.options.classPrefix + 'time-slider')) { handleMouseMove(event); } }); if (t.timefloat && !_constants.IS_IOS && !_constants.IS_ANDROID) { t.timefloat.style.display = 'block'; } if (t.hovered && !_constants.IS_IOS && !_constants.IS_ANDROID && t.options.useSmoothHover) { (0, _dom.removeClass)(t.hovered, 'no-hover'); } } }); t.slider.addEventListener('mouseleave', function () { if (t.getDuration() !== Infinity) { if (!mouseIsDown) { if (t.timefloat) { t.timefloat.style.display = 'none'; } if (t.hovered && t.options.useSmoothHover) { (0, _dom.addClass)(t.hovered, 'no-hover'); } } } }); t.broadcastCallback = function (e) { var broadcast = controls.querySelector('.' + t.options.classPrefix + 'broadcast'); if (!t.options.forceLive && t.getDuration() !== Infinity) { if (broadcast) { t.slider.style.display = ''; broadcast.remove(); } player.setProgressRail(e); if (!t.forcedHandlePause) { player.setCurrentRail(e); } updateSlider(); } else if (!broadcast && t.options.forceLive) { var label = _document2.default.createElement('span'); label.className = t.options.classPrefix + 'broadcast'; label.innerText = _i18n2.default.t('mejs.live-broadcast'); t.slider.style.display = 'none'; t.rail.appendChild(label); } }; media.addEventListener('progress', t.broadcastCallback); media.addEventListener('timeupdate', t.broadcastCallback); media.addEventListener('play', function () { t.buffer.style.display = 'none'; }); media.addEventListener('playing', function () { t.buffer.style.display = 'none'; }); media.addEventListener('seeking', function () { t.buffer.style.display = ''; }); media.addEventListener('seeked', function () { t.buffer.style.display = 'none'; }); media.addEventListener('pause', function () { t.buffer.style.display = 'none'; }); media.addEventListener('waiting', function () { t.buffer.style.display = ''; }); media.addEventListener('loadeddata', function () { t.buffer.style.display = ''; }); media.addEventListener('canplay', function () { t.buffer.style.display = 'none'; }); media.addEventListener('error', function () { t.buffer.style.display = 'none'; }); t.getElement(t.container).addEventListener('controlsresize', function (e) { if (t.getDuration() !== Infinity) { player.setProgressRail(e); if (!t.forcedHandlePause) { player.setCurrentRail(e); } } }); }, cleanprogress: function cleanprogress(player, controls, layers, media) { media.removeEventListener('progress', player.broadcastCallback); media.removeEventListener('timeupdate', player.broadcastCallback); if (player.rail) { player.rail.remove(); } }, setProgressRail: function setProgressRail(e) { var t = this, target = e !== undefined ? e.detail.target || e.target : t.media; var percent = null; if (target && target.buffered && target.buffered.length > 0 && target.buffered.end && t.getDuration()) { percent = target.buffered.end(target.buffered.length - 1) / t.getDuration(); } else if (target && target.bytesTotal !== undefined && target.bytesTotal > 0 && target.bufferedBytes !== undefined) { percent = target.bufferedBytes / target.bytesTotal; } else if (e && e.lengthComputable && e.total !== 0) { percent = e.loaded / e.total; } if (percent !== null) { percent = Math.min(1, Math.max(0, percent)); if (t.loaded) { t.setTransformStyle(t.loaded, 'scaleX(' + percent + ')'); } } }, setCurrentRailHandle: function setCurrentRailHandle(fakeTime) { var t = this; t.setCurrentRailMain(t, fakeTime); }, setCurrentRail: function setCurrentRail() { var t = this; t.setCurrentRailMain(t); }, setCurrentRailMain: function setCurrentRailMain(t, fakeTime) { if (t.getCurrentTime() !== undefined && t.getDuration()) { var nTime = typeof fakeTime === 'undefined' ? t.getCurrentTime() : fakeTime; if (t.total && t.handle) { var tW = parseFloat(getComputedStyle(t.total).width); var newWidth = Math.round(tW * nTime / t.getDuration()), handlePos = newWidth - Math.round(t.handle.offsetWidth / 2); handlePos = handlePos < 0 ? 0 : handlePos; t.setTransformStyle(t.current, 'scaleX(' + newWidth / tW + ')'); t.setTransformStyle(t.handle, 'translateX(' + handlePos + 'px)'); if (t.options.useSmoothHover && !(0, _dom.hasClass)(t.hovered, 'no-hover')) { var pos = parseInt(t.hovered.getAttribute('pos'), 10); pos = isNaN(pos) ? 0 : pos; var hoverScaleX = pos / tW - handlePos / tW; t.hovered.style.left = handlePos + 'px'; t.setTransformStyle(t.hovered, 'scaleX(' + hoverScaleX + ')'); if (hoverScaleX >= 0) { (0, _dom.removeClass)(t.hovered, 'negative'); } else { (0, _dom.addClass)(t.hovered, 'negative'); } } } } } }); },{"16":16,"2":2,"25":25,"26":26,"30":30,"5":5}],12:[function(_dereq_,module,exports){ 'use strict'; var _document = _dereq_(2); var _document2 = _interopRequireDefault(_document); var _player = _dereq_(16); var _player2 = _interopRequireDefault(_player); var _time = _dereq_(30); var _dom = _dereq_(26); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } Object.assign(_player.config, { duration: 0, timeAndDurationSeparator: ' | ' }); Object.assign(_player2.default.prototype, { buildcurrent: function buildcurrent(player, controls, layers, media) { var t = this, time = _document2.default.createElement('div'); time.className = t.options.classPrefix + 'time'; time.setAttribute('role', 'timer'); time.setAttribute('aria-live', 'off'); time.innerHTML = '' + (0, _time.secondsToTimeCode)(0, player.options.alwaysShowHours, player.options.showTimecodeFrameCount, player.options.framesPerSecond, player.options.secondsDecimalLength, player.options.timeFormat) + ''; t.addControlElement(time, 'current'); player.updateCurrent(); t.updateTimeCallback = function () { if (t.controlsAreVisible) { player.updateCurrent(); } }; media.addEventListener('timeupdate', t.updateTimeCallback); }, cleancurrent: function cleancurrent(player, controls, layers, media) { media.removeEventListener('timeupdate', player.updateTimeCallback); }, buildduration: function buildduration(player, controls, layers, media) { var t = this, currTime = controls.lastChild.querySelector('.' + t.options.classPrefix + 'currenttime'); if (currTime) { controls.querySelector('.' + t.options.classPrefix + 'time').innerHTML += t.options.timeAndDurationSeparator + '' + ((0, _time.secondsToTimeCode)(t.options.duration, t.options.alwaysShowHours, t.options.showTimecodeFrameCount, t.options.framesPerSecond, t.options.secondsDecimalLength, t.options.timeFormat) + ''); } else { if (controls.querySelector('.' + t.options.classPrefix + 'currenttime')) { (0, _dom.addClass)(controls.querySelector('.' + t.options.classPrefix + 'currenttime').parentNode, t.options.classPrefix + 'currenttime-container'); } var duration = _document2.default.createElement('div'); duration.className = t.options.classPrefix + 'time ' + t.options.classPrefix + 'duration-container'; duration.innerHTML = '' + ((0, _time.secondsToTimeCode)(t.options.duration, t.options.alwaysShowHours, t.options.showTimecodeFrameCount, t.options.framesPerSecond, t.options.secondsDecimalLength, t.options.timeFormat) + ''); t.addControlElement(duration, 'duration'); } t.updateDurationCallback = function () { if (t.controlsAreVisible) { player.updateDuration(); } }; media.addEventListener('timeupdate', t.updateDurationCallback); }, cleanduration: function cleanduration(player, controls, layers, media) { media.removeEventListener('timeupdate', player.updateDurationCallback); }, updateCurrent: function updateCurrent() { var t = this; var currentTime = t.getCurrentTime(); if (isNaN(currentTime)) { currentTime = 0; } var timecode = (0, _time.secondsToTimeCode)(currentTime, t.options.alwaysShowHours, t.options.showTimecodeFrameCount, t.options.framesPerSecond, t.options.secondsDecimalLength, t.options.timeFormat); if (timecode.length > 5) { (0, _dom.addClass)(t.getElement(t.container), t.options.classPrefix + 'long-video'); } else { (0, _dom.removeClass)(t.getElement(t.container), t.options.classPrefix + 'long-video'); } if (t.getElement(t.controls).querySelector('.' + t.options.classPrefix + 'currenttime')) { t.getElement(t.controls).querySelector('.' + t.options.classPrefix + 'currenttime').innerText = timecode; } }, updateDuration: function updateDuration() { var t = this; var duration = t.getDuration(); if (t.media !== undefined && (isNaN(duration) || duration === Infinity || duration < 0)) { t.media.duration = t.options.duration = duration = 0; } if (t.options.duration > 0) { duration = t.options.duration; } var timecode = (0, _time.secondsToTimeCode)(duration, t.options.alwaysShowHours, t.options.showTimecodeFrameCount, t.options.framesPerSecond, t.options.secondsDecimalLength, t.options.timeFormat); if (timecode.length > 5) { (0, _dom.addClass)(t.getElement(t.container), t.options.classPrefix + 'long-video'); } else { (0, _dom.removeClass)(t.getElement(t.container), t.options.classPrefix + 'long-video'); } if (t.getElement(t.controls).querySelector('.' + t.options.classPrefix + 'duration') && duration > 0) { t.getElement(t.controls).querySelector('.' + t.options.classPrefix + 'duration').innerHTML = timecode; } } }); },{"16":16,"2":2,"26":26,"30":30}],13:[function(_dereq_,module,exports){ 'use strict'; var _document = _dereq_(2); var _document2 = _interopRequireDefault(_document); var _mejs = _dereq_(7); var _mejs2 = _interopRequireDefault(_mejs); var _i18n = _dereq_(5); var _i18n2 = _interopRequireDefault(_i18n); var _player = _dereq_(16); var _player2 = _interopRequireDefault(_player); var _time = _dereq_(30); var _general = _dereq_(27); var _dom = _dereq_(26); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } Object.assign(_player.config, { startLanguage: '', tracksText: null, chaptersText: null, tracksAriaLive: false, hideCaptionsButtonWhenEmpty: true, toggleCaptionsButtonWhenOnlyOne: false, slidesSelector: '' }); Object.assign(_player2.default.prototype, { hasChapters: false, buildtracks: function buildtracks(player, controls, layers, media) { this.findTracks(); if (!player.tracks.length && (!player.trackFiles || !player.trackFiles.length === 0)) { return; } var t = this, attr = t.options.tracksAriaLive ? ' role="log" aria-live="assertive" aria-atomic="false"' : '', tracksTitle = (0, _general.isString)(t.options.tracksText) ? t.options.tracksText : _i18n2.default.t('mejs.captions-subtitles'), chaptersTitle = (0, _general.isString)(t.options.chaptersText) ? t.options.chaptersText : _i18n2.default.t('mejs.captions-chapters'), total = player.trackFiles === null ? player.tracks.length : player.trackFiles.length; if (t.domNode.textTracks) { for (var i = t.domNode.textTracks.length - 1; i >= 0; i--) { t.domNode.textTracks[i].mode = 'hidden'; } } t.cleartracks(player); player.captions = _document2.default.createElement('div'); player.captions.className = t.options.classPrefix + 'captions-layer ' + t.options.classPrefix + 'layer'; player.captions.innerHTML = '
    ' + ('') + '
    '; player.captions.style.display = 'none'; layers.insertBefore(player.captions, layers.firstChild); player.captionsText = player.captions.querySelector('.' + t.options.classPrefix + 'captions-text'); player.captionsButton = _document2.default.createElement('div'); player.captionsButton.className = t.options.classPrefix + 'button ' + t.options.classPrefix + 'captions-button'; player.captionsButton.innerHTML = '' + ('
    ') + ('
      ') + ('
    • ') + ('' + ('') + '
    • ' + '
    ' + '
    '; t.addControlElement(player.captionsButton, 'tracks'); player.captionsButton.querySelector('.' + t.options.classPrefix + 'captions-selector-input').disabled = false; player.chaptersButton = _document2.default.createElement('div'); player.chaptersButton.className = t.options.classPrefix + 'button ' + t.options.classPrefix + 'chapters-button'; player.chaptersButton.innerHTML = '' + ('
    ') + ('
      ') + '
      '; var subtitleCount = 0; for (var _i = 0; _i < total; _i++) { var kind = player.tracks[_i].kind, src = player.tracks[_i].src; if (src.trim()) { if (kind === 'subtitles' || kind === 'captions') { subtitleCount++; } else if (kind === 'chapters' && !controls.querySelector('.' + t.options.classPrefix + 'chapter-selector')) { player.captionsButton.parentNode.insertBefore(player.chaptersButton, player.captionsButton); } } } player.trackToLoad = -1; player.selectedTrack = null; player.isLoadingTrack = false; for (var _i2 = 0; _i2 < total; _i2++) { var _kind = player.tracks[_i2].kind; if (player.tracks[_i2].src.trim() && (_kind === 'subtitles' || _kind === 'captions')) { player.addTrackButton(player.tracks[_i2].trackId, player.tracks[_i2].srclang, player.tracks[_i2].label); } } player.loadNextTrack(); var inEvents = ['mouseenter', 'focusin'], outEvents = ['mouseleave', 'focusout']; if (t.options.toggleCaptionsButtonWhenOnlyOne && subtitleCount === 1) { player.captionsButton.addEventListener('click', function (e) { var trackId = 'none'; if (player.selectedTrack === null) { trackId = player.tracks[0].trackId; } var keyboard = e.keyCode || e.which; player.setTrack(trackId, typeof keyboard !== 'undefined'); }); } else { var labels = player.captionsButton.querySelectorAll('.' + t.options.classPrefix + 'captions-selector-label'), captions = player.captionsButton.querySelectorAll('input[type=radio]'); for (var _i3 = 0, _total = inEvents.length; _i3 < _total; _i3++) { player.captionsButton.addEventListener(inEvents[_i3], function () { (0, _dom.removeClass)(this.querySelector('.' + t.options.classPrefix + 'captions-selector'), t.options.classPrefix + 'offscreen'); }); } for (var _i4 = 0, _total2 = outEvents.length; _i4 < _total2; _i4++) { player.captionsButton.addEventListener(outEvents[_i4], function () { (0, _dom.addClass)(this.querySelector('.' + t.options.classPrefix + 'captions-selector'), t.options.classPrefix + 'offscreen'); }); } for (var _i5 = 0, _total3 = captions.length; _i5 < _total3; _i5++) { captions[_i5].addEventListener('click', function (e) { var keyboard = e.keyCode || e.which; player.setTrack(this.value, typeof keyboard !== 'undefined'); }); } for (var _i6 = 0, _total4 = labels.length; _i6 < _total4; _i6++) { labels[_i6].addEventListener('click', function (e) { var radio = (0, _dom.siblings)(this, function (el) { return el.tagName === 'INPUT'; })[0], event = (0, _general.createEvent)('click', radio); radio.dispatchEvent(event); e.preventDefault(); }); } player.captionsButton.addEventListener('keydown', function (e) { e.stopPropagation(); }); } for (var _i7 = 0, _total5 = inEvents.length; _i7 < _total5; _i7++) { player.chaptersButton.addEventListener(inEvents[_i7], function () { if (this.querySelector('.' + t.options.classPrefix + 'chapters-selector-list').children.length) { (0, _dom.removeClass)(this.querySelector('.' + t.options.classPrefix + 'chapters-selector'), t.options.classPrefix + 'offscreen'); } }); } for (var _i8 = 0, _total6 = outEvents.length; _i8 < _total6; _i8++) { player.chaptersButton.addEventListener(outEvents[_i8], function () { (0, _dom.addClass)(this.querySelector('.' + t.options.classPrefix + 'chapters-selector'), t.options.classPrefix + 'offscreen'); }); } player.chaptersButton.addEventListener('keydown', function (e) { e.stopPropagation(); }); if (!player.options.alwaysShowControls) { player.getElement(player.container).addEventListener('controlsshown', function () { (0, _dom.addClass)(player.getElement(player.container).querySelector('.' + t.options.classPrefix + 'captions-position'), t.options.classPrefix + 'captions-position-hover'); }); player.getElement(player.container).addEventListener('controlshidden', function () { if (!media.paused) { (0, _dom.removeClass)(player.getElement(player.container).querySelector('.' + t.options.classPrefix + 'captions-position'), t.options.classPrefix + 'captions-position-hover'); } }); } else { (0, _dom.addClass)(player.getElement(player.container).querySelector('.' + t.options.classPrefix + 'captions-position'), t.options.classPrefix + 'captions-position-hover'); } media.addEventListener('timeupdate', function () { player.displayCaptions(); }); if (player.options.slidesSelector !== '') { player.slidesContainer = _document2.default.querySelectorAll(player.options.slidesSelector); media.addEventListener('timeupdate', function () { player.displaySlides(); }); } }, cleartracks: function cleartracks(player) { if (player) { if (player.captions) { player.captions.remove(); } if (player.chapters) { player.chapters.remove(); } if (player.captionsText) { player.captionsText.remove(); } if (player.captionsButton) { player.captionsButton.remove(); } if (player.chaptersButton) { player.chaptersButton.remove(); } } }, rebuildtracks: function rebuildtracks() { var t = this; t.findTracks(); t.buildtracks(t, t.getElement(t.controls), t.getElement(t.layers), t.media); }, findTracks: function findTracks() { var t = this, tracktags = t.trackFiles === null ? t.node.querySelectorAll('track') : t.trackFiles, total = tracktags.length; t.tracks = []; for (var i = 0; i < total; i++) { var track = tracktags[i], srclang = track.getAttribute('srclang').toLowerCase() || '', trackId = t.id + '_track_' + i + '_' + track.getAttribute('kind') + '_' + srclang; t.tracks.push({ trackId: trackId, srclang: srclang, src: track.getAttribute('src'), kind: track.getAttribute('kind'), label: track.getAttribute('label') || '', entries: [], isLoaded: false }); } }, setTrack: function setTrack(trackId, setByKeyboard) { var t = this, radios = t.captionsButton.querySelectorAll('input[type="radio"]'), captions = t.captionsButton.querySelectorAll('.' + t.options.classPrefix + 'captions-selected'), track = t.captionsButton.querySelector('input[value="' + trackId + '"]'); for (var i = 0, total = radios.length; i < total; i++) { radios[i].checked = false; } for (var _i9 = 0, _total7 = captions.length; _i9 < _total7; _i9++) { (0, _dom.removeClass)(captions[_i9], t.options.classPrefix + 'captions-selected'); } track.checked = true; var labels = (0, _dom.siblings)(track, function (el) { return (0, _dom.hasClass)(el, t.options.classPrefix + 'captions-selector-label'); }); for (var _i10 = 0, _total8 = labels.length; _i10 < _total8; _i10++) { (0, _dom.addClass)(labels[_i10], t.options.classPrefix + 'captions-selected'); } if (trackId === 'none') { t.selectedTrack = null; (0, _dom.removeClass)(t.captionsButton, t.options.classPrefix + 'captions-enabled'); } else { for (var _i11 = 0, _total9 = t.tracks.length; _i11 < _total9; _i11++) { var _track = t.tracks[_i11]; if (_track.trackId === trackId) { if (t.selectedTrack === null) { (0, _dom.addClass)(t.captionsButton, t.options.classPrefix + 'captions-enabled'); } t.selectedTrack = _track; t.captions.setAttribute('lang', t.selectedTrack.srclang); t.displayCaptions(); break; } } } var event = (0, _general.createEvent)('captionschange', t.media); event.detail.caption = t.selectedTrack; t.media.dispatchEvent(event); if (!setByKeyboard) { setTimeout(function () { t.getElement(t.container).focus(); }, 500); } }, loadNextTrack: function loadNextTrack() { var t = this; t.trackToLoad++; if (t.trackToLoad < t.tracks.length) { t.isLoadingTrack = true; t.loadTrack(t.trackToLoad); } else { t.isLoadingTrack = false; t.checkForTracks(); } }, loadTrack: function loadTrack(index) { var t = this, track = t.tracks[index]; if (track !== undefined && (track.src !== undefined || track.src !== "")) { (0, _dom.ajax)(track.src, 'text', function (d) { track.entries = typeof d === 'string' && /' + ('') + ('') + ''; }, checkForTracks: function checkForTracks() { var t = this; var hasSubtitles = false; if (t.options.hideCaptionsButtonWhenEmpty) { for (var i = 0, total = t.tracks.length; i < total; i++) { var kind = t.tracks[i].kind; if ((kind === 'subtitles' || kind === 'captions') && t.tracks[i].isLoaded) { hasSubtitles = true; break; } } t.captionsButton.style.display = hasSubtitles ? '' : 'none'; t.setControlsSize(); } }, displayCaptions: function displayCaptions() { if (this.tracks === undefined) { return; } var t = this, track = t.selectedTrack, sanitize = function sanitize(html) { var div = _document2.default.createElement('div'); div.innerHTML = html; var scripts = div.getElementsByTagName('script'); var i = scripts.length; while (i--) { scripts[i].remove(); } var allElements = div.getElementsByTagName('*'); for (var _i12 = 0, n = allElements.length; _i12 < n; _i12++) { var attributesObj = allElements[_i12].attributes, attributes = Array.prototype.slice.call(attributesObj); for (var j = 0, total = attributes.length; j < total; j++) { if (attributes[j].name.startsWith('on') || attributes[j].value.startsWith('javascript')) { allElements[_i12].remove(); } else if (attributes[j].name === 'style') { allElements[_i12].removeAttribute(attributes[j].name); } } } return div.innerHTML; }; if (track !== null && track.isLoaded) { var i = t.searchTrackPosition(track.entries, t.media.currentTime); if (i > -1) { var text = track.entries[i].text; if (typeof t.options.captionTextPreprocessor === 'function') text = t.options.captionTextPreprocessor(text); t.captionsText.innerHTML = sanitize(text); t.captionsText.className = t.options.classPrefix + 'captions-text ' + (track.entries[i].identifier || ''); t.captions.style.display = ''; t.captions.style.height = '0px'; return; } t.captions.style.display = 'none'; } else { t.captions.style.display = 'none'; } }, setupSlides: function setupSlides(track) { var t = this; t.slides = track; t.slides.entries.imgs = [t.slides.entries.length]; t.showSlide(0); }, showSlide: function showSlide(index) { var _this = this; var t = this; if (t.tracks === undefined || t.slidesContainer === undefined) { return; } var url = t.slides.entries[index].text; var img = t.slides.entries[index].imgs; if (img === undefined || img.fadeIn === undefined) { var image = _document2.default.createElement('img'); image.src = url; image.addEventListener('load', function () { var self = _this, visible = (0, _dom.siblings)(self, function (el) { return visible(el); }); self.style.display = 'none'; t.slidesContainer.innerHTML += self.innerHTML; (0, _dom.fadeIn)(t.slidesContainer.querySelector(image)); for (var i = 0, total = visible.length; i < total; i++) { (0, _dom.fadeOut)(visible[i], 400); } }); t.slides.entries[index].imgs = img = image; } else if (!(0, _dom.visible)(img)) { var _visible = (0, _dom.siblings)(self, function (el) { return _visible(el); }); (0, _dom.fadeIn)(t.slidesContainer.querySelector(img)); for (var i = 0, total = _visible.length; i < total; i++) { (0, _dom.fadeOut)(_visible[i]); } } }, displaySlides: function displaySlides() { var t = this; if (this.slides === undefined) { return; } var slides = t.slides, i = t.searchTrackPosition(slides.entries, t.media.currentTime); if (i > -1) { t.showSlide(i); } }, drawChapters: function drawChapters(chapters) { var t = this, total = chapters.entries.length; if (!total) { return; } t.chaptersButton.querySelector('ul').innerHTML = ''; for (var i = 0; i < total; i++) { t.chaptersButton.querySelector('ul').innerHTML += '
    • ' + ('') + ('') + '
    • '; } var radios = t.chaptersButton.querySelectorAll('input[type="radio"]'), labels = t.chaptersButton.querySelectorAll('.' + t.options.classPrefix + 'chapters-selector-label'); for (var _i13 = 0, _total10 = radios.length; _i13 < _total10; _i13++) { radios[_i13].disabled = false; radios[_i13].checked = false; radios[_i13].addEventListener('click', function (e) { var self = this, listItems = t.chaptersButton.querySelectorAll('li'), label = (0, _dom.siblings)(self, function (el) { return (0, _dom.hasClass)(el, t.options.classPrefix + 'chapters-selector-label'); })[0]; self.checked = true; self.parentNode.setAttribute('aria-checked', true); (0, _dom.addClass)(label, t.options.classPrefix + 'chapters-selected'); (0, _dom.removeClass)(t.chaptersButton.querySelector('.' + t.options.classPrefix + 'chapters-selected'), t.options.classPrefix + 'chapters-selected'); for (var _i14 = 0, _total11 = listItems.length; _i14 < _total11; _i14++) { listItems[_i14].setAttribute('aria-checked', false); } var keyboard = e.keyCode || e.which; if (typeof keyboard === 'undefined') { setTimeout(function () { t.getElement(t.container).focus(); }, 500); } t.media.setCurrentTime(parseFloat(self.value)); if (t.media.paused) { t.media.play(); } }); } for (var _i15 = 0, _total12 = labels.length; _i15 < _total12; _i15++) { labels[_i15].addEventListener('click', function (e) { var radio = (0, _dom.siblings)(this, function (el) { return el.tagName === 'INPUT'; })[0], event = (0, _general.createEvent)('click', radio); radio.dispatchEvent(event); e.preventDefault(); }); } }, searchTrackPosition: function searchTrackPosition(tracks, currentTime) { var lo = 0, hi = tracks.length - 1, mid = void 0, start = void 0, stop = void 0; while (lo <= hi) { mid = lo + hi >> 1; start = tracks[mid].start; stop = tracks[mid].stop; if (currentTime >= start && currentTime < stop) { return mid; } else if (start < currentTime) { lo = mid + 1; } else if (start > currentTime) { hi = mid - 1; } } return -1; } }); _mejs2.default.language = { codes: { af: 'mejs.afrikaans', sq: 'mejs.albanian', ar: 'mejs.arabic', be: 'mejs.belarusian', bg: 'mejs.bulgarian', ca: 'mejs.catalan', zh: 'mejs.chinese', 'zh-cn': 'mejs.chinese-simplified', 'zh-tw': 'mejs.chines-traditional', hr: 'mejs.croatian', cs: 'mejs.czech', da: 'mejs.danish', nl: 'mejs.dutch', en: 'mejs.english', et: 'mejs.estonian', fl: 'mejs.filipino', fi: 'mejs.finnish', fr: 'mejs.french', gl: 'mejs.galician', de: 'mejs.german', el: 'mejs.greek', ht: 'mejs.haitian-creole', iw: 'mejs.hebrew', hi: 'mejs.hindi', hu: 'mejs.hungarian', is: 'mejs.icelandic', id: 'mejs.indonesian', ga: 'mejs.irish', it: 'mejs.italian', ja: 'mejs.japanese', ko: 'mejs.korean', lv: 'mejs.latvian', lt: 'mejs.lithuanian', mk: 'mejs.macedonian', ms: 'mejs.malay', mt: 'mejs.maltese', no: 'mejs.norwegian', fa: 'mejs.persian', pl: 'mejs.polish', pt: 'mejs.portuguese', ro: 'mejs.romanian', ru: 'mejs.russian', sr: 'mejs.serbian', sk: 'mejs.slovak', sl: 'mejs.slovenian', es: 'mejs.spanish', sw: 'mejs.swahili', sv: 'mejs.swedish', tl: 'mejs.tagalog', th: 'mejs.thai', tr: 'mejs.turkish', uk: 'mejs.ukrainian', vi: 'mejs.vietnamese', cy: 'mejs.welsh', yi: 'mejs.yiddish' } }; _mejs2.default.TrackFormatParser = { webvtt: { pattern: /^((?:[0-9]{1,2}:)?[0-9]{2}:[0-9]{2}([,.][0-9]{1,3})?) --\> ((?:[0-9]{1,2}:)?[0-9]{2}:[0-9]{2}([,.][0-9]{3})?)(.*)$/, parse: function parse(trackText) { var lines = trackText.split(/\r?\n/), entries = []; var timecode = void 0, text = void 0, identifier = void 0; for (var i = 0, total = lines.length; i < total; i++) { timecode = this.pattern.exec(lines[i]); if (timecode && i < lines.length) { if (i - 1 >= 0 && lines[i - 1] !== '') { identifier = lines[i - 1]; } i++; text = lines[i]; i++; while (lines[i] !== '' && i < lines.length) { text = text + '\n' + lines[i]; i++; } text = text === null ? '' : text.trim().replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig, "$1"); entries.push({ identifier: identifier, start: (0, _time.convertSMPTEtoSeconds)(timecode[1]) === 0 ? 0.200 : (0, _time.convertSMPTEtoSeconds)(timecode[1]), stop: (0, _time.convertSMPTEtoSeconds)(timecode[3]), text: text, settings: timecode[5] }); } identifier = ''; } return entries; } }, dfxp: { parse: function parse(trackText) { var trackElem = _document2.default.adoptNode(new DOMParser().parseFromString(trackText, 'application/xml').documentElement), container = trackElem.querySelector('div'), lines = container.querySelectorAll('p'), styleNode = _document2.default.getElementById(container.getAttribute('style')), entries = []; var styles = void 0; if (styleNode) { styleNode.removeAttribute('id'); var attributes = styleNode.attributes; if (attributes.length) { styles = {}; for (var i = 0, total = attributes.length; i < total; i++) { styles[attributes[i].name.split(":")[1]] = attributes[i].value; } } } for (var _i16 = 0, _total13 = lines.length; _i16 < _total13; _i16++) { var style = void 0, _temp = { start: null, stop: null, style: null, text: null }; if (lines[_i16].getAttribute('begin')) { _temp.start = (0, _time.convertSMPTEtoSeconds)(lines[_i16].getAttribute('begin')); } if (!_temp.start && lines[_i16 - 1].getAttribute('end')) { _temp.start = (0, _time.convertSMPTEtoSeconds)(lines[_i16 - 1].getAttribute('end')); } if (lines[_i16].getAttribute('end')) { _temp.stop = (0, _time.convertSMPTEtoSeconds)(lines[_i16].getAttribute('end')); } if (!_temp.stop && lines[_i16 + 1].getAttribute('begin')) { _temp.stop = (0, _time.convertSMPTEtoSeconds)(lines[_i16 + 1].getAttribute('begin')); } if (styles) { style = ''; for (var _style in styles) { style += _style + ': ' + styles[_style] + ';'; } } if (style) { _temp.style = style; } if (_temp.start === 0) { _temp.start = 0.200; } _temp.text = lines[_i16].innerHTML.trim().replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_| !:, .; ]*[-A-Z0-9+&@#\/%=~_|])/ig, "$1"); entries.push(_temp); } return entries; } } }; },{"16":16,"2":2,"26":26,"27":27,"30":30,"5":5,"7":7}],14:[function(_dereq_,module,exports){ 'use strict'; var _document = _dereq_(2); var _document2 = _interopRequireDefault(_document); var _player = _dereq_(16); var _player2 = _interopRequireDefault(_player); var _i18n = _dereq_(5); var _i18n2 = _interopRequireDefault(_i18n); var _constants = _dereq_(25); var _general = _dereq_(27); var _dom = _dereq_(26); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } Object.assign(_player.config, { muteText: null, unmuteText: null, allyVolumeControlText: null, hideVolumeOnTouchDevices: true, audioVolume: 'horizontal', videoVolume: 'vertical', startVolume: 0.8 }); Object.assign(_player2.default.prototype, { buildvolume: function buildvolume(player, controls, layers, media) { if ((_constants.IS_ANDROID || _constants.IS_IOS) && this.options.hideVolumeOnTouchDevices) { return; } var t = this, mode = t.isVideo ? t.options.videoVolume : t.options.audioVolume, muteText = (0, _general.isString)(t.options.muteText) ? t.options.muteText : _i18n2.default.t('mejs.mute'), unmuteText = (0, _general.isString)(t.options.unmuteText) ? t.options.unmuteText : _i18n2.default.t('mejs.unmute'), volumeControlText = (0, _general.isString)(t.options.allyVolumeControlText) ? t.options.allyVolumeControlText : _i18n2.default.t('mejs.volume-help-text'), mute = _document2.default.createElement('div'); mute.className = t.options.classPrefix + 'button ' + t.options.classPrefix + 'volume-button ' + t.options.classPrefix + 'mute'; mute.innerHTML = mode === 'horizontal' ? '' : '' + ('' + ('' + volumeControlText + '') + ('
      ') + ('
      ') + ('
      ') + '
      ' + '
      '; t.addControlElement(mute, 'volume'); t.options.keyActions.push({ keys: [38], action: function action(player) { var volumeSlider = player.getElement(player.container).querySelector('.' + t.options.classPrefix + 'volume-slider'); if (volumeSlider && volumeSlider.matches(':focus')) { volumeSlider.style.display = 'block'; } if (player.isVideo) { player.showControls(); player.startControlsTimer(); } var newVolume = Math.min(player.volume + 0.1, 1); player.setVolume(newVolume); if (newVolume > 0) { player.setMuted(false); } } }, { keys: [40], action: function action(player) { var volumeSlider = player.getElement(player.container).querySelector('.' + t.options.classPrefix + 'volume-slider'); if (volumeSlider) { volumeSlider.style.display = 'block'; } if (player.isVideo) { player.showControls(); player.startControlsTimer(); } var newVolume = Math.max(player.volume - 0.1, 0); player.setVolume(newVolume); if (newVolume <= 0.1) { player.setMuted(true); } } }, { keys: [77], action: function action(player) { var volumeSlider = player.getElement(player.container).querySelector('.' + t.options.classPrefix + 'volume-slider'); if (volumeSlider) { volumeSlider.style.display = 'block'; } if (player.isVideo) { player.showControls(); player.startControlsTimer(); } if (player.media.muted) { player.setMuted(false); } else { player.setMuted(true); } } }); if (mode === 'horizontal') { var anchor = _document2.default.createElement('a'); anchor.className = t.options.classPrefix + 'horizontal-volume-slider'; anchor.href = 'javascript:void(0);'; anchor.setAttribute('aria-label', _i18n2.default.t('mejs.volume-slider')); anchor.setAttribute('aria-valuemin', 0); anchor.setAttribute('aria-valuemax', 100); anchor.setAttribute('aria-valuenow', 100); anchor.setAttribute('role', 'slider'); anchor.innerHTML += '' + volumeControlText + '' + ('
      ') + ('
      ') + ('
      ') + '
      '; mute.parentNode.insertBefore(anchor, mute.nextSibling); } var mouseIsDown = false, mouseIsOver = false, modified = false, updateVolumeSlider = function updateVolumeSlider() { var volume = Math.floor(media.volume * 100); volumeSlider.setAttribute('aria-valuenow', volume); volumeSlider.setAttribute('aria-valuetext', volume + '%'); }; var volumeSlider = mode === 'vertical' ? t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'volume-slider') : t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'horizontal-volume-slider'), volumeTotal = mode === 'vertical' ? t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'volume-total') : t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'horizontal-volume-total'), volumeCurrent = mode === 'vertical' ? t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'volume-current') : t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'horizontal-volume-current'), volumeHandle = mode === 'vertical' ? t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'volume-handle') : t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'horizontal-volume-handle'), positionVolumeHandle = function positionVolumeHandle(volume) { if (volume === null || isNaN(volume) || volume === undefined) { return; } volume = Math.max(0, volume); volume = Math.min(volume, 1); if (volume === 0) { (0, _dom.removeClass)(mute, t.options.classPrefix + 'mute'); (0, _dom.addClass)(mute, t.options.classPrefix + 'unmute'); var button = mute.firstElementChild; button.setAttribute('title', unmuteText); button.setAttribute('aria-label', unmuteText); } else { (0, _dom.removeClass)(mute, t.options.classPrefix + 'unmute'); (0, _dom.addClass)(mute, t.options.classPrefix + 'mute'); var _button = mute.firstElementChild; _button.setAttribute('title', muteText); _button.setAttribute('aria-label', muteText); } var volumePercentage = volume * 100 + '%', volumeStyles = getComputedStyle(volumeHandle); if (mode === 'vertical') { volumeCurrent.style.bottom = 0; volumeCurrent.style.height = volumePercentage; volumeHandle.style.bottom = volumePercentage; volumeHandle.style.marginBottom = -parseFloat(volumeStyles.height) / 2 + 'px'; } else { volumeCurrent.style.left = 0; volumeCurrent.style.width = volumePercentage; volumeHandle.style.left = volumePercentage; volumeHandle.style.marginLeft = -parseFloat(volumeStyles.width) / 2 + 'px'; } }, handleVolumeMove = function handleVolumeMove(e) { var totalOffset = (0, _dom.offset)(volumeTotal), volumeStyles = getComputedStyle(volumeTotal); modified = true; var volume = null; if (mode === 'vertical') { var railHeight = parseFloat(volumeStyles.height), newY = e.pageY - totalOffset.top; volume = (railHeight - newY) / railHeight; if (totalOffset.top === 0 || totalOffset.left === 0) { return; } } else { var railWidth = parseFloat(volumeStyles.width), newX = e.pageX - totalOffset.left; volume = newX / railWidth; } volume = Math.max(0, volume); volume = Math.min(volume, 1); positionVolumeHandle(volume); t.setMuted(volume === 0); t.setVolume(volume); e.preventDefault(); e.stopPropagation(); }, toggleMute = function toggleMute() { if (t.muted) { positionVolumeHandle(0); (0, _dom.removeClass)(mute, t.options.classPrefix + 'mute'); (0, _dom.addClass)(mute, t.options.classPrefix + 'unmute'); } else { positionVolumeHandle(media.volume); (0, _dom.removeClass)(mute, t.options.classPrefix + 'unmute'); (0, _dom.addClass)(mute, t.options.classPrefix + 'mute'); } }; player.getElement(player.container).addEventListener('keydown', function (e) { var hasFocus = !!e.target.closest('.' + t.options.classPrefix + 'container'); if (!hasFocus && mode === 'vertical') { volumeSlider.style.display = 'none'; } }); mute.addEventListener('mouseenter', function (e) { if (e.target === mute) { volumeSlider.style.display = 'block'; mouseIsOver = true; e.preventDefault(); e.stopPropagation(); } }); mute.addEventListener('focusin', function () { volumeSlider.style.display = 'block'; mouseIsOver = true; }); mute.addEventListener('focusout', function (e) { if ((!e.relatedTarget || e.relatedTarget && !e.relatedTarget.matches('.' + t.options.classPrefix + 'volume-slider')) && mode === 'vertical') { volumeSlider.style.display = 'none'; } }); mute.addEventListener('mouseleave', function () { mouseIsOver = false; if (!mouseIsDown && mode === 'vertical') { volumeSlider.style.display = 'none'; } }); mute.addEventListener('focusout', function () { mouseIsOver = false; }); mute.addEventListener('keydown', function (e) { if (t.options.enableKeyboard && t.options.keyActions.length) { var keyCode = e.which || e.keyCode || 0, volume = media.volume; switch (keyCode) { case 38: volume = Math.min(volume + 0.1, 1); break; case 40: volume = Math.max(0, volume - 0.1); break; default: return true; } mouseIsDown = false; positionVolumeHandle(volume); media.setVolume(volume); e.preventDefault(); e.stopPropagation(); } }); mute.querySelector('button').addEventListener('click', function () { media.setMuted(!media.muted); var event = (0, _general.createEvent)('volumechange', media); media.dispatchEvent(event); }); volumeSlider.addEventListener('dragstart', function () { return false; }); volumeSlider.addEventListener('mouseover', function () { mouseIsOver = true; }); volumeSlider.addEventListener('focusin', function () { volumeSlider.style.display = 'block'; mouseIsOver = true; }); volumeSlider.addEventListener('focusout', function () { mouseIsOver = false; if (!mouseIsDown && mode === 'vertical') { volumeSlider.style.display = 'none'; } }); volumeSlider.addEventListener('mousedown', function (e) { handleVolumeMove(e); t.globalBind('mousemove.vol', function (event) { var target = event.target; if (mouseIsDown && (target === volumeSlider || target.closest(mode === 'vertical' ? '.' + t.options.classPrefix + 'volume-slider' : '.' + t.options.classPrefix + 'horizontal-volume-slider'))) { handleVolumeMove(event); } }); t.globalBind('mouseup.vol', function () { mouseIsDown = false; if (!mouseIsOver && mode === 'vertical') { volumeSlider.style.display = 'none'; } }); mouseIsDown = true; e.preventDefault(); e.stopPropagation(); }); media.addEventListener('volumechange', function (e) { if (!mouseIsDown) { toggleMute(); } updateVolumeSlider(e); }); var rendered = false; media.addEventListener('rendererready', function () { if (!modified) { setTimeout(function () { rendered = true; if (player.options.startVolume === 0 || media.originalNode.muted) { media.setMuted(true); } media.setVolume(player.options.startVolume); t.setControlsSize(); }, 250); } }); media.addEventListener('loadedmetadata', function () { setTimeout(function () { if (!modified && !rendered) { if (player.options.startVolume === 0 || media.originalNode.muted) { media.setMuted(true); } if (player.options.startVolume === 0) { player.options.startVolume = 0; } media.setVolume(player.options.startVolume); t.setControlsSize(); } rendered = false; }, 250); }); if (player.options.startVolume === 0 || media.originalNode.muted) { media.setMuted(true); if (player.options.startVolume === 0) { player.options.startVolume = 0; } toggleMute(); } t.getElement(t.container).addEventListener('controlsresize', function () { toggleMute(); }); } }); },{"16":16,"2":2,"25":25,"26":26,"27":27,"5":5}],15:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var EN = exports.EN = { 'mejs.plural-form': 1, 'mejs.download-file': 'Download File', 'mejs.install-flash': 'You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https://get.adobe.com/flashplayer/', 'mejs.fullscreen': 'Fullscreen', 'mejs.play': 'Play', 'mejs.pause': 'Pause', 'mejs.time-slider': 'Time Slider', 'mejs.time-help-text': 'Use Left/Right Arrow keys to advance one second, Up/Down arrows to advance ten seconds.', 'mejs.live-broadcast': 'Live Broadcast', 'mejs.volume-help-text': 'Use Up/Down Arrow keys to increase or decrease volume.', 'mejs.unmute': 'Unmute', 'mejs.mute': 'Mute', 'mejs.volume-slider': 'Volume Slider', 'mejs.video-player': 'Video Player', 'mejs.audio-player': 'Audio Player', 'mejs.captions-subtitles': 'Captions/Subtitles', 'mejs.captions-chapters': 'Chapters', 'mejs.none': 'None', 'mejs.afrikaans': 'Afrikaans', 'mejs.albanian': 'Albanian', 'mejs.arabic': 'Arabic', 'mejs.belarusian': 'Belarusian', 'mejs.bulgarian': 'Bulgarian', 'mejs.catalan': 'Catalan', 'mejs.chinese': 'Chinese', 'mejs.chinese-simplified': 'Chinese (Simplified)', 'mejs.chinese-traditional': 'Chinese (Traditional)', 'mejs.croatian': 'Croatian', 'mejs.czech': 'Czech', 'mejs.danish': 'Danish', 'mejs.dutch': 'Dutch', 'mejs.english': 'English', 'mejs.estonian': 'Estonian', 'mejs.filipino': 'Filipino', 'mejs.finnish': 'Finnish', 'mejs.french': 'French', 'mejs.galician': 'Galician', 'mejs.german': 'German', 'mejs.greek': 'Greek', 'mejs.haitian-creole': 'Haitian Creole', 'mejs.hebrew': 'Hebrew', 'mejs.hindi': 'Hindi', 'mejs.hungarian': 'Hungarian', 'mejs.icelandic': 'Icelandic', 'mejs.indonesian': 'Indonesian', 'mejs.irish': 'Irish', 'mejs.italian': 'Italian', 'mejs.japanese': 'Japanese', 'mejs.korean': 'Korean', 'mejs.latvian': 'Latvian', 'mejs.lithuanian': 'Lithuanian', 'mejs.macedonian': 'Macedonian', 'mejs.malay': 'Malay', 'mejs.maltese': 'Maltese', 'mejs.norwegian': 'Norwegian', 'mejs.persian': 'Persian', 'mejs.polish': 'Polish', 'mejs.portuguese': 'Portuguese', 'mejs.romanian': 'Romanian', 'mejs.russian': 'Russian', 'mejs.serbian': 'Serbian', 'mejs.slovak': 'Slovak', 'mejs.slovenian': 'Slovenian', 'mejs.spanish': 'Spanish', 'mejs.swahili': 'Swahili', 'mejs.swedish': 'Swedish', 'mejs.tagalog': 'Tagalog', 'mejs.thai': 'Thai', 'mejs.turkish': 'Turkish', 'mejs.ukrainian': 'Ukrainian', 'mejs.vietnamese': 'Vietnamese', 'mejs.welsh': 'Welsh', 'mejs.yiddish': 'Yiddish' }; },{}],16:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.config = undefined; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _window = _dereq_(3); var _window2 = _interopRequireDefault(_window); var _document = _dereq_(2); var _document2 = _interopRequireDefault(_document); var _mejs = _dereq_(7); var _mejs2 = _interopRequireDefault(_mejs); var _mediaelement = _dereq_(6); var _mediaelement2 = _interopRequireDefault(_mediaelement); var _default = _dereq_(17); var _default2 = _interopRequireDefault(_default); var _i18n = _dereq_(5); var _i18n2 = _interopRequireDefault(_i18n); var _constants = _dereq_(25); var _general = _dereq_(27); var _time = _dereq_(30); var _media = _dereq_(28); var _dom = _dereq_(26); var dom = _interopRequireWildcard(_dom); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } _mejs2.default.mepIndex = 0; _mejs2.default.players = {}; var config = exports.config = { poster: '', showPosterWhenEnded: false, showPosterWhenPaused: false, defaultVideoWidth: 480, defaultVideoHeight: 270, videoWidth: -1, videoHeight: -1, defaultAudioWidth: 400, defaultAudioHeight: 40, defaultSeekBackwardInterval: function defaultSeekBackwardInterval(media) { return media.getDuration() * 0.05; }, defaultSeekForwardInterval: function defaultSeekForwardInterval(media) { return media.getDuration() * 0.05; }, setDimensions: true, audioWidth: -1, audioHeight: -1, loop: false, autoRewind: true, enableAutosize: true, timeFormat: '', alwaysShowHours: false, showTimecodeFrameCount: false, framesPerSecond: 25, alwaysShowControls: false, hideVideoControlsOnLoad: false, hideVideoControlsOnPause: false, clickToPlayPause: true, controlsTimeoutDefault: 1500, controlsTimeoutMouseEnter: 2500, controlsTimeoutMouseLeave: 1000, iPadUseNativeControls: false, iPhoneUseNativeControls: false, AndroidUseNativeControls: false, features: ['playpause', 'current', 'progress', 'duration', 'tracks', 'volume', 'fullscreen'], useDefaultControls: false, isVideo: true, stretching: 'auto', classPrefix: 'mejs__', enableKeyboard: true, pauseOtherPlayers: true, secondsDecimalLength: 0, customError: null, keyActions: [{ keys: [32, 179], action: function action(player) { if (!_constants.IS_FIREFOX) { if (player.paused || player.ended) { player.play(); } else { player.pause(); } } } }] }; _mejs2.default.MepDefaults = config; var MediaElementPlayer = function () { function MediaElementPlayer(node, o) { _classCallCheck(this, MediaElementPlayer); var t = this, element = typeof node === 'string' ? _document2.default.getElementById(node) : node; if (!(t instanceof MediaElementPlayer)) { return new MediaElementPlayer(element, o); } t.node = t.media = element; if (!t.node) { return; } if (t.media.player) { return t.media.player; } t.hasFocus = false; t.controlsAreVisible = true; t.controlsEnabled = true; t.controlsTimer = null; t.currentMediaTime = 0; t.proxy = null; if (o === undefined) { var options = t.node.getAttribute('data-mejsoptions'); o = options ? JSON.parse(options) : {}; } t.options = Object.assign({}, config, o); if (t.options.loop && !t.media.getAttribute('loop')) { t.media.loop = true; t.node.loop = true; } else if (t.media.loop) { t.options.loop = true; } if (!t.options.timeFormat) { t.options.timeFormat = 'mm:ss'; if (t.options.alwaysShowHours) { t.options.timeFormat = 'hh:mm:ss'; } if (t.options.showTimecodeFrameCount) { t.options.timeFormat += ':ff'; } } (0, _time.calculateTimeFormat)(0, t.options, t.options.framesPerSecond || 25); t.id = 'mep_' + _mejs2.default.mepIndex++; _mejs2.default.players[t.id] = t; t.init(); return t; } _createClass(MediaElementPlayer, [{ key: 'getElement', value: function getElement(element) { return element; } }, { key: 'init', value: function init() { var t = this, playerOptions = Object.assign({}, t.options, { success: function success(media, domNode) { t._meReady(media, domNode); }, error: function error(e) { t._handleError(e); } }), tagName = t.node.tagName.toLowerCase(); t.isDynamic = tagName !== 'audio' && tagName !== 'video' && tagName !== 'iframe'; t.isVideo = t.isDynamic ? t.options.isVideo : tagName !== 'audio' && t.options.isVideo; t.mediaFiles = null; t.trackFiles = null; if (_constants.IS_IPAD && t.options.iPadUseNativeControls || _constants.IS_IPHONE && t.options.iPhoneUseNativeControls) { t.node.setAttribute('controls', true); if (_constants.IS_IPAD && t.node.getAttribute('autoplay')) { t.play(); } } else if ((t.isVideo || !t.isVideo && (t.options.features.length || t.options.useDefaultControls)) && !(_constants.IS_ANDROID && t.options.AndroidUseNativeControls)) { t.node.removeAttribute('controls'); var videoPlayerTitle = t.isVideo ? _i18n2.default.t('mejs.video-player') : _i18n2.default.t('mejs.audio-player'); var offscreen = _document2.default.createElement('span'); offscreen.className = t.options.classPrefix + 'offscreen'; offscreen.innerText = videoPlayerTitle; t.media.parentNode.insertBefore(offscreen, t.media); t.container = _document2.default.createElement('div'); t.getElement(t.container).id = t.id; t.getElement(t.container).className = t.options.classPrefix + 'container ' + t.options.classPrefix + 'container-keyboard-inactive ' + t.media.className; t.getElement(t.container).tabIndex = 0; t.getElement(t.container).setAttribute('role', 'application'); t.getElement(t.container).setAttribute('aria-label', videoPlayerTitle); t.getElement(t.container).innerHTML = '
      ' + ('
      ') + ('
      ') + ('
      ') + '
      '; t.getElement(t.container).addEventListener('focus', function (e) { if (!t.controlsAreVisible && !t.hasFocus && t.controlsEnabled) { t.showControls(true); var btnSelector = (0, _general.isNodeAfter)(e.relatedTarget, t.getElement(t.container)) ? '.' + t.options.classPrefix + 'controls .' + t.options.classPrefix + 'button:last-child > button' : '.' + t.options.classPrefix + 'playpause-button > button', button = t.getElement(t.container).querySelector(btnSelector); button.focus(); } }); t.node.parentNode.insertBefore(t.getElement(t.container), t.node); if (!t.options.features.length && !t.options.useDefaultControls) { t.getElement(t.container).style.background = 'transparent'; t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'controls').style.display = 'none'; } if (t.isVideo && t.options.stretching === 'fill' && !dom.hasClass(t.getElement(t.container).parentNode, t.options.classPrefix + 'fill-container')) { t.outerContainer = t.media.parentNode; var wrapper = _document2.default.createElement('div'); wrapper.className = t.options.classPrefix + 'fill-container'; t.getElement(t.container).parentNode.insertBefore(wrapper, t.getElement(t.container)); wrapper.appendChild(t.getElement(t.container)); } if (_constants.IS_ANDROID) { dom.addClass(t.getElement(t.container), t.options.classPrefix + 'android'); } if (_constants.IS_IOS) { dom.addClass(t.getElement(t.container), t.options.classPrefix + 'ios'); } if (_constants.IS_IPAD) { dom.addClass(t.getElement(t.container), t.options.classPrefix + 'ipad'); } if (_constants.IS_IPHONE) { dom.addClass(t.getElement(t.container), t.options.classPrefix + 'iphone'); } dom.addClass(t.getElement(t.container), t.isVideo ? t.options.classPrefix + 'video' : t.options.classPrefix + 'audio'); t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'mediaelement').appendChild(t.node); t.media.player = t; t.controls = t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'controls'); t.layers = t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'layers'); var tagType = t.isVideo ? 'video' : 'audio', capsTagName = tagType.substring(0, 1).toUpperCase() + tagType.substring(1); if (t.options[tagType + 'Width'] > 0 || t.options[tagType + 'Width'].toString().indexOf('%') > -1) { t.width = t.options[tagType + 'Width']; } else if (t.node.style.width !== '' && t.node.style.width !== null) { t.width = t.node.style.width; } else if (t.node.getAttribute('width')) { t.width = t.node.getAttribute('width'); } else { t.width = t.options['default' + capsTagName + 'Width']; } if (t.options[tagType + 'Height'] > 0 || t.options[tagType + 'Height'].toString().indexOf('%') > -1) { t.height = t.options[tagType + 'Height']; } else if (t.node.style.height !== '' && t.node.style.height !== null) { t.height = t.node.style.height; } else if (t.node.getAttribute('height')) { t.height = t.node.getAttribute('height'); } else { t.height = t.options['default' + capsTagName + 'Height']; } t.initialAspectRatio = t.height >= t.width ? t.width / t.height : t.height / t.width; t.setPlayerSize(t.width, t.height); playerOptions.pluginWidth = t.width; playerOptions.pluginHeight = t.height; } else if (!t.isVideo && !t.options.features.length && !t.options.useDefaultControls) { t.node.style.display = 'none'; } _mejs2.default.MepDefaults = playerOptions; new _mediaelement2.default(t.media, playerOptions, t.mediaFiles); if (t.getElement(t.container) !== undefined && t.options.features.length && t.controlsAreVisible && !t.options.hideVideoControlsOnLoad) { var event = (0, _general.createEvent)('controlsshown', t.getElement(t.container)); t.getElement(t.container).dispatchEvent(event); } } }, { key: 'showControls', value: function showControls(doAnimation) { var t = this; doAnimation = doAnimation === undefined || doAnimation; if (t.controlsAreVisible || !t.isVideo) { return; } if (doAnimation) { (function () { dom.fadeIn(t.getElement(t.controls), 200, function () { dom.removeClass(t.getElement(t.controls), t.options.classPrefix + 'offscreen'); var event = (0, _general.createEvent)('controlsshown', t.getElement(t.container)); t.getElement(t.container).dispatchEvent(event); }); var controls = t.getElement(t.container).querySelectorAll('.' + t.options.classPrefix + 'control'); var _loop = function _loop(i, total) { dom.fadeIn(controls[i], 200, function () { dom.removeClass(controls[i], t.options.classPrefix + 'offscreen'); }); }; for (var i = 0, total = controls.length; i < total; i++) { _loop(i, total); } })(); } else { dom.removeClass(t.getElement(t.controls), t.options.classPrefix + 'offscreen'); t.getElement(t.controls).style.display = ''; t.getElement(t.controls).style.opacity = 1; var controls = t.getElement(t.container).querySelectorAll('.' + t.options.classPrefix + 'control'); for (var i = 0, total = controls.length; i < total; i++) { dom.removeClass(controls[i], t.options.classPrefix + 'offscreen'); controls[i].style.display = ''; } var event = (0, _general.createEvent)('controlsshown', t.getElement(t.container)); t.getElement(t.container).dispatchEvent(event); } t.controlsAreVisible = true; t.setControlsSize(); } }, { key: 'hideControls', value: function hideControls(doAnimation, forceHide) { var t = this; doAnimation = doAnimation === undefined || doAnimation; if (forceHide !== true && (!t.controlsAreVisible || t.options.alwaysShowControls || t.paused && t.readyState === 4 && (!t.options.hideVideoControlsOnLoad && t.currentTime <= 0 || !t.options.hideVideoControlsOnPause && t.currentTime > 0) || t.isVideo && !t.options.hideVideoControlsOnLoad && !t.readyState || t.ended)) { return; } if (doAnimation) { (function () { dom.fadeOut(t.getElement(t.controls), 200, function () { dom.addClass(t.getElement(t.controls), t.options.classPrefix + 'offscreen'); t.getElement(t.controls).style.display = ''; var event = (0, _general.createEvent)('controlshidden', t.getElement(t.container)); t.getElement(t.container).dispatchEvent(event); }); var controls = t.getElement(t.container).querySelectorAll('.' + t.options.classPrefix + 'control'); var _loop2 = function _loop2(i, total) { dom.fadeOut(controls[i], 200, function () { dom.addClass(controls[i], t.options.classPrefix + 'offscreen'); controls[i].style.display = ''; }); }; for (var i = 0, total = controls.length; i < total; i++) { _loop2(i, total); } })(); } else { dom.addClass(t.getElement(t.controls), t.options.classPrefix + 'offscreen'); t.getElement(t.controls).style.display = ''; t.getElement(t.controls).style.opacity = 0; var controls = t.getElement(t.container).querySelectorAll('.' + t.options.classPrefix + 'control'); for (var i = 0, total = controls.length; i < total; i++) { dom.addClass(controls[i], t.options.classPrefix + 'offscreen'); controls[i].style.display = ''; } var event = (0, _general.createEvent)('controlshidden', t.getElement(t.container)); t.getElement(t.container).dispatchEvent(event); } t.controlsAreVisible = false; } }, { key: 'startControlsTimer', value: function startControlsTimer(timeout) { var t = this; timeout = typeof timeout !== 'undefined' ? timeout : t.options.controlsTimeoutDefault; t.killControlsTimer('start'); t.controlsTimer = setTimeout(function () { t.hideControls(); t.killControlsTimer('hide'); }, timeout); } }, { key: 'killControlsTimer', value: function killControlsTimer() { var t = this; if (t.controlsTimer !== null) { clearTimeout(t.controlsTimer); delete t.controlsTimer; t.controlsTimer = null; } } }, { key: 'disableControls', value: function disableControls() { var t = this; t.killControlsTimer(); t.controlsEnabled = false; t.hideControls(false, true); } }, { key: 'enableControls', value: function enableControls() { var t = this; t.controlsEnabled = true; t.showControls(false); } }, { key: '_setDefaultPlayer', value: function _setDefaultPlayer() { var t = this; if (t.proxy) { t.proxy.pause(); } t.proxy = new _default2.default(t); t.media.addEventListener('loadedmetadata', function () { if (t.getCurrentTime() > 0 && t.currentMediaTime > 0) { t.setCurrentTime(t.currentMediaTime); if (!_constants.IS_IOS && !_constants.IS_ANDROID) { t.play(); } } }); } }, { key: '_meReady', value: function _meReady(media, domNode) { var t = this, autoplayAttr = domNode.getAttribute('autoplay'), autoplay = !(autoplayAttr === undefined || autoplayAttr === null || autoplayAttr === 'false'), isNative = media.rendererName !== null && /(native|html5)/i.test(media.rendererName); if (t.getElement(t.controls)) { t.enableControls(); } if (t.getElement(t.container) && t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'overlay-play')) { t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'overlay-play').style.display = ''; } if (t.created) { return; } t.created = true; t.media = media; t.domNode = domNode; if (!(_constants.IS_ANDROID && t.options.AndroidUseNativeControls) && !(_constants.IS_IPAD && t.options.iPadUseNativeControls) && !(_constants.IS_IPHONE && t.options.iPhoneUseNativeControls)) { if (!t.isVideo && !t.options.features.length && !t.options.useDefaultControls) { if (autoplay && isNative) { t.play(); } if (t.options.success) { if (typeof t.options.success === 'string') { _window2.default[t.options.success](t.media, t.domNode, t); } else { t.options.success(t.media, t.domNode, t); } } return; } t.featurePosition = {}; t._setDefaultPlayer(); t.buildposter(t, t.getElement(t.controls), t.getElement(t.layers), t.media); t.buildkeyboard(t, t.getElement(t.controls), t.getElement(t.layers), t.media); t.buildoverlays(t, t.getElement(t.controls), t.getElement(t.layers), t.media); if (t.options.useDefaultControls) { var defaultControls = ['playpause', 'current', 'progress', 'duration', 'tracks', 'volume', 'fullscreen']; t.options.features = defaultControls.concat(t.options.features.filter(function (item) { return defaultControls.indexOf(item) === -1; })); } t.buildfeatures(t, t.getElement(t.controls), t.getElement(t.layers), t.media); var event = (0, _general.createEvent)('controlsready', t.getElement(t.container)); t.getElement(t.container).dispatchEvent(event); t.setPlayerSize(t.width, t.height); t.setControlsSize(); if (t.isVideo) { t.clickToPlayPauseCallback = function () { if (t.options.clickToPlayPause) { var button = t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'overlay-button'), pressed = button.getAttribute('aria-pressed'); if (t.paused && pressed) { t.pause(); } else if (t.paused) { t.play(); } else { t.pause(); } button.setAttribute('aria-pressed', !pressed); t.getElement(t.container).focus(); } }; t.createIframeLayer(); t.media.addEventListener('click', t.clickToPlayPauseCallback); if ((_constants.IS_ANDROID || _constants.IS_IOS) && !t.options.alwaysShowControls) { t.node.addEventListener('touchstart', function () { if (t.controlsAreVisible) { t.hideControls(false); } else { if (t.controlsEnabled) { t.showControls(false); } } }, _constants.SUPPORT_PASSIVE_EVENT ? { passive: true } : false); } else { t.getElement(t.container).addEventListener('mouseenter', function () { if (t.controlsEnabled) { if (!t.options.alwaysShowControls) { t.killControlsTimer('enter'); t.showControls(); t.startControlsTimer(t.options.controlsTimeoutMouseEnter); } } }); t.getElement(t.container).addEventListener('mousemove', function () { if (t.controlsEnabled) { if (!t.controlsAreVisible) { t.showControls(); } if (!t.options.alwaysShowControls) { t.startControlsTimer(t.options.controlsTimeoutMouseEnter); } } }); t.getElement(t.container).addEventListener('mouseleave', function () { if (t.controlsEnabled) { if (!t.paused && !t.options.alwaysShowControls) { t.startControlsTimer(t.options.controlsTimeoutMouseLeave); } } }); } if (t.options.hideVideoControlsOnLoad) { t.hideControls(false); } if (t.options.enableAutosize) { t.media.addEventListener('loadedmetadata', function (e) { var target = e !== undefined ? e.detail.target || e.target : t.media; if (t.options.videoHeight <= 0 && !t.domNode.getAttribute('height') && !t.domNode.style.height && target !== null && !isNaN(target.videoHeight)) { t.setPlayerSize(target.videoWidth, target.videoHeight); t.setControlsSize(); t.media.setSize(target.videoWidth, target.videoHeight); } }); } } t.media.addEventListener('play', function () { t.hasFocus = true; for (var playerIndex in _mejs2.default.players) { if (_mejs2.default.players.hasOwnProperty(playerIndex)) { var p = _mejs2.default.players[playerIndex]; if (p.id !== t.id && t.options.pauseOtherPlayers && !p.paused && !p.ended && p.options.ignorePauseOtherPlayersOption !== true) { p.pause(); p.hasFocus = false; } } } if (!(_constants.IS_ANDROID || _constants.IS_IOS) && !t.options.alwaysShowControls && t.isVideo) { t.hideControls(); } }); t.media.addEventListener('ended', function () { if (t.options.autoRewind) { try { t.setCurrentTime(0); setTimeout(function () { var loadingElement = t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'overlay-loading'); if (loadingElement && loadingElement.parentNode) { loadingElement.parentNode.style.display = 'none'; } }, 20); } catch (exp) { } } if (typeof t.media.renderer.stop === 'function') { t.media.renderer.stop(); } else { t.pause(); } if (t.setProgressRail) { t.setProgressRail(); } if (t.setCurrentRail) { t.setCurrentRail(); } if (t.options.loop) { t.play(); } else if (!t.options.alwaysShowControls && t.controlsEnabled) { t.showControls(); } }); t.media.addEventListener('loadedmetadata', function () { (0, _time.calculateTimeFormat)(t.getDuration(), t.options, t.options.framesPerSecond || 25); if (t.updateDuration) { t.updateDuration(); } if (t.updateCurrent) { t.updateCurrent(); } if (!t.isFullScreen) { t.setPlayerSize(t.width, t.height); t.setControlsSize(); } }); var duration = null; t.media.addEventListener('timeupdate', function () { if (!isNaN(t.getDuration()) && duration !== t.getDuration()) { duration = t.getDuration(); (0, _time.calculateTimeFormat)(duration, t.options, t.options.framesPerSecond || 25); if (t.updateDuration) { t.updateDuration(); } if (t.updateCurrent) { t.updateCurrent(); } t.setControlsSize(); } }); t.getElement(t.container).addEventListener('click', function (e) { dom.addClass(e.currentTarget, t.options.classPrefix + 'container-keyboard-inactive'); }); t.getElement(t.container).addEventListener('focusin', function (e) { dom.removeClass(e.currentTarget, t.options.classPrefix + 'container-keyboard-inactive'); if (t.isVideo && !_constants.IS_ANDROID && !_constants.IS_IOS && t.controlsEnabled && !t.options.alwaysShowControls) { t.killControlsTimer('enter'); t.showControls(); t.startControlsTimer(t.options.controlsTimeoutMouseEnter); } }); t.getElement(t.container).addEventListener('focusout', function (e) { setTimeout(function () { if (e.relatedTarget) { if (t.keyboardAction && !e.relatedTarget.closest('.' + t.options.classPrefix + 'container')) { t.keyboardAction = false; if (t.isVideo && !t.options.alwaysShowControls && !t.paused) { t.startControlsTimer(t.options.controlsTimeoutMouseLeave); } } } }, 0); }); setTimeout(function () { t.setPlayerSize(t.width, t.height); t.setControlsSize(); }, 0); t.globalResizeCallback = function () { if (!(t.isFullScreen || _constants.HAS_TRUE_NATIVE_FULLSCREEN && _document2.default.webkitIsFullScreen)) { t.setPlayerSize(t.width, t.height); } t.setControlsSize(); }; t.globalBind('resize', t.globalResizeCallback); } if (autoplay && isNative) { t.play(); } if (t.options.success) { if (typeof t.options.success === 'string') { _window2.default[t.options.success](t.media, t.domNode, t); } else { t.options.success(t.media, t.domNode, t); } } } }, { key: '_handleError', value: function _handleError(e, media, node) { var t = this, play = t.getElement(t.layers).querySelector('.' + t.options.classPrefix + 'overlay-play'); if (play) { play.style.display = 'none'; } if (t.options.error) { t.options.error(e, media, node); } if (t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'cannotplay')) { t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'cannotplay').remove(); } var errorContainer = _document2.default.createElement('div'); errorContainer.className = t.options.classPrefix + 'cannotplay'; errorContainer.style.width = '100%'; errorContainer.style.height = '100%'; var errorContent = typeof t.options.customError === 'function' ? t.options.customError(t.media, t.media.originalNode) : t.options.customError, imgError = ''; if (!errorContent) { var poster = t.media.originalNode.getAttribute('poster'); if (poster) { imgError = '' + _mejs2.default.i18n.t('mejs.download-file') + ''; } if (e.message) { errorContent = '

      ' + e.message + '

      '; } if (e.urls) { for (var i = 0, total = e.urls.length; i < total; i++) { var url = e.urls[i]; errorContent += '' + _mejs2.default.i18n.t('mejs.download-file') + ': ' + url.src + ''; } } } if (errorContent && t.getElement(t.layers).querySelector('.' + t.options.classPrefix + 'overlay-error')) { errorContainer.innerHTML = errorContent; t.getElement(t.layers).querySelector('.' + t.options.classPrefix + 'overlay-error').innerHTML = '' + imgError + errorContainer.outerHTML; t.getElement(t.layers).querySelector('.' + t.options.classPrefix + 'overlay-error').parentNode.style.display = 'block'; } if (t.controlsEnabled) { t.disableControls(); } } }, { key: 'setPlayerSize', value: function setPlayerSize(width, height) { var t = this; if (!t.options.setDimensions) { return false; } if (typeof width !== 'undefined') { t.width = width; } if (typeof height !== 'undefined') { t.height = height; } switch (t.options.stretching) { case 'fill': if (t.isVideo) { t.setFillMode(); } else { t.setDimensions(t.width, t.height); } break; case 'responsive': t.setResponsiveMode(); break; case 'none': t.setDimensions(t.width, t.height); break; default: if (t.hasFluidMode() === true) { t.setResponsiveMode(); } else { t.setDimensions(t.width, t.height); } break; } } }, { key: 'hasFluidMode', value: function hasFluidMode() { var t = this; return t.height.toString().indexOf('%') !== -1 || t.node && t.node.style.maxWidth && t.node.style.maxWidth !== 'none' && t.node.style.maxWidth !== t.width || t.node && t.node.currentStyle && t.node.currentStyle.maxWidth === '100%'; } }, { key: 'setResponsiveMode', value: function setResponsiveMode() { var t = this, parent = function () { var parentEl = void 0, el = t.getElement(t.container); while (el) { try { if (_constants.IS_FIREFOX && el.tagName.toLowerCase() === 'html' && _window2.default.self !== _window2.default.top && _window2.default.frameElement !== null) { return _window2.default.frameElement; } else { parentEl = el.parentElement; } } catch (e) { parentEl = el.parentElement; } if (parentEl && dom.visible(parentEl)) { return parentEl; } el = parentEl; } return null; }(), parentStyles = parent ? getComputedStyle(parent, null) : getComputedStyle(_document2.default.body, null), nativeWidth = function () { if (t.isVideo) { if (t.node.videoWidth && t.node.videoWidth > 0) { return t.node.videoWidth; } else if (t.node.getAttribute('width')) { return t.node.getAttribute('width'); } else { return t.options.defaultVideoWidth; } } else { return t.options.defaultAudioWidth; } }(), nativeHeight = function () { if (t.isVideo) { if (t.node.videoHeight && t.node.videoHeight > 0) { return t.node.videoHeight; } else if (t.node.getAttribute('height')) { return t.node.getAttribute('height'); } else { return t.options.defaultVideoHeight; } } else { return t.options.defaultAudioHeight; } }(), aspectRatio = function () { if (!t.options.enableAutosize) { return t.initialAspectRatio; } var ratio = 1; if (!t.isVideo) { return ratio; } if (t.node.videoWidth && t.node.videoWidth > 0 && t.node.videoHeight && t.node.videoHeight > 0) { ratio = t.height >= t.width ? t.node.videoWidth / t.node.videoHeight : t.node.videoHeight / t.node.videoWidth; } else { ratio = t.initialAspectRatio; } if (isNaN(ratio) || ratio < 0.01 || ratio > 100) { ratio = 1; } return ratio; }(), parentHeight = parseFloat(parentStyles.height); var newHeight = void 0, parentWidth = parseFloat(parentStyles.width); if (t.isVideo) { if (t.height === '100%') { newHeight = parseFloat(parentWidth * nativeHeight / nativeWidth, 10); } else { newHeight = t.height >= t.width ? parseFloat(parentWidth / aspectRatio, 10) : parseFloat(parentWidth * aspectRatio, 10); } } else { newHeight = nativeHeight; } if (isNaN(newHeight)) { newHeight = parentHeight; } if (t.getElement(t.container).parentNode.length > 0 && t.getElement(t.container).parentNode.tagName.toLowerCase() === 'body') { parentWidth = _window2.default.innerWidth || _document2.default.documentElement.clientWidth || _document2.default.body.clientWidth; newHeight = _window2.default.innerHeight || _document2.default.documentElement.clientHeight || _document2.default.body.clientHeight; } if (newHeight && parentWidth) { t.getElement(t.container).style.width = parentWidth + 'px'; t.getElement(t.container).style.height = newHeight + 'px'; t.node.style.width = '100%'; t.node.style.height = '100%'; if (t.isVideo && t.media.setSize) { t.media.setSize(parentWidth, newHeight); } var layerChildren = t.getElement(t.layers).children; for (var i = 0, total = layerChildren.length; i < total; i++) { layerChildren[i].style.width = '100%'; layerChildren[i].style.height = '100%'; } } } }, { key: 'setFillMode', value: function setFillMode() { var t = this; var isIframe = _window2.default.self !== _window2.default.top && _window2.default.frameElement !== null; var parent = function () { var parentEl = void 0, el = t.getElement(t.container); while (el) { try { if (_constants.IS_FIREFOX && el.tagName.toLowerCase() === 'html' && _window2.default.self !== _window2.default.top && _window2.default.frameElement !== null) { return _window2.default.frameElement; } else { parentEl = el.parentElement; } } catch (e) { parentEl = el.parentElement; } if (parentEl && dom.visible(parentEl)) { return parentEl; } el = parentEl; } return null; }(); var parentStyles = parent ? getComputedStyle(parent, null) : getComputedStyle(_document2.default.body, null); if (t.node.style.height !== 'none' && t.node.style.height !== t.height) { t.node.style.height = 'auto'; } if (t.node.style.maxWidth !== 'none' && t.node.style.maxWidth !== t.width) { t.node.style.maxWidth = 'none'; } if (t.node.style.maxHeight !== 'none' && t.node.style.maxHeight !== t.height) { t.node.style.maxHeight = 'none'; } if (t.node.currentStyle) { if (t.node.currentStyle.height === '100%') { t.node.currentStyle.height = 'auto'; } if (t.node.currentStyle.maxWidth === '100%') { t.node.currentStyle.maxWidth = 'none'; } if (t.node.currentStyle.maxHeight === '100%') { t.node.currentStyle.maxHeight = 'none'; } } if (!isIframe && !parseFloat(parentStyles.width)) { parent.style.width = t.media.offsetWidth + 'px'; } if (!isIframe && !parseFloat(parentStyles.height)) { parent.style.height = t.media.offsetHeight + 'px'; } parentStyles = getComputedStyle(parent); var parentWidth = parseFloat(parentStyles.width), parentHeight = parseFloat(parentStyles.height); t.setDimensions('100%', '100%'); var poster = t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'poster>img'); if (poster) { poster.style.display = ''; } var targetElement = t.getElement(t.container).querySelectorAll('object, embed, iframe, video'), initHeight = t.height, initWidth = t.width, scaleX1 = parentWidth, scaleY1 = initHeight * parentWidth / initWidth, scaleX2 = initWidth * parentHeight / initHeight, scaleY2 = parentHeight, bScaleOnWidth = scaleX2 > parentWidth === false, finalWidth = bScaleOnWidth ? Math.floor(scaleX1) : Math.floor(scaleX2), finalHeight = bScaleOnWidth ? Math.floor(scaleY1) : Math.floor(scaleY2), width = bScaleOnWidth ? parentWidth + 'px' : finalWidth + 'px', height = bScaleOnWidth ? finalHeight + 'px' : parentHeight + 'px'; for (var i = 0, total = targetElement.length; i < total; i++) { targetElement[i].style.height = height; targetElement[i].style.width = width; if (t.media.setSize) { t.media.setSize(width, height); } targetElement[i].style.marginLeft = Math.floor((parentWidth - finalWidth) / 2) + 'px'; targetElement[i].style.marginTop = 0; } } }, { key: 'setDimensions', value: function setDimensions(width, height) { var t = this; width = (0, _general.isString)(width) && width.indexOf('%') > -1 ? width : parseFloat(width) + 'px'; height = (0, _general.isString)(height) && height.indexOf('%') > -1 ? height : parseFloat(height) + 'px'; t.getElement(t.container).style.width = width; t.getElement(t.container).style.height = height; var layers = t.getElement(t.layers).children; for (var i = 0, total = layers.length; i < total; i++) { layers[i].style.width = width; layers[i].style.height = height; } } }, { key: 'setControlsSize', value: function setControlsSize() { var t = this; if (!dom.visible(t.getElement(t.container))) { return; } if (t.rail && dom.visible(t.rail)) { var totalStyles = t.total ? getComputedStyle(t.total, null) : null, totalMargin = totalStyles ? parseFloat(totalStyles.marginLeft) + parseFloat(totalStyles.marginRight) : 0, railStyles = getComputedStyle(t.rail), railMargin = parseFloat(railStyles.marginLeft) + parseFloat(railStyles.marginRight); var siblingsWidth = 0; var siblings = dom.siblings(t.rail, function (el) { return el !== t.rail; }), total = siblings.length; for (var i = 0; i < total; i++) { siblingsWidth += siblings[i].offsetWidth; } siblingsWidth += totalMargin + (totalMargin === 0 ? railMargin * 2 : railMargin) + 1; t.getElement(t.container).style.minWidth = siblingsWidth + 'px'; var event = (0, _general.createEvent)('controlsresize', t.getElement(t.container)); t.getElement(t.container).dispatchEvent(event); } else { var children = t.getElement(t.controls).children; var minWidth = 0; for (var _i = 0, _total = children.length; _i < _total; _i++) { minWidth += children[_i].offsetWidth; } t.getElement(t.container).style.minWidth = minWidth + 'px'; } } }, { key: 'addControlElement', value: function addControlElement(element, key) { var t = this; if (t.featurePosition[key] !== undefined) { var child = t.getElement(t.controls).children[t.featurePosition[key] - 1]; child.parentNode.insertBefore(element, child.nextSibling); } else { t.getElement(t.controls).appendChild(element); var children = t.getElement(t.controls).children; for (var i = 0, total = children.length; i < total; i++) { if (element === children[i]) { t.featurePosition[key] = i; break; } } } } }, { key: 'createIframeLayer', value: function createIframeLayer() { var t = this; if (t.isVideo && t.media.rendererName !== null && t.media.rendererName.indexOf('iframe') > -1 && !_document2.default.getElementById(t.media.id + '-iframe-overlay')) { var layer = _document2.default.createElement('div'), target = _document2.default.getElementById(t.media.id + '_' + t.media.rendererName); layer.id = t.media.id + '-iframe-overlay'; layer.className = t.options.classPrefix + 'iframe-overlay'; layer.addEventListener('click', function (e) { if (t.options.clickToPlayPause) { if (t.paused) { t.play(); } else { t.pause(); } e.preventDefault(); e.stopPropagation(); } }); target.parentNode.insertBefore(layer, target); } } }, { key: 'resetSize', value: function resetSize() { var t = this; setTimeout(function () { t.setPlayerSize(t.width, t.height); t.setControlsSize(); }, 50); } }, { key: 'setPoster', value: function setPoster(url) { var t = this; if (t.getElement(t.container)) { var posterDiv = t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'poster'); if (!posterDiv) { posterDiv = _document2.default.createElement('div'); posterDiv.className = t.options.classPrefix + 'poster ' + t.options.classPrefix + 'layer'; t.getElement(t.layers).appendChild(posterDiv); } var posterImg = posterDiv.querySelector('img'); if (!posterImg && url) { posterImg = _document2.default.createElement('img'); posterImg.className = t.options.classPrefix + 'poster-img'; posterImg.width = '100%'; posterImg.height = '100%'; posterDiv.style.display = ''; posterDiv.appendChild(posterImg); } if (url) { posterImg.setAttribute('src', url); posterDiv.style.backgroundImage = 'url("' + url + '")'; posterDiv.style.display = ''; } else if (posterImg) { posterDiv.style.backgroundImage = 'none'; posterDiv.style.display = 'none'; posterImg.remove(); } else { posterDiv.style.display = 'none'; } } else if (_constants.IS_IPAD && t.options.iPadUseNativeControls || _constants.IS_IPHONE && t.options.iPhoneUseNativeControls || _constants.IS_ANDROID && t.options.AndroidUseNativeControls) { t.media.originalNode.poster = url; } } }, { key: 'changeSkin', value: function changeSkin(className) { var t = this; t.getElement(t.container).className = t.options.classPrefix + 'container ' + className; t.setPlayerSize(t.width, t.height); t.setControlsSize(); } }, { key: 'globalBind', value: function globalBind(events, callback) { var t = this, doc = t.node ? t.node.ownerDocument : _document2.default; events = (0, _general.splitEvents)(events, t.id); if (events.d) { var eventList = events.d.split(' '); for (var i = 0, total = eventList.length; i < total; i++) { eventList[i].split('.').reduce(function (part, e) { doc.addEventListener(e, callback, false); return e; }, ''); } } if (events.w) { var _eventList = events.w.split(' '); for (var _i2 = 0, _total2 = _eventList.length; _i2 < _total2; _i2++) { _eventList[_i2].split('.').reduce(function (part, e) { _window2.default.addEventListener(e, callback, false); return e; }, ''); } } } }, { key: 'globalUnbind', value: function globalUnbind(events, callback) { var t = this, doc = t.node ? t.node.ownerDocument : _document2.default; events = (0, _general.splitEvents)(events, t.id); if (events.d) { var eventList = events.d.split(' '); for (var i = 0, total = eventList.length; i < total; i++) { eventList[i].split('.').reduce(function (part, e) { doc.removeEventListener(e, callback, false); return e; }, ''); } } if (events.w) { var _eventList2 = events.w.split(' '); for (var _i3 = 0, _total3 = _eventList2.length; _i3 < _total3; _i3++) { _eventList2[_i3].split('.').reduce(function (part, e) { _window2.default.removeEventListener(e, callback, false); return e; }, ''); } } } }, { key: 'buildfeatures', value: function buildfeatures(player, controls, layers, media) { var t = this; for (var i = 0, total = t.options.features.length; i < total; i++) { var feature = t.options.features[i]; if (t['build' + feature]) { try { t['build' + feature](player, controls, layers, media); } catch (e) { console.error('error building ' + feature, e); } } } } }, { key: 'buildposter', value: function buildposter(player, controls, layers, media) { var t = this, poster = _document2.default.createElement('div'); poster.className = t.options.classPrefix + 'poster ' + t.options.classPrefix + 'layer'; layers.appendChild(poster); var posterUrl = media.originalNode.getAttribute('poster'); if (player.options.poster !== '') { if (posterUrl && _constants.IS_IOS) { media.originalNode.removeAttribute('poster'); } posterUrl = player.options.poster; } if (posterUrl) { t.setPoster(posterUrl); } else if (t.media.renderer !== null && typeof t.media.renderer.getPosterUrl === 'function') { t.setPoster(t.media.renderer.getPosterUrl()); } else { poster.style.display = 'none'; } media.addEventListener('play', function () { poster.style.display = 'none'; }); media.addEventListener('playing', function () { poster.style.display = 'none'; }); if (player.options.showPosterWhenEnded && player.options.autoRewind) { media.addEventListener('ended', function () { poster.style.display = ''; }); } media.addEventListener('error', function () { poster.style.display = 'none'; }); if (player.options.showPosterWhenPaused) { media.addEventListener('pause', function () { if (!player.ended) { poster.style.display = ''; } }); } } }, { key: 'buildoverlays', value: function buildoverlays(player, controls, layers, media) { if (!player.isVideo) { return; } var t = this, loading = _document2.default.createElement('div'), error = _document2.default.createElement('div'), bigPlay = _document2.default.createElement('div'); loading.style.display = 'none'; loading.className = t.options.classPrefix + 'overlay ' + t.options.classPrefix + 'layer'; loading.innerHTML = '
      ' + ('') + '
      '; layers.appendChild(loading); error.style.display = 'none'; error.className = t.options.classPrefix + 'overlay ' + t.options.classPrefix + 'layer'; error.innerHTML = '
      '; layers.appendChild(error); bigPlay.className = t.options.classPrefix + 'overlay ' + t.options.classPrefix + 'layer ' + t.options.classPrefix + 'overlay-play'; bigPlay.innerHTML = '
      '); bigPlay.addEventListener('click', function () { if (t.options.clickToPlayPause) { var button = t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'overlay-button'), pressed = button.getAttribute('aria-pressed'); if (t.paused) { t.play(); } else { t.pause(); } button.setAttribute('aria-pressed', !!pressed); t.getElement(t.container).focus(); } }); bigPlay.addEventListener('keydown', function (e) { var keyPressed = e.keyCode || e.which || 0; if (keyPressed === 13 || _constants.IS_FIREFOX && keyPressed === 32) { var event = (0, _general.createEvent)('click', bigPlay); bigPlay.dispatchEvent(event); return false; } }); layers.appendChild(bigPlay); if (t.media.rendererName !== null && (/(youtube|facebook)/i.test(t.media.rendererName) && !(t.media.originalNode.getAttribute('poster') || player.options.poster || typeof t.media.renderer.getPosterUrl === 'function' && t.media.renderer.getPosterUrl()) || _constants.IS_STOCK_ANDROID || t.media.originalNode.getAttribute('autoplay'))) { bigPlay.style.display = 'none'; } var hasError = false; media.addEventListener('play', function () { bigPlay.style.display = 'none'; loading.style.display = 'none'; error.style.display = 'none'; hasError = false; }); media.addEventListener('playing', function () { bigPlay.style.display = 'none'; loading.style.display = 'none'; error.style.display = 'none'; hasError = false; }); media.addEventListener('seeking', function () { bigPlay.style.display = 'none'; loading.style.display = ''; hasError = false; }); media.addEventListener('seeked', function () { bigPlay.style.display = t.paused && !_constants.IS_STOCK_ANDROID ? '' : 'none'; loading.style.display = 'none'; hasError = false; }); media.addEventListener('pause', function () { loading.style.display = 'none'; if (!_constants.IS_STOCK_ANDROID && !hasError) { bigPlay.style.display = ''; } hasError = false; }); media.addEventListener('waiting', function () { loading.style.display = ''; hasError = false; }); media.addEventListener('loadeddata', function () { loading.style.display = ''; if (_constants.IS_ANDROID) { media.canplayTimeout = setTimeout(function () { if (_document2.default.createEvent) { var evt = _document2.default.createEvent('HTMLEvents'); evt.initEvent('canplay', true, true); return media.dispatchEvent(evt); } }, 300); } hasError = false; }); media.addEventListener('canplay', function () { loading.style.display = 'none'; clearTimeout(media.canplayTimeout); hasError = false; }); media.addEventListener('error', function (e) { t._handleError(e, t.media, t.node); loading.style.display = 'none'; bigPlay.style.display = 'none'; hasError = true; }); media.addEventListener('loadedmetadata', function () { if (!t.controlsEnabled) { t.enableControls(); } }); media.addEventListener('keydown', function (e) { t.onkeydown(player, media, e); hasError = false; }); } }, { key: 'buildkeyboard', value: function buildkeyboard(player, controls, layers, media) { var t = this; t.getElement(t.container).addEventListener('keydown', function () { t.keyboardAction = true; }); t.globalKeydownCallback = function (event) { var container = _document2.default.activeElement.closest('.' + t.options.classPrefix + 'container'), target = t.media.closest('.' + t.options.classPrefix + 'container'); t.hasFocus = !!(container && target && container.id === target.id); return t.onkeydown(player, media, event); }; t.globalClickCallback = function (event) { t.hasFocus = !!event.target.closest('.' + t.options.classPrefix + 'container'); }; t.globalBind('keydown', t.globalKeydownCallback); t.globalBind('click', t.globalClickCallback); } }, { key: 'onkeydown', value: function onkeydown(player, media, e) { if (player.hasFocus && player.options.enableKeyboard) { for (var i = 0, total = player.options.keyActions.length; i < total; i++) { var keyAction = player.options.keyActions[i]; for (var j = 0, jl = keyAction.keys.length; j < jl; j++) { if (e.keyCode === keyAction.keys[j]) { keyAction.action(player, media, e.keyCode, e); e.preventDefault(); e.stopPropagation(); return; } } } } return true; } }, { key: 'play', value: function play() { this.proxy.play(); } }, { key: 'pause', value: function pause() { this.proxy.pause(); } }, { key: 'load', value: function load() { this.proxy.load(); } }, { key: 'setCurrentTime', value: function setCurrentTime(time) { this.proxy.setCurrentTime(time); } }, { key: 'getCurrentTime', value: function getCurrentTime() { return this.proxy.currentTime; } }, { key: 'getDuration', value: function getDuration() { return this.proxy.duration; } }, { key: 'setVolume', value: function setVolume(volume) { this.proxy.volume = volume; } }, { key: 'getVolume', value: function getVolume() { return this.proxy.getVolume(); } }, { key: 'setMuted', value: function setMuted(value) { this.proxy.setMuted(value); } }, { key: 'setSrc', value: function setSrc(src) { if (!this.controlsEnabled) { this.enableControls(); } this.proxy.setSrc(src); } }, { key: 'getSrc', value: function getSrc() { return this.proxy.getSrc(); } }, { key: 'canPlayType', value: function canPlayType(type) { return this.proxy.canPlayType(type); } }, { key: 'remove', value: function remove() { var t = this, rendererName = t.media.rendererName, src = t.media.originalNode.src; for (var featureIndex in t.options.features) { var feature = t.options.features[featureIndex]; if (t['clean' + feature]) { try { t['clean' + feature](t, t.getElement(t.layers), t.getElement(t.controls), t.media); } catch (e) { console.error('error cleaning ' + feature, e); } } } var nativeWidth = t.node.getAttribute('width'), nativeHeight = t.node.getAttribute('height'); if (nativeWidth) { if (nativeWidth.indexOf('%') === -1) { nativeWidth = nativeWidth + 'px'; } } else { nativeWidth = 'auto'; } if (nativeHeight) { if (nativeHeight.indexOf('%') === -1) { nativeHeight = nativeHeight + 'px'; } } else { nativeHeight = 'auto'; } t.node.style.width = nativeWidth; t.node.style.height = nativeHeight; t.setPlayerSize(0, 0); if (!t.isDynamic) { (function () { t.node.setAttribute('controls', true); t.node.setAttribute('id', t.node.getAttribute('id').replace('_' + rendererName, '').replace('_from_mejs', '')); var poster = t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'poster>img'); if (poster) { t.node.setAttribute('poster', poster.src); } delete t.node.autoplay; t.node.setAttribute('src', ''); if (t.media.canPlayType((0, _media.getTypeFromFile)(src)) !== '') { t.node.setAttribute('src', src); } if (rendererName && rendererName.indexOf('iframe') > -1) { var layer = _document2.default.getElementById(t.media.id + '-iframe-overlay'); layer.remove(); } var node = t.node.cloneNode(); node.style.display = ''; t.getElement(t.container).parentNode.insertBefore(node, t.getElement(t.container)); t.node.remove(); if (t.mediaFiles) { for (var i = 0, total = t.mediaFiles.length; i < total; i++) { var source = _document2.default.createElement('source'); source.setAttribute('src', t.mediaFiles[i].src); source.setAttribute('type', t.mediaFiles[i].type); node.appendChild(source); } } if (t.trackFiles) { var _loop3 = function _loop3(_i4, _total4) { var track = t.trackFiles[_i4]; var newTrack = _document2.default.createElement('track'); newTrack.kind = track.kind; newTrack.label = track.label; newTrack.srclang = track.srclang; newTrack.src = track.src; node.appendChild(newTrack); newTrack.addEventListener('load', function () { this.mode = 'showing'; node.textTracks[_i4].mode = 'showing'; }); }; for (var _i4 = 0, _total4 = t.trackFiles.length; _i4 < _total4; _i4++) { _loop3(_i4, _total4); } } delete t.node; delete t.mediaFiles; delete t.trackFiles; })(); } else { t.getElement(t.container).parentNode.insertBefore(t.node, t.getElement(t.container)); } if (t.media.renderer && typeof t.media.renderer.destroy === 'function') { t.media.renderer.destroy(); } delete _mejs2.default.players[t.id]; if (_typeof(t.getElement(t.container)) === 'object') { var offscreen = t.getElement(t.container).parentNode.querySelector('.' + t.options.classPrefix + 'offscreen'); if (offscreen) { offscreen.remove(); } t.getElement(t.container).remove(); } t.globalUnbind('resize', t.globalResizeCallback); t.globalUnbind('keydown', t.globalKeydownCallback); t.globalUnbind('click', t.globalClickCallback); delete t.media.player; } }, { key: 'paused', get: function get() { return this.proxy.paused; } }, { key: 'muted', get: function get() { return this.proxy.muted; }, set: function set(muted) { this.setMuted(muted); } }, { key: 'ended', get: function get() { return this.proxy.ended; } }, { key: 'readyState', get: function get() { return this.proxy.readyState; } }, { key: 'currentTime', set: function set(time) { this.setCurrentTime(time); }, get: function get() { return this.getCurrentTime(); } }, { key: 'duration', get: function get() { return this.getDuration(); } }, { key: 'volume', set: function set(volume) { this.setVolume(volume); }, get: function get() { return this.getVolume(); } }, { key: 'src', set: function set(src) { this.setSrc(src); }, get: function get() { return this.getSrc(); } }]); return MediaElementPlayer; }(); _window2.default.MediaElementPlayer = MediaElementPlayer; _mejs2.default.MediaElementPlayer = MediaElementPlayer; exports.default = MediaElementPlayer; },{"17":17,"2":2,"25":25,"26":26,"27":27,"28":28,"3":3,"30":30,"5":5,"6":6,"7":7}],17:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _window = _dereq_(3); var _window2 = _interopRequireDefault(_window); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var DefaultPlayer = function () { function DefaultPlayer(player) { _classCallCheck(this, DefaultPlayer); this.media = player.media; this.isVideo = player.isVideo; this.classPrefix = player.options.classPrefix; this.createIframeLayer = function () { return player.createIframeLayer(); }; this.setPoster = function (url) { return player.setPoster(url); }; return this; } _createClass(DefaultPlayer, [{ key: 'play', value: function play() { this.media.play(); } }, { key: 'pause', value: function pause() { this.media.pause(); } }, { key: 'load', value: function load() { var t = this; if (!t.isLoaded) { t.media.load(); } t.isLoaded = true; } }, { key: 'setCurrentTime', value: function setCurrentTime(time) { this.media.setCurrentTime(time); } }, { key: 'getCurrentTime', value: function getCurrentTime() { return this.media.currentTime; } }, { key: 'getDuration', value: function getDuration() { var duration = this.media.getDuration(); if (duration === Infinity && this.media.seekable && this.media.seekable.length) { duration = this.media.seekable.end(0); } return duration; } }, { key: 'setVolume', value: function setVolume(volume) { this.media.setVolume(volume); } }, { key: 'getVolume', value: function getVolume() { return this.media.getVolume(); } }, { key: 'setMuted', value: function setMuted(value) { this.media.setMuted(value); } }, { key: 'setSrc', value: function setSrc(src) { var t = this, layer = document.getElementById(t.media.id + '-iframe-overlay'); if (layer) { layer.remove(); } t.media.setSrc(src); t.createIframeLayer(); if (t.media.renderer !== null && typeof t.media.renderer.getPosterUrl === 'function') { t.setPoster(t.media.renderer.getPosterUrl()); } } }, { key: 'getSrc', value: function getSrc() { return this.media.getSrc(); } }, { key: 'canPlayType', value: function canPlayType(type) { return this.media.canPlayType(type); } }, { key: 'paused', get: function get() { return this.media.paused; } }, { key: 'muted', set: function set(muted) { this.setMuted(muted); }, get: function get() { return this.media.muted; } }, { key: 'ended', get: function get() { return this.media.ended; } }, { key: 'readyState', get: function get() { return this.media.readyState; } }, { key: 'currentTime', set: function set(time) { this.setCurrentTime(time); }, get: function get() { return this.getCurrentTime(); } }, { key: 'duration', get: function get() { return this.getDuration(); } }, { key: 'remainingTime', get: function get() { return this.getDuration() - this.currentTime(); } }, { key: 'volume', set: function set(volume) { this.setVolume(volume); }, get: function get() { return this.getVolume(); } }, { key: 'src', set: function set(src) { this.setSrc(src); }, get: function get() { return this.getSrc(); } }]); return DefaultPlayer; }(); exports.default = DefaultPlayer; _window2.default.DefaultPlayer = DefaultPlayer; },{"3":3}],18:[function(_dereq_,module,exports){ 'use strict'; var _window = _dereq_(3); var _window2 = _interopRequireDefault(_window); var _mejs = _dereq_(7); var _mejs2 = _interopRequireDefault(_mejs); var _player = _dereq_(16); var _player2 = _interopRequireDefault(_player); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } if (typeof jQuery !== 'undefined') { _mejs2.default.$ = jQuery; } else if (typeof Zepto !== 'undefined') { _mejs2.default.$ = Zepto; } else if (typeof ender !== 'undefined') { _mejs2.default.$ = ender; } (function ($) { if (typeof $ !== 'undefined') { $.fn.mediaelementplayer = function (options) { if (options === false) { this.each(function () { var player = $(this).data('mediaelementplayer'); if (player) { player.remove(); } $(this).removeData('mediaelementplayer'); }); } else { this.each(function () { $(this).data('mediaelementplayer', new _player2.default(this, options)); }); } return this; }; $(document).ready(function () { $('.' + _mejs2.default.MepDefaults.classPrefix + 'player').mediaelementplayer(); }); } })(_mejs2.default.$); },{"16":16,"3":3,"7":7}],19:[function(_dereq_,module,exports){ 'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _window = _dereq_(3); var _window2 = _interopRequireDefault(_window); var _mejs = _dereq_(7); var _mejs2 = _interopRequireDefault(_mejs); var _renderer = _dereq_(8); var _general = _dereq_(27); var _media = _dereq_(28); var _constants = _dereq_(25); var _dom = _dereq_(26); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var NativeDash = { promise: null, load: function load(settings) { if (typeof dashjs !== 'undefined') { NativeDash.promise = new Promise(function (resolve) { resolve(); }).then(function () { NativeDash._createPlayer(settings); }); } else { settings.options.path = typeof settings.options.path === 'string' ? settings.options.path : 'https://cdn.dashjs.org/latest/dash.all.min.js'; NativeDash.promise = NativeDash.promise || (0, _dom.loadScript)(settings.options.path); NativeDash.promise.then(function () { NativeDash._createPlayer(settings); }); } return NativeDash.promise; }, _createPlayer: function _createPlayer(settings) { var player = dashjs.MediaPlayer().create(); _window2.default['__ready__' + settings.id](player); return player; } }; var DashNativeRenderer = { name: 'native_dash', options: { prefix: 'native_dash', dash: { path: 'https://cdn.dashjs.org/latest/dash.all.min.js', debug: false, drm: {}, robustnessLevel: '' } }, canPlayType: function canPlayType(type) { return _constants.HAS_MSE && ['application/dash+xml'].indexOf(type.toLowerCase()) > -1; }, create: function create(mediaElement, options, mediaFiles) { var originalNode = mediaElement.originalNode, id = mediaElement.id + '_' + options.prefix, autoplay = originalNode.autoplay, children = originalNode.children; var node = null, dashPlayer = null; originalNode.removeAttribute('type'); for (var i = 0, total = children.length; i < total; i++) { children[i].removeAttribute('type'); } node = originalNode.cloneNode(true); options = Object.assign(options, mediaElement.options); var props = _mejs2.default.html5media.properties, events = _mejs2.default.html5media.events.concat(['click', 'mouseover', 'mouseout']).filter(function (e) { return e !== 'error'; }), attachNativeEvents = function attachNativeEvents(e) { var event = (0, _general.createEvent)(e.type, mediaElement); mediaElement.dispatchEvent(event); }, assignGettersSetters = function assignGettersSetters(propName) { var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1); node['get' + capName] = function () { return dashPlayer !== null ? node[propName] : null; }; node['set' + capName] = function (value) { if (_mejs2.default.html5media.readOnlyProperties.indexOf(propName) === -1) { if (propName === 'src') { var source = (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value.src ? value.src : value; node[propName] = source; if (dashPlayer !== null) { dashPlayer.reset(); for (var _i = 0, _total = events.length; _i < _total; _i++) { node.removeEventListener(events[_i], attachNativeEvents); } dashPlayer = NativeDash._createPlayer({ options: options.dash, id: id }); if (value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && _typeof(value.drm) === 'object') { dashPlayer.setProtectionData(value.drm); if ((0, _general.isString)(options.dash.robustnessLevel) && options.dash.robustnessLevel) { dashPlayer.getProtectionController().setRobustnessLevel(options.dash.robustnessLevel); } } dashPlayer.attachSource(source); if (autoplay) { dashPlayer.play(); } } } else { node[propName] = value; } } }; }; for (var _i2 = 0, _total2 = props.length; _i2 < _total2; _i2++) { assignGettersSetters(props[_i2]); } _window2.default['__ready__' + id] = function (_dashPlayer) { mediaElement.dashPlayer = dashPlayer = _dashPlayer; var dashEvents = dashjs.MediaPlayer.events, assignEvents = function assignEvents(eventName) { if (eventName === 'loadedmetadata') { dashPlayer.initialize(); dashPlayer.attachView(node); dashPlayer.setAutoPlay(false); if (_typeof(options.dash.drm) === 'object' && !_mejs2.default.Utils.isObjectEmpty(options.dash.drm)) { dashPlayer.setProtectionData(options.dash.drm); if ((0, _general.isString)(options.dash.robustnessLevel) && options.dash.robustnessLevel) { dashPlayer.getProtectionController().setRobustnessLevel(options.dash.robustnessLevel); } } dashPlayer.attachSource(node.getSrc()); } node.addEventListener(eventName, attachNativeEvents); }; for (var _i3 = 0, _total3 = events.length; _i3 < _total3; _i3++) { assignEvents(events[_i3]); } var assignMdashEvents = function assignMdashEvents(e) { if (e.type.toLowerCase() === 'error') { mediaElement.generateError(e.message, node.src); console.error(e); } else { var _event = (0, _general.createEvent)(e.type, mediaElement); _event.data = e; mediaElement.dispatchEvent(_event); } }; for (var eventType in dashEvents) { if (dashEvents.hasOwnProperty(eventType)) { dashPlayer.on(dashEvents[eventType], function (e) { return assignMdashEvents(e); }); } } }; if (mediaFiles && mediaFiles.length > 0) { for (var _i4 = 0, _total4 = mediaFiles.length; _i4 < _total4; _i4++) { if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[_i4].type)) { node.setAttribute('src', mediaFiles[_i4].src); if (typeof mediaFiles[_i4].drm !== 'undefined') { options.dash.drm = mediaFiles[_i4].drm; } break; } } } node.setAttribute('id', id); originalNode.parentNode.insertBefore(node, originalNode); originalNode.autoplay = false; originalNode.style.display = 'none'; node.setSize = function (width, height) { node.style.width = width + 'px'; node.style.height = height + 'px'; return node; }; node.hide = function () { node.pause(); node.style.display = 'none'; return node; }; node.show = function () { node.style.display = ''; return node; }; node.destroy = function () { if (dashPlayer !== null) { dashPlayer.reset(); } }; var event = (0, _general.createEvent)('rendererready', node); mediaElement.dispatchEvent(event); mediaElement.promises.push(NativeDash.load({ options: options.dash, id: id })); return node; } }; _media.typeChecks.push(function (url) { return ~url.toLowerCase().indexOf('.mpd') ? 'application/dash+xml' : null; }); _renderer.renderer.add(DashNativeRenderer); },{"25":25,"26":26,"27":27,"28":28,"3":3,"7":7,"8":8}],20:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.PluginDetector = undefined; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _window = _dereq_(3); var _window2 = _interopRequireDefault(_window); var _document = _dereq_(2); var _document2 = _interopRequireDefault(_document); var _mejs = _dereq_(7); var _mejs2 = _interopRequireDefault(_mejs); var _i18n = _dereq_(5); var _i18n2 = _interopRequireDefault(_i18n); var _renderer = _dereq_(8); var _general = _dereq_(27); var _constants = _dereq_(25); var _media = _dereq_(28); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var PluginDetector = exports.PluginDetector = { plugins: [], hasPluginVersion: function hasPluginVersion(plugin, v) { var pv = PluginDetector.plugins[plugin]; v[1] = v[1] || 0; v[2] = v[2] || 0; return pv[0] > v[0] || pv[0] === v[0] && pv[1] > v[1] || pv[0] === v[0] && pv[1] === v[1] && pv[2] >= v[2]; }, addPlugin: function addPlugin(p, pluginName, mimeType, activeX, axDetect) { PluginDetector.plugins[p] = PluginDetector.detectPlugin(pluginName, mimeType, activeX, axDetect); }, detectPlugin: function detectPlugin(pluginName, mimeType, activeX, axDetect) { var version = [0, 0, 0], description = void 0, ax = void 0; if (_constants.NAV.plugins !== null && _constants.NAV.plugins !== undefined && _typeof(_constants.NAV.plugins[pluginName]) === 'object') { description = _constants.NAV.plugins[pluginName].description; if (description && !(typeof _constants.NAV.mimeTypes !== 'undefined' && _constants.NAV.mimeTypes[mimeType] && !_constants.NAV.mimeTypes[mimeType].enabledPlugin)) { version = description.replace(pluginName, '').replace(/^\s+/, '').replace(/\sr/gi, '.').split('.'); for (var i = 0, total = version.length; i < total; i++) { version[i] = parseInt(version[i].match(/\d+/), 10); } } } else if (_window2.default.ActiveXObject !== undefined) { try { ax = new ActiveXObject(activeX); if (ax) { version = axDetect(ax); } } catch (e) { } } return version; } }; PluginDetector.addPlugin('flash', 'Shockwave Flash', 'application/x-shockwave-flash', 'ShockwaveFlash.ShockwaveFlash', function (ax) { var version = [], d = ax.GetVariable("$version"); if (d) { d = d.split(" ")[1].split(","); version = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)]; } return version; }); var FlashMediaElementRenderer = { create: function create(mediaElement, options, mediaFiles) { var flash = {}; var isActive = false; flash.options = options; flash.id = mediaElement.id + '_' + flash.options.prefix; flash.mediaElement = mediaElement; flash.flashState = {}; flash.flashApi = null; flash.flashApiStack = []; var props = _mejs2.default.html5media.properties, assignGettersSetters = function assignGettersSetters(propName) { flash.flashState[propName] = null; var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1); flash['get' + capName] = function () { if (flash.flashApi !== null) { if (typeof flash.flashApi['get_' + propName] === 'function') { var value = flash.flashApi['get_' + propName](); if (propName === 'buffered') { return { start: function start() { return 0; }, end: function end() { return value; }, length: 1 }; } return value; } else { return null; } } else { return null; } }; flash['set' + capName] = function (value) { if (propName === 'src') { value = (0, _media.absolutizeUrl)(value); } if (flash.flashApi !== null && flash.flashApi['set_' + propName] !== undefined) { try { flash.flashApi['set_' + propName](value); } catch (e) { } } else { flash.flashApiStack.push({ type: 'set', propName: propName, value: value }); } }; }; for (var i = 0, total = props.length; i < total; i++) { assignGettersSetters(props[i]); } var methods = _mejs2.default.html5media.methods, assignMethods = function assignMethods(methodName) { flash[methodName] = function () { if (isActive) { if (flash.flashApi !== null) { if (flash.flashApi['fire_' + methodName]) { try { flash.flashApi['fire_' + methodName](); } catch (e) { } } else { } } else { flash.flashApiStack.push({ type: 'call', methodName: methodName }); } } }; }; methods.push('stop'); for (var _i = 0, _total = methods.length; _i < _total; _i++) { assignMethods(methods[_i]); } var initEvents = ['rendererready']; for (var _i2 = 0, _total2 = initEvents.length; _i2 < _total2; _i2++) { var event = (0, _general.createEvent)(initEvents[_i2], flash); mediaElement.dispatchEvent(event); } _window2.default['__ready__' + flash.id] = function () { flash.flashReady = true; flash.flashApi = _document2.default.getElementById('__' + flash.id); if (flash.flashApiStack.length) { for (var _i3 = 0, _total3 = flash.flashApiStack.length; _i3 < _total3; _i3++) { var stackItem = flash.flashApiStack[_i3]; if (stackItem.type === 'set') { var propName = stackItem.propName, capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1); flash['set' + capName](stackItem.value); } else if (stackItem.type === 'call') { flash[stackItem.methodName](); } } } }; _window2.default['__event__' + flash.id] = function (eventName, message) { var event = (0, _general.createEvent)(eventName, flash); if (message) { try { event.data = JSON.parse(message); event.details.data = JSON.parse(message); } catch (e) { event.message = message; } } flash.mediaElement.dispatchEvent(event); }; flash.flashWrapper = _document2.default.createElement('div'); if (['always', 'sameDomain'].indexOf(flash.options.shimScriptAccess) === -1) { flash.options.shimScriptAccess = 'sameDomain'; } var autoplay = mediaElement.originalNode.autoplay, flashVars = ['uid=' + flash.id, 'autoplay=' + autoplay, 'allowScriptAccess=' + flash.options.shimScriptAccess, 'preload=' + (mediaElement.originalNode.getAttribute('preload') || '')], isVideo = mediaElement.originalNode !== null && mediaElement.originalNode.tagName.toLowerCase() === 'video', flashHeight = isVideo ? mediaElement.originalNode.height : 1, flashWidth = isVideo ? mediaElement.originalNode.width : 1; if (mediaElement.originalNode.getAttribute('src')) { flashVars.push('src=' + mediaElement.originalNode.getAttribute('src')); } if (flash.options.enablePseudoStreaming === true) { flashVars.push('pseudostreamstart=' + flash.options.pseudoStreamingStartQueryParam); flashVars.push('pseudostreamtype=' + flash.options.pseudoStreamingType); } if (flash.options.streamDelimiter) { flashVars.push('streamdelimiter=' + encodeURIComponent(flash.options.streamDelimiter)); } if (flash.options.proxyType) { flashVars.push('proxytype=' + flash.options.proxyType); } mediaElement.appendChild(flash.flashWrapper); mediaElement.originalNode.style.display = 'none'; var settings = []; if (_constants.IS_IE || _constants.IS_EDGE) { var specialIEContainer = _document2.default.createElement('div'); flash.flashWrapper.appendChild(specialIEContainer); if (_constants.IS_EDGE) { settings = ['type="application/x-shockwave-flash"', 'data="' + flash.options.pluginPath + flash.options.filename + '"', 'id="__' + flash.id + '"', 'width="' + flashWidth + '"', 'height="' + flashHeight + '\'"']; } else { settings = ['classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"', 'codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"', 'id="__' + flash.id + '"', 'width="' + flashWidth + '"', 'height="' + flashHeight + '"']; } if (!isVideo) { settings.push('style="clip: rect(0 0 0 0); position: absolute;"'); } specialIEContainer.outerHTML = '' + ('') + ('') + '' + '' + '' + ('') + '' + ('
      ' + _i18n2.default.t('mejs.install-flash') + '
      ') + '
      '; } else { settings = ['id="__' + flash.id + '"', 'name="__' + flash.id + '"', 'play="true"', 'loop="false"', 'quality="high"', 'bgcolor="#000000"', 'wmode="transparent"', 'allowScriptAccess="' + flash.options.shimScriptAccess + '"', 'allowFullScreen="true"', 'type="application/x-shockwave-flash"', 'pluginspage="//www.macromedia.com/go/getflashplayer"', 'src="' + flash.options.pluginPath + flash.options.filename + '"', 'flashvars="' + flashVars.join('&') + '"']; if (isVideo) { settings.push('width="' + flashWidth + '"'); settings.push('height="' + flashHeight + '"'); } else { settings.push('style="position: fixed; left: -9999em; top: -9999em;"'); } flash.flashWrapper.innerHTML = ''; } flash.flashNode = flash.flashWrapper.lastChild; flash.hide = function () { isActive = false; if (isVideo) { flash.flashNode.style.display = 'none'; } }; flash.show = function () { isActive = true; if (isVideo) { flash.flashNode.style.display = ''; } }; flash.setSize = function (width, height) { flash.flashNode.style.width = width + 'px'; flash.flashNode.style.height = height + 'px'; if (flash.flashApi !== null && typeof flash.flashApi.fire_setSize === 'function') { flash.flashApi.fire_setSize(width, height); } }; flash.destroy = function () { flash.flashNode.remove(); }; if (mediaFiles && mediaFiles.length > 0) { for (var _i4 = 0, _total4 = mediaFiles.length; _i4 < _total4; _i4++) { if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[_i4].type)) { flash.setSrc(mediaFiles[_i4].src); break; } } } return flash; } }; var hasFlash = PluginDetector.hasPluginVersion('flash', [10, 0, 0]); if (hasFlash) { _media.typeChecks.push(function (url) { url = url.toLowerCase(); if (url.startsWith('rtmp')) { if (~url.indexOf('.mp3')) { return 'audio/rtmp'; } else { return 'video/rtmp'; } } else if (/\.og(a|g)/i.test(url)) { return 'audio/ogg'; } else if (~url.indexOf('.m3u8')) { return 'application/x-mpegURL'; } else if (~url.indexOf('.mpd')) { return 'application/dash+xml'; } else if (~url.indexOf('.flv')) { return 'video/flv'; } else { return null; } }); var FlashMediaElementVideoRenderer = { name: 'flash_video', options: { prefix: 'flash_video', filename: 'mediaelement-flash-video.swf', enablePseudoStreaming: false, pseudoStreamingStartQueryParam: 'start', pseudoStreamingType: 'byte', proxyType: '', streamDelimiter: '' }, canPlayType: function canPlayType(type) { return ~['video/mp4', 'video/rtmp', 'audio/rtmp', 'rtmp/mp4', 'audio/mp4', 'video/flv', 'video/x-flv'].indexOf(type.toLowerCase()); }, create: FlashMediaElementRenderer.create }; _renderer.renderer.add(FlashMediaElementVideoRenderer); var FlashMediaElementHlsVideoRenderer = { name: 'flash_hls', options: { prefix: 'flash_hls', filename: 'mediaelement-flash-video-hls.swf' }, canPlayType: function canPlayType(type) { return ~['application/x-mpegurl', 'application/vnd.apple.mpegurl', 'audio/mpegurl', 'audio/hls', 'video/hls'].indexOf(type.toLowerCase()); }, create: FlashMediaElementRenderer.create }; _renderer.renderer.add(FlashMediaElementHlsVideoRenderer); var FlashMediaElementMdashVideoRenderer = { name: 'flash_dash', options: { prefix: 'flash_dash', filename: 'mediaelement-flash-video-mdash.swf' }, canPlayType: function canPlayType(type) { return ~['application/dash+xml'].indexOf(type.toLowerCase()); }, create: FlashMediaElementRenderer.create }; _renderer.renderer.add(FlashMediaElementMdashVideoRenderer); var FlashMediaElementAudioRenderer = { name: 'flash_audio', options: { prefix: 'flash_audio', filename: 'mediaelement-flash-audio.swf' }, canPlayType: function canPlayType(type) { return ~['audio/mp3'].indexOf(type.toLowerCase()); }, create: FlashMediaElementRenderer.create }; _renderer.renderer.add(FlashMediaElementAudioRenderer); var FlashMediaElementAudioOggRenderer = { name: 'flash_audio_ogg', options: { prefix: 'flash_audio_ogg', filename: 'mediaelement-flash-audio-ogg.swf' }, canPlayType: function canPlayType(type) { return ~['audio/ogg', 'audio/oga', 'audio/ogv'].indexOf(type.toLowerCase()); }, create: FlashMediaElementRenderer.create }; _renderer.renderer.add(FlashMediaElementAudioOggRenderer); } },{"2":2,"25":25,"27":27,"28":28,"3":3,"5":5,"7":7,"8":8}],21:[function(_dereq_,module,exports){ 'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _window = _dereq_(3); var _window2 = _interopRequireDefault(_window); var _mejs = _dereq_(7); var _mejs2 = _interopRequireDefault(_mejs); var _renderer = _dereq_(8); var _general = _dereq_(27); var _constants = _dereq_(25); var _media = _dereq_(28); var _dom = _dereq_(26); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var NativeFlv = { promise: null, load: function load(settings) { if (typeof flvjs !== 'undefined') { NativeFlv.promise = new Promise(function (resolve) { resolve(); }).then(function () { NativeFlv._createPlayer(settings); }); } else { settings.options.path = typeof settings.options.path === 'string' ? settings.options.path : 'https://cdn.jsdelivr.net/npm/flv.js@latest'; NativeFlv.promise = NativeFlv.promise || (0, _dom.loadScript)(settings.options.path); NativeFlv.promise.then(function () { NativeFlv._createPlayer(settings); }); } return NativeFlv.promise; }, _createPlayer: function _createPlayer(settings) { flvjs.LoggingControl.enableDebug = settings.options.debug; flvjs.LoggingControl.enableVerbose = settings.options.debug; var player = flvjs.createPlayer(settings.options, settings.configs); _window2.default['__ready__' + settings.id](player); return player; } }; var FlvNativeRenderer = { name: 'native_flv', options: { prefix: 'native_flv', flv: { path: 'https://cdn.jsdelivr.net/npm/flv.js@latest', cors: true, debug: false } }, canPlayType: function canPlayType(type) { return _constants.HAS_MSE && ['video/x-flv', 'video/flv'].indexOf(type.toLowerCase()) > -1; }, create: function create(mediaElement, options, mediaFiles) { var originalNode = mediaElement.originalNode, id = mediaElement.id + '_' + options.prefix; var node = null, flvPlayer = null; node = originalNode.cloneNode(true); options = Object.assign(options, mediaElement.options); var props = _mejs2.default.html5media.properties, events = _mejs2.default.html5media.events.concat(['click', 'mouseover', 'mouseout']).filter(function (e) { return e !== 'error'; }), attachNativeEvents = function attachNativeEvents(e) { var event = (0, _general.createEvent)(e.type, mediaElement); mediaElement.dispatchEvent(event); }, assignGettersSetters = function assignGettersSetters(propName) { var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1); node['get' + capName] = function () { return flvPlayer !== null ? node[propName] : null; }; node['set' + capName] = function (value) { if (_mejs2.default.html5media.readOnlyProperties.indexOf(propName) === -1) { if (propName === 'src') { node[propName] = (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value.src ? value.src : value; if (flvPlayer !== null) { var _flvOptions = {}; _flvOptions.type = 'flv'; _flvOptions.url = value; _flvOptions.cors = options.flv.cors; _flvOptions.debug = options.flv.debug; _flvOptions.path = options.flv.path; var _flvConfigs = options.flv.configs; flvPlayer.destroy(); for (var i = 0, total = events.length; i < total; i++) { node.removeEventListener(events[i], attachNativeEvents); } flvPlayer = NativeFlv._createPlayer({ options: _flvOptions, configs: _flvConfigs, id: id }); flvPlayer.attachMediaElement(node); flvPlayer.load(); } } else { node[propName] = value; } } }; }; for (var i = 0, total = props.length; i < total; i++) { assignGettersSetters(props[i]); } _window2.default['__ready__' + id] = function (_flvPlayer) { mediaElement.flvPlayer = flvPlayer = _flvPlayer; var flvEvents = flvjs.Events, assignEvents = function assignEvents(eventName) { if (eventName === 'loadedmetadata') { flvPlayer.unload(); flvPlayer.detachMediaElement(); flvPlayer.attachMediaElement(node); flvPlayer.load(); } node.addEventListener(eventName, attachNativeEvents); }; for (var _i = 0, _total = events.length; _i < _total; _i++) { assignEvents(events[_i]); } var assignFlvEvents = function assignFlvEvents(name, data) { if (name === 'error') { var message = data[0] + ': ' + data[1] + ' ' + data[2].msg; mediaElement.generateError(message, node.src); } else { var _event = (0, _general.createEvent)(name, mediaElement); _event.data = data; mediaElement.dispatchEvent(_event); } }; var _loop = function _loop(eventType) { if (flvEvents.hasOwnProperty(eventType)) { flvPlayer.on(flvEvents[eventType], function () { for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return assignFlvEvents(flvEvents[eventType], args); }); } }; for (var eventType in flvEvents) { _loop(eventType); } }; if (mediaFiles && mediaFiles.length > 0) { for (var _i2 = 0, _total2 = mediaFiles.length; _i2 < _total2; _i2++) { if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[_i2].type)) { node.setAttribute('src', mediaFiles[_i2].src); break; } } } node.setAttribute('id', id); originalNode.parentNode.insertBefore(node, originalNode); originalNode.autoplay = false; originalNode.style.display = 'none'; var flvOptions = {}; flvOptions.type = 'flv'; flvOptions.url = node.src; flvOptions.cors = options.flv.cors; flvOptions.debug = options.flv.debug; flvOptions.path = options.flv.path; var flvConfigs = options.flv.configs; node.setSize = function (width, height) { node.style.width = width + 'px'; node.style.height = height + 'px'; return node; }; node.hide = function () { if (flvPlayer !== null) { flvPlayer.pause(); } node.style.display = 'none'; return node; }; node.show = function () { node.style.display = ''; return node; }; node.destroy = function () { if (flvPlayer !== null) { flvPlayer.destroy(); } }; var event = (0, _general.createEvent)('rendererready', node); mediaElement.dispatchEvent(event); mediaElement.promises.push(NativeFlv.load({ options: flvOptions, configs: flvConfigs, id: id })); return node; } }; _media.typeChecks.push(function (url) { return ~url.toLowerCase().indexOf('.flv') ? 'video/flv' : null; }); _renderer.renderer.add(FlvNativeRenderer); },{"25":25,"26":26,"27":27,"28":28,"3":3,"7":7,"8":8}],22:[function(_dereq_,module,exports){ 'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _window = _dereq_(3); var _window2 = _interopRequireDefault(_window); var _mejs = _dereq_(7); var _mejs2 = _interopRequireDefault(_mejs); var _renderer = _dereq_(8); var _general = _dereq_(27); var _constants = _dereq_(25); var _media = _dereq_(28); var _dom = _dereq_(26); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var NativeHls = { promise: null, load: function load(settings) { if (typeof Hls !== 'undefined') { NativeHls.promise = new Promise(function (resolve) { resolve(); }).then(function () { NativeHls._createPlayer(settings); }); } else { settings.options.path = typeof settings.options.path === 'string' ? settings.options.path : 'https://cdn.jsdelivr.net/npm/hls.js@latest'; NativeHls.promise = NativeHls.promise || (0, _dom.loadScript)(settings.options.path); NativeHls.promise.then(function () { NativeHls._createPlayer(settings); }); } return NativeHls.promise; }, _createPlayer: function _createPlayer(settings) { var player = new Hls(settings.options); _window2.default['__ready__' + settings.id](player); return player; } }; var HlsNativeRenderer = { name: 'native_hls', options: { prefix: 'native_hls', hls: { path: 'https://cdn.jsdelivr.net/npm/hls.js@latest', autoStartLoad: false, debug: false } }, canPlayType: function canPlayType(type) { return _constants.HAS_MSE && ['application/x-mpegurl', 'application/vnd.apple.mpegurl', 'audio/mpegurl', 'audio/hls', 'video/hls'].indexOf(type.toLowerCase()) > -1; }, create: function create(mediaElement, options, mediaFiles) { var originalNode = mediaElement.originalNode, id = mediaElement.id + '_' + options.prefix, preload = originalNode.getAttribute('preload'), autoplay = originalNode.autoplay; var hlsPlayer = null, node = null, index = 0, total = mediaFiles.length; node = originalNode.cloneNode(true); options = Object.assign(options, mediaElement.options); options.hls.autoStartLoad = preload && preload !== 'none' || autoplay; var props = _mejs2.default.html5media.properties, events = _mejs2.default.html5media.events.concat(['click', 'mouseover', 'mouseout']).filter(function (e) { return e !== 'error'; }), attachNativeEvents = function attachNativeEvents(e) { var event = (0, _general.createEvent)(e.type, mediaElement); mediaElement.dispatchEvent(event); }, assignGettersSetters = function assignGettersSetters(propName) { var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1); node['get' + capName] = function () { return hlsPlayer !== null ? node[propName] : null; }; node['set' + capName] = function (value) { if (_mejs2.default.html5media.readOnlyProperties.indexOf(propName) === -1) { if (propName === 'src') { node[propName] = (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value.src ? value.src : value; if (hlsPlayer !== null) { hlsPlayer.destroy(); for (var i = 0, _total = events.length; i < _total; i++) { node.removeEventListener(events[i], attachNativeEvents); } hlsPlayer = NativeHls._createPlayer({ options: options.hls, id: id }); hlsPlayer.loadSource(value); hlsPlayer.attachMedia(node); } } else { node[propName] = value; } } }; }; for (var i = 0, _total2 = props.length; i < _total2; i++) { assignGettersSetters(props[i]); } _window2.default['__ready__' + id] = function (_hlsPlayer) { mediaElement.hlsPlayer = hlsPlayer = _hlsPlayer; var hlsEvents = Hls.Events, assignEvents = function assignEvents(eventName) { if (eventName === 'loadedmetadata') { var url = mediaElement.originalNode.src; hlsPlayer.detachMedia(); hlsPlayer.loadSource(url); hlsPlayer.attachMedia(node); } node.addEventListener(eventName, attachNativeEvents); }; for (var _i = 0, _total3 = events.length; _i < _total3; _i++) { assignEvents(events[_i]); } var recoverDecodingErrorDate = void 0, recoverSwapAudioCodecDate = void 0; var assignHlsEvents = function assignHlsEvents(name, data) { if (name === 'hlsError') { console.warn(data); data = data[1]; if (data.fatal) { switch (data.type) { case 'mediaError': var now = new Date().getTime(); if (!recoverDecodingErrorDate || now - recoverDecodingErrorDate > 3000) { recoverDecodingErrorDate = new Date().getTime(); hlsPlayer.recoverMediaError(); } else if (!recoverSwapAudioCodecDate || now - recoverSwapAudioCodecDate > 3000) { recoverSwapAudioCodecDate = new Date().getTime(); console.warn('Attempting to swap Audio Codec and recover from media error'); hlsPlayer.swapAudioCodec(); hlsPlayer.recoverMediaError(); } else { var message = 'Cannot recover, last media error recovery failed'; mediaElement.generateError(message, node.src); console.error(message); } break; case 'networkError': if (data.details === 'manifestLoadError') { if (index < total && mediaFiles[index + 1] !== undefined) { node.setSrc(mediaFiles[index++].src); node.load(); node.play(); } else { var _message = 'Network error'; mediaElement.generateError(_message, mediaFiles); console.error(_message); } } else { var _message2 = 'Network error'; mediaElement.generateError(_message2, mediaFiles); console.error(_message2); } break; default: hlsPlayer.destroy(); break; } return; } } var event = (0, _general.createEvent)(name, mediaElement); event.data = data; mediaElement.dispatchEvent(event); }; var _loop = function _loop(eventType) { if (hlsEvents.hasOwnProperty(eventType)) { hlsPlayer.on(hlsEvents[eventType], function () { for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return assignHlsEvents(hlsEvents[eventType], args); }); } }; for (var eventType in hlsEvents) { _loop(eventType); } }; if (total > 0) { for (; index < total; index++) { if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[index].type)) { node.setAttribute('src', mediaFiles[index].src); break; } } } if (preload !== 'auto' && !autoplay) { node.addEventListener('play', function () { if (hlsPlayer !== null) { hlsPlayer.startLoad(); } }); node.addEventListener('pause', function () { if (hlsPlayer !== null) { hlsPlayer.stopLoad(); } }); } node.setAttribute('id', id); originalNode.parentNode.insertBefore(node, originalNode); originalNode.autoplay = false; originalNode.style.display = 'none'; node.setSize = function (width, height) { node.style.width = width + 'px'; node.style.height = height + 'px'; return node; }; node.hide = function () { node.pause(); node.style.display = 'none'; return node; }; node.show = function () { node.style.display = ''; return node; }; node.destroy = function () { if (hlsPlayer !== null) { hlsPlayer.stopLoad(); hlsPlayer.destroy(); } }; var event = (0, _general.createEvent)('rendererready', node); mediaElement.dispatchEvent(event); mediaElement.promises.push(NativeHls.load({ options: options.hls, id: id })); return node; } }; _media.typeChecks.push(function (url) { return ~url.toLowerCase().indexOf('.m3u8') ? 'application/x-mpegURL' : null; }); _renderer.renderer.add(HlsNativeRenderer); },{"25":25,"26":26,"27":27,"28":28,"3":3,"7":7,"8":8}],23:[function(_dereq_,module,exports){ 'use strict'; var _window = _dereq_(3); var _window2 = _interopRequireDefault(_window); var _document = _dereq_(2); var _document2 = _interopRequireDefault(_document); var _mejs = _dereq_(7); var _mejs2 = _interopRequireDefault(_mejs); var _renderer = _dereq_(8); var _general = _dereq_(27); var _constants = _dereq_(25); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var HtmlMediaElement = { name: 'html5', options: { prefix: 'html5' }, canPlayType: function canPlayType(type) { var mediaElement = _document2.default.createElement('video'); if (_constants.IS_ANDROID && /\/mp(3|4)$/i.test(type) || ~['application/x-mpegurl', 'vnd.apple.mpegurl', 'audio/mpegurl', 'audio/hls', 'video/hls'].indexOf(type.toLowerCase()) && _constants.SUPPORTS_NATIVE_HLS) { return 'yes'; } else if (mediaElement.canPlayType) { return mediaElement.canPlayType(type.toLowerCase()).replace(/no/, ''); } else { return ''; } }, create: function create(mediaElement, options, mediaFiles) { var id = mediaElement.id + '_' + options.prefix; var isActive = false; var node = null; if (mediaElement.originalNode === undefined || mediaElement.originalNode === null) { node = _document2.default.createElement('audio'); mediaElement.appendChild(node); } else { node = mediaElement.originalNode; } node.setAttribute('id', id); var props = _mejs2.default.html5media.properties, assignGettersSetters = function assignGettersSetters(propName) { var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1); node['get' + capName] = function () { return node[propName]; }; node['set' + capName] = function (value) { if (_mejs2.default.html5media.readOnlyProperties.indexOf(propName) === -1) { node[propName] = value; } }; }; for (var i = 0, _total = props.length; i < _total; i++) { assignGettersSetters(props[i]); } var events = _mejs2.default.html5media.events.concat(['click', 'mouseover', 'mouseout']).filter(function (e) { return e !== 'error'; }), assignEvents = function assignEvents(eventName) { node.addEventListener(eventName, function (e) { if (isActive) { var _event = (0, _general.createEvent)(e.type, e.target); mediaElement.dispatchEvent(_event); } }); }; for (var _i = 0, _total2 = events.length; _i < _total2; _i++) { assignEvents(events[_i]); } node.setSize = function (width, height) { node.style.width = width + 'px'; node.style.height = height + 'px'; return node; }; node.hide = function () { isActive = false; node.style.display = 'none'; return node; }; node.show = function () { isActive = true; node.style.display = ''; return node; }; var index = 0, total = mediaFiles.length; if (total > 0) { for (; index < total; index++) { if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[index].type)) { node.setAttribute('src', mediaFiles[index].src); break; } } } node.addEventListener('error', function (e) { if (e && e.target && e.target.error && e.target.error.code === 4 && isActive) { if (index < total && mediaFiles[index + 1] !== undefined) { node.src = mediaFiles[index++].src; node.load(); node.play(); } else { mediaElement.generateError('Media error: Format(s) not supported or source(s) not found', mediaFiles); } } }); var event = (0, _general.createEvent)('rendererready', node); mediaElement.dispatchEvent(event); return node; } }; _window2.default.HtmlMediaElement = _mejs2.default.HtmlMediaElement = HtmlMediaElement; _renderer.renderer.add(HtmlMediaElement); },{"2":2,"25":25,"27":27,"3":3,"7":7,"8":8}],24:[function(_dereq_,module,exports){ 'use strict'; var _window = _dereq_(3); var _window2 = _interopRequireDefault(_window); var _document = _dereq_(2); var _document2 = _interopRequireDefault(_document); var _mejs = _dereq_(7); var _mejs2 = _interopRequireDefault(_mejs); var _renderer = _dereq_(8); var _general = _dereq_(27); var _media = _dereq_(28); var _dom = _dereq_(26); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var YouTubeApi = { isIframeStarted: false, isIframeLoaded: false, iframeQueue: [], enqueueIframe: function enqueueIframe(settings) { YouTubeApi.isLoaded = typeof YT !== 'undefined' && YT.loaded; if (YouTubeApi.isLoaded) { YouTubeApi.createIframe(settings); } else { YouTubeApi.loadIframeApi(); YouTubeApi.iframeQueue.push(settings); } }, loadIframeApi: function loadIframeApi() { if (!YouTubeApi.isIframeStarted) { (0, _dom.loadScript)('https://www.youtube.com/player_api'); YouTubeApi.isIframeStarted = true; } }, iFrameReady: function iFrameReady() { YouTubeApi.isLoaded = true; YouTubeApi.isIframeLoaded = true; while (YouTubeApi.iframeQueue.length > 0) { var settings = YouTubeApi.iframeQueue.pop(); YouTubeApi.createIframe(settings); } }, createIframe: function createIframe(settings) { return new YT.Player(settings.containerId, settings); }, getYouTubeId: function getYouTubeId(url) { var youTubeId = ''; if (url.indexOf('?') > 0) { youTubeId = YouTubeApi.getYouTubeIdFromParam(url); if (youTubeId === '') { youTubeId = YouTubeApi.getYouTubeIdFromUrl(url); } } else { youTubeId = YouTubeApi.getYouTubeIdFromUrl(url); } var id = youTubeId.substring(youTubeId.lastIndexOf('/') + 1); youTubeId = id.split('?'); return youTubeId[0]; }, getYouTubeIdFromParam: function getYouTubeIdFromParam(url) { if (url === undefined || url === null || !url.trim().length) { return null; } var parts = url.split('?'), parameters = parts[1].split('&'); var youTubeId = ''; for (var i = 0, total = parameters.length; i < total; i++) { var paramParts = parameters[i].split('='); if (paramParts[0] === 'v') { youTubeId = paramParts[1]; break; } } return youTubeId; }, getYouTubeIdFromUrl: function getYouTubeIdFromUrl(url) { if (url === undefined || url === null || !url.trim().length) { return null; } var parts = url.split('?'); url = parts[0]; return url.substring(url.lastIndexOf('/') + 1); }, getYouTubeNoCookieUrl: function getYouTubeNoCookieUrl(url) { if (url === undefined || url === null || !url.trim().length || url.indexOf('//www.youtube') === -1) { return url; } var parts = url.split('/'); parts[2] = parts[2].replace('.com', '-nocookie.com'); return parts.join('/'); } }; var YouTubeIframeRenderer = { name: 'youtube_iframe', options: { prefix: 'youtube_iframe', youtube: { autoplay: 0, controls: 0, disablekb: 1, end: 0, loop: 0, modestbranding: 0, playsinline: 0, rel: 0, showinfo: 0, start: 0, iv_load_policy: 3, nocookie: false, imageQuality: null } }, canPlayType: function canPlayType(type) { return ~['video/youtube', 'video/x-youtube'].indexOf(type.toLowerCase()); }, create: function create(mediaElement, options, mediaFiles) { var youtube = {}, apiStack = [], readyState = 4; var youTubeApi = null, paused = true, ended = false, youTubeIframe = null, volume = 1; youtube.options = options; youtube.id = mediaElement.id + '_' + options.prefix; youtube.mediaElement = mediaElement; var props = _mejs2.default.html5media.properties, assignGettersSetters = function assignGettersSetters(propName) { var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1); youtube['get' + capName] = function () { if (youTubeApi !== null) { var value = null; switch (propName) { case 'currentTime': return youTubeApi.getCurrentTime(); case 'duration': return youTubeApi.getDuration(); case 'volume': volume = youTubeApi.getVolume() / 100; return volume; case 'playbackRate': return youTubeApi.getPlaybackRate(); case 'paused': return paused; case 'ended': return ended; case 'muted': return youTubeApi.isMuted(); case 'buffered': var percentLoaded = youTubeApi.getVideoLoadedFraction(), duration = youTubeApi.getDuration(); return { start: function start() { return 0; }, end: function end() { return percentLoaded * duration; }, length: 1 }; case 'src': return youTubeApi.getVideoUrl(); case 'readyState': return readyState; } return value; } else { return null; } }; youtube['set' + capName] = function (value) { if (youTubeApi !== null) { switch (propName) { case 'src': var url = typeof value === 'string' ? value : value[0].src, _videoId = YouTubeApi.getYouTubeId(url); if (mediaElement.originalNode.autoplay) { youTubeApi.loadVideoById(_videoId); } else { youTubeApi.cueVideoById(_videoId); } break; case 'currentTime': youTubeApi.seekTo(value); break; case 'muted': if (value) { youTubeApi.mute(); } else { youTubeApi.unMute(); } setTimeout(function () { var event = (0, _general.createEvent)('volumechange', youtube); mediaElement.dispatchEvent(event); }, 50); break; case 'volume': volume = value; youTubeApi.setVolume(value * 100); setTimeout(function () { var event = (0, _general.createEvent)('volumechange', youtube); mediaElement.dispatchEvent(event); }, 50); break; case 'playbackRate': youTubeApi.setPlaybackRate(value); setTimeout(function () { var event = (0, _general.createEvent)('ratechange', youtube); mediaElement.dispatchEvent(event); }, 50); break; case 'readyState': var event = (0, _general.createEvent)('canplay', youtube); mediaElement.dispatchEvent(event); break; default: break; } } else { apiStack.push({ type: 'set', propName: propName, value: value }); } }; }; for (var i = 0, total = props.length; i < total; i++) { assignGettersSetters(props[i]); } var methods = _mejs2.default.html5media.methods, assignMethods = function assignMethods(methodName) { youtube[methodName] = function () { if (youTubeApi !== null) { switch (methodName) { case 'play': paused = false; return youTubeApi.playVideo(); case 'pause': paused = true; return youTubeApi.pauseVideo(); case 'load': return null; } } else { apiStack.push({ type: 'call', methodName: methodName }); } }; }; for (var _i = 0, _total = methods.length; _i < _total; _i++) { assignMethods(methods[_i]); } var errorHandler = function errorHandler(error) { var message = ''; switch (error.data) { case 2: message = 'The request contains an invalid parameter value. Verify that video ID has 11 characters and that contains no invalid characters, such as exclamation points or asterisks.'; break; case 5: message = 'The requested content cannot be played in an HTML5 player or another error related to the HTML5 player has occurred.'; break; case 100: message = 'The video requested was not found. Either video has been removed or has been marked as private.'; break; case 101: case 105: message = 'The owner of the requested video does not allow it to be played in embedded players.'; break; default: message = 'Unknown error.'; break; } mediaElement.generateError('Code ' + error.data + ': ' + message, mediaFiles); }; var youtubeContainer = _document2.default.createElement('div'); youtubeContainer.id = youtube.id; if (youtube.options.youtube.nocookie) { mediaElement.originalNode.src = YouTubeApi.getYouTubeNoCookieUrl(mediaFiles[0].src); } mediaElement.originalNode.parentNode.insertBefore(youtubeContainer, mediaElement.originalNode); mediaElement.originalNode.style.display = 'none'; var isAudio = mediaElement.originalNode.tagName.toLowerCase() === 'audio', height = isAudio ? '1' : mediaElement.originalNode.height, width = isAudio ? '1' : mediaElement.originalNode.width, videoId = YouTubeApi.getYouTubeId(mediaFiles[0].src), youtubeSettings = { id: youtube.id, containerId: youtubeContainer.id, videoId: videoId, height: height, width: width, host: youtube.options.youtube && youtube.options.youtube.nocookie ? 'https://www.youtube-nocookie.com' : undefined, playerVars: Object.assign({ controls: 0, rel: 0, disablekb: 1, showinfo: 0, modestbranding: 0, html5: 1, iv_load_policy: 3 }, youtube.options.youtube), origin: _window2.default.location.host, events: { onReady: function onReady(e) { mediaElement.youTubeApi = youTubeApi = e.target; mediaElement.youTubeState = { paused: true, ended: false }; if (apiStack.length) { for (var _i2 = 0, _total2 = apiStack.length; _i2 < _total2; _i2++) { var stackItem = apiStack[_i2]; if (stackItem.type === 'set') { var propName = stackItem.propName, capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1); youtube['set' + capName](stackItem.value); } else if (stackItem.type === 'call') { youtube[stackItem.methodName](); } } } youTubeIframe = youTubeApi.getIframe(); if (mediaElement.originalNode.muted) { youTubeApi.mute(); } var events = ['mouseover', 'mouseout'], assignEvents = function assignEvents(e) { var newEvent = (0, _general.createEvent)(e.type, youtube); mediaElement.dispatchEvent(newEvent); }; for (var _i3 = 0, _total3 = events.length; _i3 < _total3; _i3++) { youTubeIframe.addEventListener(events[_i3], assignEvents, false); } var initEvents = ['rendererready', 'loadedmetadata', 'loadeddata', 'canplay']; for (var _i4 = 0, _total4 = initEvents.length; _i4 < _total4; _i4++) { var event = (0, _general.createEvent)(initEvents[_i4], youtube); mediaElement.dispatchEvent(event); } }, onStateChange: function onStateChange(e) { var events = []; switch (e.data) { case -1: events = ['loadedmetadata']; paused = true; ended = false; break; case 0: events = ['ended']; paused = false; ended = !youtube.options.youtube.loop; if (!youtube.options.youtube.loop) { youtube.stopInterval(); } break; case 1: events = ['play', 'playing']; paused = false; ended = false; youtube.startInterval(); break; case 2: events = ['pause']; paused = true; ended = false; youtube.stopInterval(); break; case 3: events = ['progress']; ended = false; break; case 5: events = ['loadeddata', 'loadedmetadata', 'canplay']; paused = true; ended = false; break; } for (var _i5 = 0, _total5 = events.length; _i5 < _total5; _i5++) { var event = (0, _general.createEvent)(events[_i5], youtube); mediaElement.dispatchEvent(event); } }, onError: function onError(e) { return errorHandler(e); } } }; if (isAudio || mediaElement.originalNode.hasAttribute('playsinline')) { youtubeSettings.playerVars.playsinline = 1; } if (mediaElement.originalNode.controls) { youtubeSettings.playerVars.controls = 1; } if (mediaElement.originalNode.autoplay) { youtubeSettings.playerVars.autoplay = 1; } if (mediaElement.originalNode.loop) { youtubeSettings.playerVars.loop = 1; } if ((youtubeSettings.playerVars.loop && parseInt(youtubeSettings.playerVars.loop, 10) === 1 || mediaElement.originalNode.src.indexOf('loop=') > -1) && !youtubeSettings.playerVars.playlist && mediaElement.originalNode.src.indexOf('playlist=') === -1) { youtubeSettings.playerVars.playlist = YouTubeApi.getYouTubeId(mediaElement.originalNode.src); } YouTubeApi.enqueueIframe(youtubeSettings); youtube.onEvent = function (eventName, player, _youTubeState) { if (_youTubeState !== null && _youTubeState !== undefined) { mediaElement.youTubeState = _youTubeState; } }; youtube.setSize = function (width, height) { if (youTubeApi !== null) { youTubeApi.setSize(width, height); } }; youtube.hide = function () { youtube.stopInterval(); youtube.pause(); if (youTubeIframe) { youTubeIframe.style.display = 'none'; } }; youtube.show = function () { if (youTubeIframe) { youTubeIframe.style.display = ''; } }; youtube.destroy = function () { youTubeApi.destroy(); }; youtube.interval = null; youtube.startInterval = function () { youtube.interval = setInterval(function () { var event = (0, _general.createEvent)('timeupdate', youtube); mediaElement.dispatchEvent(event); }, 250); }; youtube.stopInterval = function () { if (youtube.interval) { clearInterval(youtube.interval); } }; youtube.getPosterUrl = function () { var quality = options.youtube.imageQuality, resolutions = ['default', 'hqdefault', 'mqdefault', 'sddefault', 'maxresdefault'], id = YouTubeApi.getYouTubeId(mediaElement.originalNode.src); return quality && resolutions.indexOf(quality) > -1 && id ? 'https://img.youtube.com/vi/' + id + '/' + quality + '.jpg' : ''; }; return youtube; } }; _window2.default.onYouTubePlayerAPIReady = function () { YouTubeApi.iFrameReady(); }; _media.typeChecks.push(function (url) { return (/\/\/(www\.youtube|youtu\.?be)/i.test(url) ? 'video/x-youtube' : null ); }); _renderer.renderer.add(YouTubeIframeRenderer); },{"2":2,"26":26,"27":27,"28":28,"3":3,"7":7,"8":8}],25:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.cancelFullScreen = exports.requestFullScreen = exports.isFullScreen = exports.FULLSCREEN_EVENT_NAME = exports.HAS_NATIVE_FULLSCREEN_ENABLED = exports.HAS_TRUE_NATIVE_FULLSCREEN = exports.HAS_IOS_FULLSCREEN = exports.HAS_MS_NATIVE_FULLSCREEN = exports.HAS_MOZ_NATIVE_FULLSCREEN = exports.HAS_WEBKIT_NATIVE_FULLSCREEN = exports.HAS_NATIVE_FULLSCREEN = exports.SUPPORTS_NATIVE_HLS = exports.SUPPORT_PASSIVE_EVENT = exports.SUPPORT_POINTER_EVENTS = exports.HAS_MSE = exports.IS_STOCK_ANDROID = exports.IS_SAFARI = exports.IS_FIREFOX = exports.IS_CHROME = exports.IS_EDGE = exports.IS_IE = exports.IS_ANDROID = exports.IS_IOS = exports.IS_IPOD = exports.IS_IPHONE = exports.IS_IPAD = exports.UA = exports.NAV = undefined; var _window = _dereq_(3); var _window2 = _interopRequireDefault(_window); var _document = _dereq_(2); var _document2 = _interopRequireDefault(_document); var _mejs = _dereq_(7); var _mejs2 = _interopRequireDefault(_mejs); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var NAV = exports.NAV = _window2.default.navigator; var UA = exports.UA = NAV.userAgent.toLowerCase(); var IS_IPAD = exports.IS_IPAD = /ipad/i.test(UA) && !_window2.default.MSStream; var IS_IPHONE = exports.IS_IPHONE = /iphone/i.test(UA) && !_window2.default.MSStream; var IS_IPOD = exports.IS_IPOD = /ipod/i.test(UA) && !_window2.default.MSStream; var IS_IOS = exports.IS_IOS = /ipad|iphone|ipod/i.test(UA) && !_window2.default.MSStream; var IS_ANDROID = exports.IS_ANDROID = /android/i.test(UA); var IS_IE = exports.IS_IE = /(trident|microsoft)/i.test(NAV.appName); var IS_EDGE = exports.IS_EDGE = 'msLaunchUri' in NAV && !('documentMode' in _document2.default); var IS_CHROME = exports.IS_CHROME = /chrome/i.test(UA); var IS_FIREFOX = exports.IS_FIREFOX = /firefox/i.test(UA); var IS_SAFARI = exports.IS_SAFARI = /safari/i.test(UA) && !IS_CHROME; var IS_STOCK_ANDROID = exports.IS_STOCK_ANDROID = /^mozilla\/\d+\.\d+\s\(linux;\su;/i.test(UA); var HAS_MSE = exports.HAS_MSE = 'MediaSource' in _window2.default; var SUPPORT_POINTER_EVENTS = exports.SUPPORT_POINTER_EVENTS = function () { var element = _document2.default.createElement('x'), documentElement = _document2.default.documentElement, getComputedStyle = _window2.default.getComputedStyle; if (!('pointerEvents' in element.style)) { return false; } element.style.pointerEvents = 'auto'; element.style.pointerEvents = 'x'; documentElement.appendChild(element); var supports = getComputedStyle && (getComputedStyle(element, '') || {}).pointerEvents === 'auto'; element.remove(); return !!supports; }(); var SUPPORT_PASSIVE_EVENT = exports.SUPPORT_PASSIVE_EVENT = function () { var supportsPassive = false; try { var opts = Object.defineProperty({}, 'passive', { get: function get() { supportsPassive = true; } }); _window2.default.addEventListener('test', null, opts); } catch (e) {} return supportsPassive; }(); var html5Elements = ['source', 'track', 'audio', 'video']; var video = void 0; for (var i = 0, total = html5Elements.length; i < total; i++) { video = _document2.default.createElement(html5Elements[i]); } var SUPPORTS_NATIVE_HLS = exports.SUPPORTS_NATIVE_HLS = IS_SAFARI || IS_IE && /edge/i.test(UA); var hasiOSFullScreen = video.webkitEnterFullscreen !== undefined; var hasNativeFullscreen = video.requestFullscreen !== undefined; if (hasiOSFullScreen && /mac os x 10_5/i.test(UA)) { hasNativeFullscreen = false; hasiOSFullScreen = false; } var hasWebkitNativeFullScreen = video.webkitRequestFullScreen !== undefined; var hasMozNativeFullScreen = video.mozRequestFullScreen !== undefined; var hasMsNativeFullScreen = video.msRequestFullscreen !== undefined; var hasTrueNativeFullScreen = hasWebkitNativeFullScreen || hasMozNativeFullScreen || hasMsNativeFullScreen; var nativeFullScreenEnabled = hasTrueNativeFullScreen; var fullScreenEventName = ''; var isFullScreen = void 0, requestFullScreen = void 0, cancelFullScreen = void 0; if (hasMozNativeFullScreen) { nativeFullScreenEnabled = _document2.default.mozFullScreenEnabled; } else if (hasMsNativeFullScreen) { nativeFullScreenEnabled = _document2.default.msFullscreenEnabled; } if (IS_CHROME) { hasiOSFullScreen = false; } if (hasTrueNativeFullScreen) { if (hasWebkitNativeFullScreen) { fullScreenEventName = 'webkitfullscreenchange'; } else if (hasMozNativeFullScreen) { fullScreenEventName = 'fullscreenchange'; } else if (hasMsNativeFullScreen) { fullScreenEventName = 'MSFullscreenChange'; } exports.isFullScreen = isFullScreen = function isFullScreen() { if (hasMozNativeFullScreen) { return _document2.default.mozFullScreen; } else if (hasWebkitNativeFullScreen) { return _document2.default.webkitIsFullScreen; } else if (hasMsNativeFullScreen) { return _document2.default.msFullscreenElement !== null; } }; exports.requestFullScreen = requestFullScreen = function requestFullScreen(el) { if (hasWebkitNativeFullScreen) { el.webkitRequestFullScreen(); } else if (hasMozNativeFullScreen) { el.mozRequestFullScreen(); } else if (hasMsNativeFullScreen) { el.msRequestFullscreen(); } }; exports.cancelFullScreen = cancelFullScreen = function cancelFullScreen() { if (hasWebkitNativeFullScreen) { _document2.default.webkitCancelFullScreen(); } else if (hasMozNativeFullScreen) { _document2.default.mozCancelFullScreen(); } else if (hasMsNativeFullScreen) { _document2.default.msExitFullscreen(); } }; } var HAS_NATIVE_FULLSCREEN = exports.HAS_NATIVE_FULLSCREEN = hasNativeFullscreen; var HAS_WEBKIT_NATIVE_FULLSCREEN = exports.HAS_WEBKIT_NATIVE_FULLSCREEN = hasWebkitNativeFullScreen; var HAS_MOZ_NATIVE_FULLSCREEN = exports.HAS_MOZ_NATIVE_FULLSCREEN = hasMozNativeFullScreen; var HAS_MS_NATIVE_FULLSCREEN = exports.HAS_MS_NATIVE_FULLSCREEN = hasMsNativeFullScreen; var HAS_IOS_FULLSCREEN = exports.HAS_IOS_FULLSCREEN = hasiOSFullScreen; var HAS_TRUE_NATIVE_FULLSCREEN = exports.HAS_TRUE_NATIVE_FULLSCREEN = hasTrueNativeFullScreen; var HAS_NATIVE_FULLSCREEN_ENABLED = exports.HAS_NATIVE_FULLSCREEN_ENABLED = nativeFullScreenEnabled; var FULLSCREEN_EVENT_NAME = exports.FULLSCREEN_EVENT_NAME = fullScreenEventName; exports.isFullScreen = isFullScreen; exports.requestFullScreen = requestFullScreen; exports.cancelFullScreen = cancelFullScreen; _mejs2.default.Features = _mejs2.default.Features || {}; _mejs2.default.Features.isiPad = IS_IPAD; _mejs2.default.Features.isiPod = IS_IPOD; _mejs2.default.Features.isiPhone = IS_IPHONE; _mejs2.default.Features.isiOS = _mejs2.default.Features.isiPhone || _mejs2.default.Features.isiPad; _mejs2.default.Features.isAndroid = IS_ANDROID; _mejs2.default.Features.isIE = IS_IE; _mejs2.default.Features.isEdge = IS_EDGE; _mejs2.default.Features.isChrome = IS_CHROME; _mejs2.default.Features.isFirefox = IS_FIREFOX; _mejs2.default.Features.isSafari = IS_SAFARI; _mejs2.default.Features.isStockAndroid = IS_STOCK_ANDROID; _mejs2.default.Features.hasMSE = HAS_MSE; _mejs2.default.Features.supportsNativeHLS = SUPPORTS_NATIVE_HLS; _mejs2.default.Features.supportsPointerEvents = SUPPORT_POINTER_EVENTS; _mejs2.default.Features.supportsPassiveEvent = SUPPORT_PASSIVE_EVENT; _mejs2.default.Features.hasiOSFullScreen = HAS_IOS_FULLSCREEN; _mejs2.default.Features.hasNativeFullscreen = HAS_NATIVE_FULLSCREEN; _mejs2.default.Features.hasWebkitNativeFullScreen = HAS_WEBKIT_NATIVE_FULLSCREEN; _mejs2.default.Features.hasMozNativeFullScreen = HAS_MOZ_NATIVE_FULLSCREEN; _mejs2.default.Features.hasMsNativeFullScreen = HAS_MS_NATIVE_FULLSCREEN; _mejs2.default.Features.hasTrueNativeFullScreen = HAS_TRUE_NATIVE_FULLSCREEN; _mejs2.default.Features.nativeFullScreenEnabled = HAS_NATIVE_FULLSCREEN_ENABLED; _mejs2.default.Features.fullScreenEventName = FULLSCREEN_EVENT_NAME; _mejs2.default.Features.isFullScreen = isFullScreen; _mejs2.default.Features.requestFullScreen = requestFullScreen; _mejs2.default.Features.cancelFullScreen = cancelFullScreen; },{"2":2,"3":3,"7":7}],26:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.removeClass = exports.addClass = exports.hasClass = undefined; exports.loadScript = loadScript; exports.offset = offset; exports.toggleClass = toggleClass; exports.fadeOut = fadeOut; exports.fadeIn = fadeIn; exports.siblings = siblings; exports.visible = visible; exports.ajax = ajax; var _window = _dereq_(3); var _window2 = _interopRequireDefault(_window); var _document = _dereq_(2); var _document2 = _interopRequireDefault(_document); var _mejs = _dereq_(7); var _mejs2 = _interopRequireDefault(_mejs); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function loadScript(url) { return new Promise(function (resolve, reject) { var script = _document2.default.createElement('script'); script.src = url; script.async = true; script.onload = function () { script.remove(); resolve(); }; script.onerror = function () { script.remove(); reject(); }; _document2.default.head.appendChild(script); }); } function offset(el) { var rect = el.getBoundingClientRect(), scrollLeft = _window2.default.pageXOffset || _document2.default.documentElement.scrollLeft, scrollTop = _window2.default.pageYOffset || _document2.default.documentElement.scrollTop; return { top: rect.top + scrollTop, left: rect.left + scrollLeft }; } var hasClassMethod = void 0, addClassMethod = void 0, removeClassMethod = void 0; if ('classList' in _document2.default.documentElement) { hasClassMethod = function hasClassMethod(el, className) { return el.classList !== undefined && el.classList.contains(className); }; addClassMethod = function addClassMethod(el, className) { return el.classList.add(className); }; removeClassMethod = function removeClassMethod(el, className) { return el.classList.remove(className); }; } else { hasClassMethod = function hasClassMethod(el, className) { return new RegExp('\\b' + className + '\\b').test(el.className); }; addClassMethod = function addClassMethod(el, className) { if (!hasClass(el, className)) { el.className += ' ' + className; } }; removeClassMethod = function removeClassMethod(el, className) { el.className = el.className.replace(new RegExp('\\b' + className + '\\b', 'g'), ''); }; } var hasClass = exports.hasClass = hasClassMethod; var addClass = exports.addClass = addClassMethod; var removeClass = exports.removeClass = removeClassMethod; function toggleClass(el, className) { hasClass(el, className) ? removeClass(el, className) : addClass(el, className); } function fadeOut(el) { var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 400; var callback = arguments[2]; if (!el.style.opacity) { el.style.opacity = 1; } var start = null; _window2.default.requestAnimationFrame(function animate(timestamp) { start = start || timestamp; var progress = timestamp - start; var opacity = parseFloat(1 - progress / duration, 2); el.style.opacity = opacity < 0 ? 0 : opacity; if (progress > duration) { if (callback && typeof callback === 'function') { callback(); } } else { _window2.default.requestAnimationFrame(animate); } }); } function fadeIn(el) { var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 400; var callback = arguments[2]; if (!el.style.opacity) { el.style.opacity = 0; } var start = null; _window2.default.requestAnimationFrame(function animate(timestamp) { start = start || timestamp; var progress = timestamp - start; var opacity = parseFloat(progress / duration, 2); el.style.opacity = opacity > 1 ? 1 : opacity; if (progress > duration) { if (callback && typeof callback === 'function') { callback(); } } else { _window2.default.requestAnimationFrame(animate); } }); } function siblings(el, filter) { var siblings = []; el = el.parentNode.firstChild; do { if (!filter || filter(el)) { siblings.push(el); } } while (el = el.nextSibling); return siblings; } function visible(elem) { if (elem.getClientRects !== undefined && elem.getClientRects === 'function') { return !!(elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length); } return !!(elem.offsetWidth || elem.offsetHeight); } function ajax(url, dataType, success, error) { var xhr = _window2.default.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); var type = 'application/x-www-form-urlencoded; charset=UTF-8', completed = false, accept = '*/'.concat('*'); switch (dataType) { case 'text': type = 'text/plain'; break; case 'json': type = 'application/json, text/javascript'; break; case 'html': type = 'text/html'; break; case 'xml': type = 'application/xml, text/xml'; break; } if (type !== 'application/x-www-form-urlencoded') { accept = type + ', */*; q=0.01'; } if (xhr) { xhr.open('GET', url, true); xhr.setRequestHeader('Accept', accept); xhr.onreadystatechange = function () { if (completed) { return; } if (xhr.readyState === 4) { if (xhr.status === 200) { completed = true; var data = void 0; switch (dataType) { case 'json': data = JSON.parse(xhr.responseText); break; case 'xml': data = xhr.responseXML; break; default: data = xhr.responseText; break; } success(data); } else if (typeof error === 'function') { error(xhr.status); } } }; xhr.send(); } } _mejs2.default.Utils = _mejs2.default.Utils || {}; _mejs2.default.Utils.offset = offset; _mejs2.default.Utils.hasClass = hasClass; _mejs2.default.Utils.addClass = addClass; _mejs2.default.Utils.removeClass = removeClass; _mejs2.default.Utils.toggleClass = toggleClass; _mejs2.default.Utils.fadeIn = fadeIn; _mejs2.default.Utils.fadeOut = fadeOut; _mejs2.default.Utils.siblings = siblings; _mejs2.default.Utils.visible = visible; _mejs2.default.Utils.ajax = ajax; _mejs2.default.Utils.loadScript = loadScript; },{"2":2,"3":3,"7":7}],27:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.escapeHTML = escapeHTML; exports.debounce = debounce; exports.isObjectEmpty = isObjectEmpty; exports.splitEvents = splitEvents; exports.createEvent = createEvent; exports.isNodeAfter = isNodeAfter; exports.isString = isString; var _mejs = _dereq_(7); var _mejs2 = _interopRequireDefault(_mejs); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function escapeHTML(input) { if (typeof input !== 'string') { throw new Error('Argument passed must be a string'); } var map = { '&': '&', '<': '<', '>': '>', '"': '"' }; return input.replace(/[&<>"]/g, function (c) { return map[c]; }); } function debounce(func, wait) { var _this = this, _arguments = arguments; var immediate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; if (typeof func !== 'function') { throw new Error('First argument must be a function'); } if (typeof wait !== 'number') { throw new Error('Second argument must be a numeric value'); } var timeout = void 0; return function () { var context = _this, args = _arguments; var later = function later() { timeout = null; if (!immediate) { func.apply(context, args); } }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) { func.apply(context, args); } }; } function isObjectEmpty(instance) { return Object.getOwnPropertyNames(instance).length <= 0; } function splitEvents(events, id) { var rwindow = /^((after|before)print|(before)?unload|hashchange|message|o(ff|n)line|page(hide|show)|popstate|resize|storage)\b/; var ret = { d: [], w: [] }; (events || '').split(' ').forEach(function (v) { var eventName = '' + v + (id ? '.' + id : ''); if (eventName.startsWith('.')) { ret.d.push(eventName); ret.w.push(eventName); } else { ret[rwindow.test(v) ? 'w' : 'd'].push(eventName); } }); ret.d = ret.d.join(' '); ret.w = ret.w.join(' '); return ret; } function createEvent(eventName, target) { if (typeof eventName !== 'string') { throw new Error('Event name must be a string'); } var eventFrags = eventName.match(/([a-z]+\.([a-z]+))/i), detail = { target: target }; if (eventFrags !== null) { eventName = eventFrags[1]; detail.namespace = eventFrags[2]; } return new window.CustomEvent(eventName, { detail: detail }); } function isNodeAfter(sourceNode, targetNode) { return !!(sourceNode && targetNode && sourceNode.compareDocumentPosition(targetNode) & 2); } function isString(value) { return typeof value === 'string'; } _mejs2.default.Utils = _mejs2.default.Utils || {}; _mejs2.default.Utils.escapeHTML = escapeHTML; _mejs2.default.Utils.debounce = debounce; _mejs2.default.Utils.isObjectEmpty = isObjectEmpty; _mejs2.default.Utils.splitEvents = splitEvents; _mejs2.default.Utils.createEvent = createEvent; _mejs2.default.Utils.isNodeAfter = isNodeAfter; _mejs2.default.Utils.isString = isString; },{"7":7}],28:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.typeChecks = undefined; exports.absolutizeUrl = absolutizeUrl; exports.formatType = formatType; exports.getMimeFromType = getMimeFromType; exports.getTypeFromFile = getTypeFromFile; exports.getExtension = getExtension; exports.normalizeExtension = normalizeExtension; var _mejs = _dereq_(7); var _mejs2 = _interopRequireDefault(_mejs); var _general = _dereq_(27); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var typeChecks = exports.typeChecks = []; function absolutizeUrl(url) { if (typeof url !== 'string') { throw new Error('`url` argument must be a string'); } var el = document.createElement('div'); el.innerHTML = 'x'; return el.firstChild.href; } function formatType(url) { var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; return url && !type ? getTypeFromFile(url) : type; } function getMimeFromType(type) { if (typeof type !== 'string') { throw new Error('`type` argument must be a string'); } return type && type.indexOf(';') > -1 ? type.substr(0, type.indexOf(';')) : type; } function getTypeFromFile(url) { if (typeof url !== 'string') { throw new Error('`url` argument must be a string'); } for (var i = 0, total = typeChecks.length; i < total; i++) { var type = typeChecks[i](url); if (type) { return type; } } var ext = getExtension(url), normalizedExt = normalizeExtension(ext); var mime = 'video/mp4'; if (normalizedExt) { if (~['mp4', 'm4v', 'ogg', 'ogv', 'webm', 'flv', 'mpeg'].indexOf(normalizedExt)) { mime = 'video/' + normalizedExt; } else if ('mov' === normalizedExt) { mime = 'video/quicktime'; } else if (~['mp3', 'oga', 'wav', 'mid', 'midi'].indexOf(normalizedExt)) { mime = 'audio/' + normalizedExt; } } return mime; } function getExtension(url) { if (typeof url !== 'string') { throw new Error('`url` argument must be a string'); } var baseUrl = url.split('?')[0], baseName = baseUrl.split('\\').pop().split('/').pop(); return ~baseName.indexOf('.') ? baseName.substring(baseName.lastIndexOf('.') + 1) : ''; } function normalizeExtension(extension) { if (typeof extension !== 'string') { throw new Error('`extension` argument must be a string'); } switch (extension) { case 'mp4': case 'm4v': return 'mp4'; case 'webm': case 'webma': case 'webmv': return 'webm'; case 'ogg': case 'oga': case 'ogv': return 'ogg'; default: return extension; } } _mejs2.default.Utils = _mejs2.default.Utils || {}; _mejs2.default.Utils.typeChecks = typeChecks; _mejs2.default.Utils.absolutizeUrl = absolutizeUrl; _mejs2.default.Utils.formatType = formatType; _mejs2.default.Utils.getMimeFromType = getMimeFromType; _mejs2.default.Utils.getTypeFromFile = getTypeFromFile; _mejs2.default.Utils.getExtension = getExtension; _mejs2.default.Utils.normalizeExtension = normalizeExtension; },{"27":27,"7":7}],29:[function(_dereq_,module,exports){ 'use strict'; var _document = _dereq_(2); var _document2 = _interopRequireDefault(_document); var _promisePolyfill = _dereq_(4); var _promisePolyfill2 = _interopRequireDefault(_promisePolyfill); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } (function (arr) { arr.forEach(function (item) { if (item.hasOwnProperty('remove')) { return; } Object.defineProperty(item, 'remove', { configurable: true, enumerable: true, writable: true, value: function remove() { this.parentNode.removeChild(this); } }); }); })([Element.prototype, CharacterData.prototype, DocumentType.prototype]); (function () { if (typeof window.CustomEvent === 'function') { return false; } function CustomEvent(event, params) { params = params || { bubbles: false, cancelable: false, detail: undefined }; var evt = _document2.default.createEvent('CustomEvent'); evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); return evt; } CustomEvent.prototype = window.Event.prototype; window.CustomEvent = CustomEvent; })(); if (typeof Object.assign !== 'function') { Object.assign = function (target) { if (target === null || target === undefined) { throw new TypeError('Cannot convert undefined or null to object'); } var to = Object(target); for (var index = 1, total = arguments.length; index < total; index++) { var nextSource = arguments[index]; if (nextSource !== null) { for (var nextKey in nextSource) { if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) { to[nextKey] = nextSource[nextKey]; } } } } return to; }; } if (!String.prototype.startsWith) { String.prototype.startsWith = function (searchString, position) { position = position || 0; return this.substr(position, searchString.length) === searchString; }; } if (!Element.prototype.matches) { Element.prototype.matches = Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector || function (s) { var matches = (this.document || this.ownerDocument).querySelectorAll(s), i = matches.length - 1; while (--i >= 0 && matches.item(i) !== this) {} return i > -1; }; } if (window.Element && !Element.prototype.closest) { Element.prototype.closest = function (s) { var matches = (this.document || this.ownerDocument).querySelectorAll(s), i = void 0, el = this; do { i = matches.length; while (--i >= 0 && matches.item(i) !== el) {} } while (i < 0 && (el = el.parentElement)); return el; }; } (function () { var lastTime = 0; var vendors = ['ms', 'moz', 'webkit', 'o']; for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) { window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame']; window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame']; } if (!window.requestAnimationFrame) window.requestAnimationFrame = function (callback) { var currTime = new Date().getTime(); var timeToCall = Math.max(0, 16 - (currTime - lastTime)); var id = window.setTimeout(function () { callback(currTime + timeToCall); }, timeToCall); lastTime = currTime + timeToCall; return id; }; if (!window.cancelAnimationFrame) window.cancelAnimationFrame = function (id) { clearTimeout(id); }; })(); if (/firefox/i.test(navigator.userAgent)) { var getComputedStyle = window.getComputedStyle; window.getComputedStyle = function (el, pseudoEl) { var t = getComputedStyle(el, pseudoEl); return t === null ? { getPropertyValue: function getPropertyValue() {} } : t; }; } if (!window.Promise) { window.Promise = _promisePolyfill2.default; } (function (constructor) { if (constructor && constructor.prototype && constructor.prototype.children === null) { Object.defineProperty(constructor.prototype, 'children', { get: function get() { var i = 0, node = void 0, nodes = this.childNodes, children = []; while (node = nodes[i++]) { if (node.nodeType === 1) { children.push(node); } } return children; } }); } })(window.Node || window.Element); },{"2":2,"4":4}],30:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.isDropFrame = isDropFrame; exports.secondsToTimeCode = secondsToTimeCode; exports.timeCodeToSeconds = timeCodeToSeconds; exports.calculateTimeFormat = calculateTimeFormat; exports.convertSMPTEtoSeconds = convertSMPTEtoSeconds; var _mejs = _dereq_(7); var _mejs2 = _interopRequireDefault(_mejs); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function isDropFrame() { var fps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 25; return !(fps % 1 === 0); } function secondsToTimeCode(time) { var forceHours = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; var showFrameCount = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var fps = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 25; var secondsDecimalLength = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0; var timeFormat = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 'hh:mm:ss'; time = !time || typeof time !== 'number' || time < 0 ? 0 : time; var dropFrames = Math.round(fps * 0.066666), timeBase = Math.round(fps), framesPer24Hours = Math.round(fps * 3600) * 24, framesPer10Minutes = Math.round(fps * 600), frameSep = isDropFrame(fps) ? ';' : ':', hours = void 0, minutes = void 0, seconds = void 0, frames = void 0, f = Math.round(time * fps); if (isDropFrame(fps)) { if (f < 0) { f = framesPer24Hours + f; } f = f % framesPer24Hours; var d = Math.floor(f / framesPer10Minutes); var m = f % framesPer10Minutes; f = f + dropFrames * 9 * d; if (m > dropFrames) { f = f + dropFrames * Math.floor((m - dropFrames) / Math.round(timeBase * 60 - dropFrames)); } var timeBaseDivision = Math.floor(f / timeBase); hours = Math.floor(Math.floor(timeBaseDivision / 60) / 60); minutes = Math.floor(timeBaseDivision / 60) % 60; if (showFrameCount) { seconds = timeBaseDivision % 60; } else { seconds = Math.floor(f / timeBase % 60).toFixed(secondsDecimalLength); } } else { hours = Math.floor(time / 3600) % 24; minutes = Math.floor(time / 60) % 60; if (showFrameCount) { seconds = Math.floor(time % 60); } else { seconds = Math.floor(time % 60).toFixed(secondsDecimalLength); } } hours = hours <= 0 ? 0 : hours; minutes = minutes <= 0 ? 0 : minutes; seconds = seconds <= 0 ? 0 : seconds; seconds = seconds === 60 ? 0 : seconds; minutes = minutes === 60 ? 0 : minutes; var timeFormatFrags = timeFormat.split(':'); var timeFormatSettings = {}; for (var i = 0, total = timeFormatFrags.length; i < total; ++i) { var unique = ''; for (var j = 0, t = timeFormatFrags[i].length; j < t; j++) { if (unique.indexOf(timeFormatFrags[i][j]) < 0) { unique += timeFormatFrags[i][j]; } } if (~['f', 's', 'm', 'h'].indexOf(unique)) { timeFormatSettings[unique] = timeFormatFrags[i].length; } } var result = forceHours || hours > 0 ? (hours < 10 && timeFormatSettings.h > 1 ? '0' + hours : hours) + ':' : ''; result += (minutes < 10 && timeFormatSettings.m > 1 ? '0' + minutes : minutes) + ':'; result += '' + (seconds < 10 && timeFormatSettings.s > 1 ? '0' + seconds : seconds); if (showFrameCount) { frames = (f % timeBase).toFixed(0); frames = frames <= 0 ? 0 : frames; result += frames < 10 && timeFormatSettings.f ? frameSep + '0' + frames : '' + frameSep + frames; } return result; } function timeCodeToSeconds(time) { var fps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 25; if (typeof time !== 'string') { throw new TypeError('Time must be a string'); } if (time.indexOf(';') > 0) { time = time.replace(';', ':'); } if (!/\d{2}(\:\d{2}){0,3}/i.test(time)) { throw new TypeError('Time code must have the format `00:00:00`'); } var parts = time.split(':'); var output = void 0, hours = 0, minutes = 0, seconds = 0, frames = 0, totalMinutes = 0, dropFrames = Math.round(fps * 0.066666), timeBase = Math.round(fps), hFrames = timeBase * 3600, mFrames = timeBase * 60; switch (parts.length) { default: case 1: seconds = parseInt(parts[0], 10); break; case 2: minutes = parseInt(parts[0], 10); seconds = parseInt(parts[1], 10); break; case 3: hours = parseInt(parts[0], 10); minutes = parseInt(parts[1], 10); seconds = parseInt(parts[2], 10); break; case 4: hours = parseInt(parts[0], 10); minutes = parseInt(parts[1], 10); seconds = parseInt(parts[2], 10); frames = parseInt(parts[3], 10); break; } if (isDropFrame(fps)) { totalMinutes = 60 * hours + minutes; output = hFrames * hours + mFrames * minutes + timeBase * seconds + frames - dropFrames * (totalMinutes - Math.floor(totalMinutes / 10)); } else { output = (hFrames * hours + mFrames * minutes + fps * seconds + frames) / fps; } return parseFloat(output.toFixed(3)); } function calculateTimeFormat(time, options) { var fps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 25; time = !time || typeof time !== 'number' || time < 0 ? 0 : time; var hours = Math.floor(time / 3600) % 24, minutes = Math.floor(time / 60) % 60, seconds = Math.floor(time % 60), frames = Math.floor((time % 1 * fps).toFixed(3)), lis = [[frames, 'f'], [seconds, 's'], [minutes, 'm'], [hours, 'h']]; var format = options.timeFormat, firstTwoPlaces = format[1] === format[0], separatorIndex = firstTwoPlaces ? 2 : 1, separator = format.length < separatorIndex ? format[separatorIndex] : ':', firstChar = format[0], required = false; for (var i = 0, len = lis.length; i < len; i++) { if (~format.indexOf(lis[i][1])) { required = true; } else if (required) { var hasNextValue = false; for (var j = i; j < len; j++) { if (lis[j][0] > 0) { hasNextValue = true; break; } } if (!hasNextValue) { break; } if (!firstTwoPlaces) { format = firstChar + format; } format = lis[i][1] + separator + format; if (firstTwoPlaces) { format = lis[i][1] + format; } firstChar = lis[i][1]; } } options.timeFormat = format; } function convertSMPTEtoSeconds(SMPTE) { if (typeof SMPTE !== 'string') { throw new TypeError('Argument must be a string value'); } SMPTE = SMPTE.replace(',', '.'); var decimalLen = ~SMPTE.indexOf('.') ? SMPTE.split('.')[1].length : 0; var secs = 0, multiplier = 1; SMPTE = SMPTE.split(':').reverse(); for (var i = 0, total = SMPTE.length; i < total; i++) { multiplier = 1; if (i > 0) { multiplier = Math.pow(60, i); } secs += Number(SMPTE[i]) * multiplier; } return Number(secs.toFixed(decimalLen)); } _mejs2.default.Utils = _mejs2.default.Utils || {}; _mejs2.default.Utils.secondsToTimeCode = secondsToTimeCode; _mejs2.default.Utils.timeCodeToSeconds = timeCodeToSeconds; _mejs2.default.Utils.calculateTimeFormat = calculateTimeFormat; _mejs2.default.Utils.convertSMPTEtoSeconds = convertSMPTEtoSeconds; },{"7":7}]},{},[29,6,5,15,23,20,19,21,22,24,16,18,17,9,10,11,12,13,14]); PK!,=mediaelement/mediaelement.jsnu[/*! * MediaElement.js * http://www.mediaelementjs.com/ * * Wrapper that mimics native HTML5 MediaElement (audio and video) * using a variety of technologies (pure JavaScript, Flash, iframe) * * Copyright 2010-2017, John Dyer (http://j.hn/) * License: MIT * */(function(){function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o 1 && arguments[1] !== undefined ? arguments[1] : null; if (typeof message === 'string' && message.length) { var str = void 0, pluralForm = void 0; var language = i18n.language(); var _plural = function _plural(input, number, form) { if ((typeof input === 'undefined' ? 'undefined' : _typeof(input)) !== 'object' || typeof number !== 'number' || typeof form !== 'number') { return input; } var _pluralForms = function () { return [function () { return arguments.length <= 1 ? undefined : arguments[1]; }, function () { return (arguments.length <= 0 ? undefined : arguments[0]) === 1 ? arguments.length <= 1 ? undefined : arguments[1] : arguments.length <= 2 ? undefined : arguments[2]; }, function () { return (arguments.length <= 0 ? undefined : arguments[0]) === 0 || (arguments.length <= 0 ? undefined : arguments[0]) === 1 ? arguments.length <= 1 ? undefined : arguments[1] : arguments.length <= 2 ? undefined : arguments[2]; }, function () { if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 === 1 && (arguments.length <= 0 ? undefined : arguments[0]) % 100 !== 11) { return arguments.length <= 1 ? undefined : arguments[1]; } else if ((arguments.length <= 0 ? undefined : arguments[0]) !== 0) { return arguments.length <= 2 ? undefined : arguments[2]; } else { return arguments.length <= 3 ? undefined : arguments[3]; } }, function () { if ((arguments.length <= 0 ? undefined : arguments[0]) === 1 || (arguments.length <= 0 ? undefined : arguments[0]) === 11) { return arguments.length <= 1 ? undefined : arguments[1]; } else if ((arguments.length <= 0 ? undefined : arguments[0]) === 2 || (arguments.length <= 0 ? undefined : arguments[0]) === 12) { return arguments.length <= 2 ? undefined : arguments[2]; } else if ((arguments.length <= 0 ? undefined : arguments[0]) > 2 && (arguments.length <= 0 ? undefined : arguments[0]) < 20) { return arguments.length <= 3 ? undefined : arguments[3]; } else { return arguments.length <= 4 ? undefined : arguments[4]; } }, function () { if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) { return arguments.length <= 1 ? undefined : arguments[1]; } else if ((arguments.length <= 0 ? undefined : arguments[0]) === 0 || (arguments.length <= 0 ? undefined : arguments[0]) % 100 > 0 && (arguments.length <= 0 ? undefined : arguments[0]) % 100 < 20) { return arguments.length <= 2 ? undefined : arguments[2]; } else { return arguments.length <= 3 ? undefined : arguments[3]; } }, function () { if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 === 1 && (arguments.length <= 0 ? undefined : arguments[0]) % 100 !== 11) { return arguments.length <= 1 ? undefined : arguments[1]; } else if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 >= 2 && ((arguments.length <= 0 ? undefined : arguments[0]) % 100 < 10 || (arguments.length <= 0 ? undefined : arguments[0]) % 100 >= 20)) { return arguments.length <= 2 ? undefined : arguments[2]; } else { return [3]; } }, function () { if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 === 1 && (arguments.length <= 0 ? undefined : arguments[0]) % 100 !== 11) { return arguments.length <= 1 ? undefined : arguments[1]; } else if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 >= 2 && (arguments.length <= 0 ? undefined : arguments[0]) % 10 <= 4 && ((arguments.length <= 0 ? undefined : arguments[0]) % 100 < 10 || (arguments.length <= 0 ? undefined : arguments[0]) % 100 >= 20)) { return arguments.length <= 2 ? undefined : arguments[2]; } else { return arguments.length <= 3 ? undefined : arguments[3]; } }, function () { if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) { return arguments.length <= 1 ? undefined : arguments[1]; } else if ((arguments.length <= 0 ? undefined : arguments[0]) >= 2 && (arguments.length <= 0 ? undefined : arguments[0]) <= 4) { return arguments.length <= 2 ? undefined : arguments[2]; } else { return arguments.length <= 3 ? undefined : arguments[3]; } }, function () { if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) { return arguments.length <= 1 ? undefined : arguments[1]; } else if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 >= 2 && (arguments.length <= 0 ? undefined : arguments[0]) % 10 <= 4 && ((arguments.length <= 0 ? undefined : arguments[0]) % 100 < 10 || (arguments.length <= 0 ? undefined : arguments[0]) % 100 >= 20)) { return arguments.length <= 2 ? undefined : arguments[2]; } else { return arguments.length <= 3 ? undefined : arguments[3]; } }, function () { if ((arguments.length <= 0 ? undefined : arguments[0]) % 100 === 1) { return arguments.length <= 2 ? undefined : arguments[2]; } else if ((arguments.length <= 0 ? undefined : arguments[0]) % 100 === 2) { return arguments.length <= 3 ? undefined : arguments[3]; } else if ((arguments.length <= 0 ? undefined : arguments[0]) % 100 === 3 || (arguments.length <= 0 ? undefined : arguments[0]) % 100 === 4) { return arguments.length <= 4 ? undefined : arguments[4]; } else { return arguments.length <= 1 ? undefined : arguments[1]; } }, function () { if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) { return arguments.length <= 1 ? undefined : arguments[1]; } else if ((arguments.length <= 0 ? undefined : arguments[0]) === 2) { return arguments.length <= 2 ? undefined : arguments[2]; } else if ((arguments.length <= 0 ? undefined : arguments[0]) > 2 && (arguments.length <= 0 ? undefined : arguments[0]) < 7) { return arguments.length <= 3 ? undefined : arguments[3]; } else if ((arguments.length <= 0 ? undefined : arguments[0]) > 6 && (arguments.length <= 0 ? undefined : arguments[0]) < 11) { return arguments.length <= 4 ? undefined : arguments[4]; } else { return arguments.length <= 5 ? undefined : arguments[5]; } }, function () { if ((arguments.length <= 0 ? undefined : arguments[0]) === 0) { return arguments.length <= 1 ? undefined : arguments[1]; } else if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) { return arguments.length <= 2 ? undefined : arguments[2]; } else if ((arguments.length <= 0 ? undefined : arguments[0]) === 2) { return arguments.length <= 3 ? undefined : arguments[3]; } else if ((arguments.length <= 0 ? undefined : arguments[0]) % 100 >= 3 && (arguments.length <= 0 ? undefined : arguments[0]) % 100 <= 10) { return arguments.length <= 4 ? undefined : arguments[4]; } else if ((arguments.length <= 0 ? undefined : arguments[0]) % 100 >= 11) { return arguments.length <= 5 ? undefined : arguments[5]; } else { return arguments.length <= 6 ? undefined : arguments[6]; } }, function () { if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) { return arguments.length <= 1 ? undefined : arguments[1]; } else if ((arguments.length <= 0 ? undefined : arguments[0]) === 0 || (arguments.length <= 0 ? undefined : arguments[0]) % 100 > 1 && (arguments.length <= 0 ? undefined : arguments[0]) % 100 < 11) { return arguments.length <= 2 ? undefined : arguments[2]; } else if ((arguments.length <= 0 ? undefined : arguments[0]) % 100 > 10 && (arguments.length <= 0 ? undefined : arguments[0]) % 100 < 20) { return arguments.length <= 3 ? undefined : arguments[3]; } else { return arguments.length <= 4 ? undefined : arguments[4]; } }, function () { if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 === 1) { return arguments.length <= 1 ? undefined : arguments[1]; } else if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 === 2) { return arguments.length <= 2 ? undefined : arguments[2]; } else { return arguments.length <= 3 ? undefined : arguments[3]; } }, function () { return (arguments.length <= 0 ? undefined : arguments[0]) !== 11 && (arguments.length <= 0 ? undefined : arguments[0]) % 10 === 1 ? arguments.length <= 1 ? undefined : arguments[1] : arguments.length <= 2 ? undefined : arguments[2]; }, function () { if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) { return arguments.length <= 1 ? undefined : arguments[1]; } else if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 >= 2 && (arguments.length <= 0 ? undefined : arguments[0]) % 10 <= 4 && ((arguments.length <= 0 ? undefined : arguments[0]) % 100 < 10 || (arguments.length <= 0 ? undefined : arguments[0]) % 100 >= 20)) { return arguments.length <= 2 ? undefined : arguments[2]; } else { return arguments.length <= 3 ? undefined : arguments[3]; } }, function () { if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) { return arguments.length <= 1 ? undefined : arguments[1]; } else if ((arguments.length <= 0 ? undefined : arguments[0]) === 2) { return arguments.length <= 2 ? undefined : arguments[2]; } else if ((arguments.length <= 0 ? undefined : arguments[0]) !== 8 && (arguments.length <= 0 ? undefined : arguments[0]) !== 11) { return arguments.length <= 3 ? undefined : arguments[3]; } else { return arguments.length <= 4 ? undefined : arguments[4]; } }, function () { return (arguments.length <= 0 ? undefined : arguments[0]) === 0 ? arguments.length <= 1 ? undefined : arguments[1] : arguments.length <= 2 ? undefined : arguments[2]; }, function () { if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) { return arguments.length <= 1 ? undefined : arguments[1]; } else if ((arguments.length <= 0 ? undefined : arguments[0]) === 2) { return arguments.length <= 2 ? undefined : arguments[2]; } else if ((arguments.length <= 0 ? undefined : arguments[0]) === 3) { return arguments.length <= 3 ? undefined : arguments[3]; } else { return arguments.length <= 4 ? undefined : arguments[4]; } }, function () { if ((arguments.length <= 0 ? undefined : arguments[0]) === 0) { return arguments.length <= 1 ? undefined : arguments[1]; } else if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) { return arguments.length <= 2 ? undefined : arguments[2]; } else { return arguments.length <= 3 ? undefined : arguments[3]; } }]; }(); return _pluralForms[form].apply(null, [number].concat(input)); }; if (i18n[language] !== undefined) { str = i18n[language][message]; if (pluralParam !== null && typeof pluralParam === 'number') { pluralForm = i18n[language]['mejs.plural-form']; str = _plural.apply(null, [str, pluralParam, pluralForm]); } } if (!str && i18n.en) { str = i18n.en[message]; if (pluralParam !== null && typeof pluralParam === 'number') { pluralForm = i18n.en['mejs.plural-form']; str = _plural.apply(null, [str, pluralParam, pluralForm]); } } str = str || message; if (pluralParam !== null && typeof pluralParam === 'number') { str = str.replace('%1', pluralParam); } return (0, _general.escapeHTML)(str); } return message; }; _mejs2.default.i18n = i18n; if (typeof mejsL10n !== 'undefined') { _mejs2.default.i18n.language(mejsL10n.language, mejsL10n.strings); } exports.default = i18n; },{"18":18,"7":7,"9":9}],6:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _window = _dereq_(3); var _window2 = _interopRequireDefault(_window); var _document = _dereq_(2); var _document2 = _interopRequireDefault(_document); var _mejs = _dereq_(7); var _mejs2 = _interopRequireDefault(_mejs); var _general = _dereq_(18); var _media2 = _dereq_(19); var _renderer = _dereq_(8); var _constants = _dereq_(16); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var MediaElement = function MediaElement(idOrNode, options, sources) { var _this = this; _classCallCheck(this, MediaElement); var t = this; sources = Array.isArray(sources) ? sources : null; t.defaults = { renderers: [], fakeNodeName: 'mediaelementwrapper', pluginPath: 'build/', shimScriptAccess: 'sameDomain' }; options = Object.assign(t.defaults, options); t.mediaElement = _document2.default.createElement(options.fakeNodeName); var id = idOrNode, error = false; if (typeof idOrNode === 'string') { t.mediaElement.originalNode = _document2.default.getElementById(idOrNode); } else { t.mediaElement.originalNode = idOrNode; id = idOrNode.id; } if (t.mediaElement.originalNode === undefined || t.mediaElement.originalNode === null) { return null; } t.mediaElement.options = options; id = id || 'mejs_' + Math.random().toString().slice(2); t.mediaElement.originalNode.setAttribute('id', id + '_from_mejs'); var tagName = t.mediaElement.originalNode.tagName.toLowerCase(); if (['video', 'audio'].indexOf(tagName) > -1 && !t.mediaElement.originalNode.getAttribute('preload')) { t.mediaElement.originalNode.setAttribute('preload', 'none'); } t.mediaElement.originalNode.parentNode.insertBefore(t.mediaElement, t.mediaElement.originalNode); t.mediaElement.appendChild(t.mediaElement.originalNode); var processURL = function processURL(url, type) { if (_window2.default.location.protocol === 'https:' && url.indexOf('http:') === 0 && _constants.IS_IOS && _mejs2.default.html5media.mediaTypes.indexOf(type) > -1) { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function () { if (this.readyState === 4 && this.status === 200) { var _url = _window2.default.URL || _window2.default.webkitURL, blobUrl = _url.createObjectURL(this.response); t.mediaElement.originalNode.setAttribute('src', blobUrl); return blobUrl; } return url; }; xhr.open('GET', url); xhr.responseType = 'blob'; xhr.send(); } return url; }; var mediaFiles = void 0; if (sources !== null) { mediaFiles = sources; } else if (t.mediaElement.originalNode !== null) { mediaFiles = []; switch (t.mediaElement.originalNode.nodeName.toLowerCase()) { case 'iframe': mediaFiles.push({ type: '', src: t.mediaElement.originalNode.getAttribute('src') }); break; case 'audio': case 'video': var _sources = t.mediaElement.originalNode.children.length, nodeSource = t.mediaElement.originalNode.getAttribute('src'); if (nodeSource) { var node = t.mediaElement.originalNode, type = (0, _media2.formatType)(nodeSource, node.getAttribute('type')); mediaFiles.push({ type: type, src: processURL(nodeSource, type) }); } for (var i = 0; i < _sources; i++) { var n = t.mediaElement.originalNode.children[i]; if (n.tagName.toLowerCase() === 'source') { var src = n.getAttribute('src'), _type = (0, _media2.formatType)(src, n.getAttribute('type')); mediaFiles.push({ type: _type, src: processURL(src, _type) }); } } break; } } t.mediaElement.id = id; t.mediaElement.renderers = {}; t.mediaElement.events = {}; t.mediaElement.promises = []; t.mediaElement.renderer = null; t.mediaElement.rendererName = null; t.mediaElement.changeRenderer = function (rendererName, mediaFiles) { var t = _this, media = Object.keys(mediaFiles[0]).length > 2 ? mediaFiles[0] : mediaFiles[0].src; if (t.mediaElement.renderer !== undefined && t.mediaElement.renderer !== null && t.mediaElement.renderer.name === rendererName) { t.mediaElement.renderer.pause(); if (t.mediaElement.renderer.stop) { t.mediaElement.renderer.stop(); } t.mediaElement.renderer.show(); t.mediaElement.renderer.setSrc(media); return true; } if (t.mediaElement.renderer !== undefined && t.mediaElement.renderer !== null) { t.mediaElement.renderer.pause(); if (t.mediaElement.renderer.stop) { t.mediaElement.renderer.stop(); } t.mediaElement.renderer.hide(); } var newRenderer = t.mediaElement.renderers[rendererName], newRendererType = null; if (newRenderer !== undefined && newRenderer !== null) { newRenderer.show(); newRenderer.setSrc(media); t.mediaElement.renderer = newRenderer; t.mediaElement.rendererName = rendererName; return true; } var rendererArray = t.mediaElement.options.renderers.length ? t.mediaElement.options.renderers : _renderer.renderer.order; for (var _i = 0, total = rendererArray.length; _i < total; _i++) { var index = rendererArray[_i]; if (index === rendererName) { var rendererList = _renderer.renderer.renderers; newRendererType = rendererList[index]; var renderOptions = Object.assign(newRendererType.options, t.mediaElement.options); newRenderer = newRendererType.create(t.mediaElement, renderOptions, mediaFiles); newRenderer.name = rendererName; t.mediaElement.renderers[newRendererType.name] = newRenderer; t.mediaElement.renderer = newRenderer; t.mediaElement.rendererName = rendererName; newRenderer.show(); return true; } } return false; }; t.mediaElement.setSize = function (width, height) { if (t.mediaElement.renderer !== undefined && t.mediaElement.renderer !== null) { t.mediaElement.renderer.setSize(width, height); } }; t.mediaElement.generateError = function (message, urlList) { message = message || ''; urlList = Array.isArray(urlList) ? urlList : []; var event = (0, _general.createEvent)('error', t.mediaElement); event.message = message; event.urls = urlList; t.mediaElement.dispatchEvent(event); error = true; }; var props = _mejs2.default.html5media.properties, methods = _mejs2.default.html5media.methods, addProperty = function addProperty(obj, name, onGet, onSet) { var oldValue = obj[name]; var getFn = function getFn() { return onGet.apply(obj, [oldValue]); }, setFn = function setFn(newValue) { oldValue = onSet.apply(obj, [newValue]); return oldValue; }; Object.defineProperty(obj, name, { get: getFn, set: setFn }); }, assignGettersSetters = function assignGettersSetters(propName) { if (propName !== 'src') { var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1), getFn = function getFn() { return t.mediaElement.renderer !== undefined && t.mediaElement.renderer !== null && typeof t.mediaElement.renderer['get' + capName] === 'function' ? t.mediaElement.renderer['get' + capName]() : null; }, setFn = function setFn(value) { if (t.mediaElement.renderer !== undefined && t.mediaElement.renderer !== null && typeof t.mediaElement.renderer['set' + capName] === 'function') { t.mediaElement.renderer['set' + capName](value); } }; addProperty(t.mediaElement, propName, getFn, setFn); t.mediaElement['get' + capName] = getFn; t.mediaElement['set' + capName] = setFn; } }, getSrc = function getSrc() { return t.mediaElement.renderer !== undefined && t.mediaElement.renderer !== null ? t.mediaElement.renderer.getSrc() : null; }, setSrc = function setSrc(value) { var mediaFiles = []; if (typeof value === 'string') { mediaFiles.push({ src: value, type: value ? (0, _media2.getTypeFromFile)(value) : '' }); } else if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value.src !== undefined) { var _src = (0, _media2.absolutizeUrl)(value.src), _type2 = value.type, media = Object.assign(value, { src: _src, type: (_type2 === '' || _type2 === null || _type2 === undefined) && _src ? (0, _media2.getTypeFromFile)(_src) : _type2 }); mediaFiles.push(media); } else if (Array.isArray(value)) { for (var _i2 = 0, total = value.length; _i2 < total; _i2++) { var _src2 = (0, _media2.absolutizeUrl)(value[_i2].src), _type3 = value[_i2].type, _media = Object.assign(value[_i2], { src: _src2, type: (_type3 === '' || _type3 === null || _type3 === undefined) && _src2 ? (0, _media2.getTypeFromFile)(_src2) : _type3 }); mediaFiles.push(_media); } } var renderInfo = _renderer.renderer.select(mediaFiles, t.mediaElement.options.renderers.length ? t.mediaElement.options.renderers : []), event = void 0; if (!t.mediaElement.paused && !(t.mediaElement.src == null || t.mediaElement.src === '')) { t.mediaElement.pause(); event = (0, _general.createEvent)('pause', t.mediaElement); t.mediaElement.dispatchEvent(event); } t.mediaElement.originalNode.src = mediaFiles[0].src || ''; if (renderInfo === null && mediaFiles[0].src) { t.mediaElement.generateError('No renderer found', mediaFiles); return; } var shouldChangeRenderer = !(mediaFiles[0].src == null || mediaFiles[0].src === ''); return shouldChangeRenderer ? t.mediaElement.changeRenderer(renderInfo.rendererName, mediaFiles) : null; }, triggerAction = function triggerAction(methodName, args) { try { if (methodName === 'play' && (t.mediaElement.rendererName === 'native_dash' || t.mediaElement.rendererName === 'native_hls' || t.mediaElement.rendererName === 'vimeo_iframe')) { var response = t.mediaElement.renderer[methodName](args); if (response && typeof response.then === 'function') { response.catch(function () { if (t.mediaElement.paused) { setTimeout(function () { var tmpResponse = t.mediaElement.renderer.play(); if (tmpResponse !== undefined) { tmpResponse.catch(function () { if (!t.mediaElement.renderer.paused) { t.mediaElement.renderer.pause(); } }); } }, 150); } }); } } else { t.mediaElement.renderer[methodName](args); } } catch (e) { t.mediaElement.generateError(e, mediaFiles); } }, assignMethods = function assignMethods(methodName) { t.mediaElement[methodName] = function () { for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } if (t.mediaElement.renderer !== undefined && t.mediaElement.renderer !== null && typeof t.mediaElement.renderer[methodName] === 'function') { if (t.mediaElement.promises.length) { Promise.all(t.mediaElement.promises).then(function () { triggerAction(methodName, args); }).catch(function (e) { t.mediaElement.generateError(e, mediaFiles); }); } else { triggerAction(methodName, args); } } return null; }; }; addProperty(t.mediaElement, 'src', getSrc, setSrc); t.mediaElement.getSrc = getSrc; t.mediaElement.setSrc = setSrc; for (var _i3 = 0, total = props.length; _i3 < total; _i3++) { assignGettersSetters(props[_i3]); } for (var _i4 = 0, _total = methods.length; _i4 < _total; _i4++) { assignMethods(methods[_i4]); } t.mediaElement.addEventListener = function (eventName, callback) { t.mediaElement.events[eventName] = t.mediaElement.events[eventName] || []; t.mediaElement.events[eventName].push(callback); }; t.mediaElement.removeEventListener = function (eventName, callback) { if (!eventName) { t.mediaElement.events = {}; return true; } var callbacks = t.mediaElement.events[eventName]; if (!callbacks) { return true; } if (!callback) { t.mediaElement.events[eventName] = []; return true; } for (var _i5 = 0; _i5 < callbacks.length; _i5++) { if (callbacks[_i5] === callback) { t.mediaElement.events[eventName].splice(_i5, 1); return true; } } return false; }; t.mediaElement.dispatchEvent = function (event) { var callbacks = t.mediaElement.events[event.type]; if (callbacks) { for (var _i6 = 0; _i6 < callbacks.length; _i6++) { callbacks[_i6].apply(null, [event]); } } }; t.mediaElement.destroy = function () { var mediaElement = t.mediaElement.originalNode.cloneNode(true); var wrapper = t.mediaElement.parentElement; mediaElement.removeAttribute('id'); mediaElement.remove(); t.mediaElement.remove(); wrapper.appendChild(mediaElement); }; if (mediaFiles.length) { t.mediaElement.src = mediaFiles; } if (t.mediaElement.promises.length) { Promise.all(t.mediaElement.promises).then(function () { if (t.mediaElement.options.success) { t.mediaElement.options.success(t.mediaElement, t.mediaElement.originalNode); } }).catch(function () { if (error && t.mediaElement.options.error) { t.mediaElement.options.error(t.mediaElement, t.mediaElement.originalNode); } }); } else { if (t.mediaElement.options.success) { t.mediaElement.options.success(t.mediaElement, t.mediaElement.originalNode); } if (error && t.mediaElement.options.error) { t.mediaElement.options.error(t.mediaElement, t.mediaElement.originalNode); } } return t.mediaElement; }; _window2.default.MediaElement = MediaElement; _mejs2.default.MediaElement = MediaElement; exports.default = MediaElement; },{"16":16,"18":18,"19":19,"2":2,"3":3,"7":7,"8":8}],7:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _window = _dereq_(3); var _window2 = _interopRequireDefault(_window); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var mejs = {}; mejs.version = '4.2.17'; mejs.html5media = { properties: ['volume', 'src', 'currentTime', 'muted', 'duration', 'paused', 'ended', 'buffered', 'error', 'networkState', 'readyState', 'seeking', 'seekable', 'currentSrc', 'preload', 'bufferedBytes', 'bufferedTime', 'initialTime', 'startOffsetTime', 'defaultPlaybackRate', 'playbackRate', 'played', 'autoplay', 'loop', 'controls'], readOnlyProperties: ['duration', 'paused', 'ended', 'buffered', 'error', 'networkState', 'readyState', 'seeking', 'seekable'], methods: ['load', 'play', 'pause', 'canPlayType'], events: ['loadstart', 'durationchange', 'loadedmetadata', 'loadeddata', 'progress', 'canplay', 'canplaythrough', 'suspend', 'abort', 'error', 'emptied', 'stalled', 'play', 'playing', 'pause', 'waiting', 'seeking', 'seeked', 'timeupdate', 'ended', 'ratechange', 'volumechange'], mediaTypes: ['audio/mp3', 'audio/ogg', 'audio/oga', 'audio/wav', 'audio/x-wav', 'audio/wave', 'audio/x-pn-wav', 'audio/mpeg', 'audio/mp4', 'video/mp4', 'video/webm', 'video/ogg', 'video/ogv'] }; _window2.default.mejs = mejs; exports.default = mejs; },{"3":3}],8:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.renderer = undefined; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _mejs = _dereq_(7); var _mejs2 = _interopRequireDefault(_mejs); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var Renderer = function () { function Renderer() { _classCallCheck(this, Renderer); this.renderers = {}; this.order = []; } _createClass(Renderer, [{ key: 'add', value: function add(renderer) { if (renderer.name === undefined) { throw new TypeError('renderer must contain at least `name` property'); } this.renderers[renderer.name] = renderer; this.order.push(renderer.name); } }, { key: 'select', value: function select(mediaFiles) { var renderers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; var renderersLength = renderers.length; renderers = renderers.length ? renderers : this.order; if (!renderersLength) { var rendererIndicator = [/^(html5|native)/i, /^flash/i, /iframe$/i], rendererRanking = function rendererRanking(renderer) { for (var i = 0, total = rendererIndicator.length; i < total; i++) { if (rendererIndicator[i].test(renderer)) { return i; } } return rendererIndicator.length; }; renderers.sort(function (a, b) { return rendererRanking(a) - rendererRanking(b); }); } for (var i = 0, total = renderers.length; i < total; i++) { var key = renderers[i], _renderer = this.renderers[key]; if (_renderer !== null && _renderer !== undefined) { for (var j = 0, jl = mediaFiles.length; j < jl; j++) { if (typeof _renderer.canPlayType === 'function' && typeof mediaFiles[j].type === 'string' && _renderer.canPlayType(mediaFiles[j].type)) { return { rendererName: _renderer.name, src: mediaFiles[j].src }; } } } } return null; } }, { key: 'order', set: function set(order) { if (!Array.isArray(order)) { throw new TypeError('order must be an array of strings.'); } this._order = order; }, get: function get() { return this._order; } }, { key: 'renderers', set: function set(renderers) { if (renderers !== null && (typeof renderers === 'undefined' ? 'undefined' : _typeof(renderers)) !== 'object') { throw new TypeError('renderers must be an array of objects.'); } this._renderers = renderers; }, get: function get() { return this._renderers; } }]); return Renderer; }(); var renderer = exports.renderer = new Renderer(); _mejs2.default.Renderers = renderer; },{"7":7}],9:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var EN = exports.EN = { 'mejs.plural-form': 1, 'mejs.download-file': 'Download File', 'mejs.install-flash': 'You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https://get.adobe.com/flashplayer/', 'mejs.fullscreen': 'Fullscreen', 'mejs.play': 'Play', 'mejs.pause': 'Pause', 'mejs.time-slider': 'Time Slider', 'mejs.time-help-text': 'Use Left/Right Arrow keys to advance one second, Up/Down arrows to advance ten seconds.', 'mejs.live-broadcast': 'Live Broadcast', 'mejs.volume-help-text': 'Use Up/Down Arrow keys to increase or decrease volume.', 'mejs.unmute': 'Unmute', 'mejs.mute': 'Mute', 'mejs.volume-slider': 'Volume Slider', 'mejs.video-player': 'Video Player', 'mejs.audio-player': 'Audio Player', 'mejs.captions-subtitles': 'Captions/Subtitles', 'mejs.captions-chapters': 'Chapters', 'mejs.none': 'None', 'mejs.afrikaans': 'Afrikaans', 'mejs.albanian': 'Albanian', 'mejs.arabic': 'Arabic', 'mejs.belarusian': 'Belarusian', 'mejs.bulgarian': 'Bulgarian', 'mejs.catalan': 'Catalan', 'mejs.chinese': 'Chinese', 'mejs.chinese-simplified': 'Chinese (Simplified)', 'mejs.chinese-traditional': 'Chinese (Traditional)', 'mejs.croatian': 'Croatian', 'mejs.czech': 'Czech', 'mejs.danish': 'Danish', 'mejs.dutch': 'Dutch', 'mejs.english': 'English', 'mejs.estonian': 'Estonian', 'mejs.filipino': 'Filipino', 'mejs.finnish': 'Finnish', 'mejs.french': 'French', 'mejs.galician': 'Galician', 'mejs.german': 'German', 'mejs.greek': 'Greek', 'mejs.haitian-creole': 'Haitian Creole', 'mejs.hebrew': 'Hebrew', 'mejs.hindi': 'Hindi', 'mejs.hungarian': 'Hungarian', 'mejs.icelandic': 'Icelandic', 'mejs.indonesian': 'Indonesian', 'mejs.irish': 'Irish', 'mejs.italian': 'Italian', 'mejs.japanese': 'Japanese', 'mejs.korean': 'Korean', 'mejs.latvian': 'Latvian', 'mejs.lithuanian': 'Lithuanian', 'mejs.macedonian': 'Macedonian', 'mejs.malay': 'Malay', 'mejs.maltese': 'Maltese', 'mejs.norwegian': 'Norwegian', 'mejs.persian': 'Persian', 'mejs.polish': 'Polish', 'mejs.portuguese': 'Portuguese', 'mejs.romanian': 'Romanian', 'mejs.russian': 'Russian', 'mejs.serbian': 'Serbian', 'mejs.slovak': 'Slovak', 'mejs.slovenian': 'Slovenian', 'mejs.spanish': 'Spanish', 'mejs.swahili': 'Swahili', 'mejs.swedish': 'Swedish', 'mejs.tagalog': 'Tagalog', 'mejs.thai': 'Thai', 'mejs.turkish': 'Turkish', 'mejs.ukrainian': 'Ukrainian', 'mejs.vietnamese': 'Vietnamese', 'mejs.welsh': 'Welsh', 'mejs.yiddish': 'Yiddish' }; },{}],10:[function(_dereq_,module,exports){ 'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _window = _dereq_(3); var _window2 = _interopRequireDefault(_window); var _mejs = _dereq_(7); var _mejs2 = _interopRequireDefault(_mejs); var _renderer = _dereq_(8); var _general = _dereq_(18); var _media = _dereq_(19); var _constants = _dereq_(16); var _dom = _dereq_(17); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var NativeDash = { promise: null, load: function load(settings) { if (typeof dashjs !== 'undefined') { NativeDash.promise = new Promise(function (resolve) { resolve(); }).then(function () { NativeDash._createPlayer(settings); }); } else { settings.options.path = typeof settings.options.path === 'string' ? settings.options.path : 'https://cdn.dashjs.org/latest/dash.all.min.js'; NativeDash.promise = NativeDash.promise || (0, _dom.loadScript)(settings.options.path); NativeDash.promise.then(function () { NativeDash._createPlayer(settings); }); } return NativeDash.promise; }, _createPlayer: function _createPlayer(settings) { var player = dashjs.MediaPlayer().create(); _window2.default['__ready__' + settings.id](player); return player; } }; var DashNativeRenderer = { name: 'native_dash', options: { prefix: 'native_dash', dash: { path: 'https://cdn.dashjs.org/latest/dash.all.min.js', debug: false, drm: {}, robustnessLevel: '' } }, canPlayType: function canPlayType(type) { return _constants.HAS_MSE && ['application/dash+xml'].indexOf(type.toLowerCase()) > -1; }, create: function create(mediaElement, options, mediaFiles) { var originalNode = mediaElement.originalNode, id = mediaElement.id + '_' + options.prefix, autoplay = originalNode.autoplay, children = originalNode.children; var node = null, dashPlayer = null; originalNode.removeAttribute('type'); for (var i = 0, total = children.length; i < total; i++) { children[i].removeAttribute('type'); } node = originalNode.cloneNode(true); options = Object.assign(options, mediaElement.options); var props = _mejs2.default.html5media.properties, events = _mejs2.default.html5media.events.concat(['click', 'mouseover', 'mouseout']).filter(function (e) { return e !== 'error'; }), attachNativeEvents = function attachNativeEvents(e) { var event = (0, _general.createEvent)(e.type, mediaElement); mediaElement.dispatchEvent(event); }, assignGettersSetters = function assignGettersSetters(propName) { var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1); node['get' + capName] = function () { return dashPlayer !== null ? node[propName] : null; }; node['set' + capName] = function (value) { if (_mejs2.default.html5media.readOnlyProperties.indexOf(propName) === -1) { if (propName === 'src') { var source = (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value.src ? value.src : value; node[propName] = source; if (dashPlayer !== null) { dashPlayer.reset(); for (var _i = 0, _total = events.length; _i < _total; _i++) { node.removeEventListener(events[_i], attachNativeEvents); } dashPlayer = NativeDash._createPlayer({ options: options.dash, id: id }); if (value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && _typeof(value.drm) === 'object') { dashPlayer.setProtectionData(value.drm); if ((0, _general.isString)(options.dash.robustnessLevel) && options.dash.robustnessLevel) { dashPlayer.getProtectionController().setRobustnessLevel(options.dash.robustnessLevel); } } dashPlayer.attachSource(source); if (autoplay) { dashPlayer.play(); } } } else { node[propName] = value; } } }; }; for (var _i2 = 0, _total2 = props.length; _i2 < _total2; _i2++) { assignGettersSetters(props[_i2]); } _window2.default['__ready__' + id] = function (_dashPlayer) { mediaElement.dashPlayer = dashPlayer = _dashPlayer; var dashEvents = dashjs.MediaPlayer.events, assignEvents = function assignEvents(eventName) { if (eventName === 'loadedmetadata') { dashPlayer.initialize(); dashPlayer.attachView(node); dashPlayer.setAutoPlay(false); if (_typeof(options.dash.drm) === 'object' && !_mejs2.default.Utils.isObjectEmpty(options.dash.drm)) { dashPlayer.setProtectionData(options.dash.drm); if ((0, _general.isString)(options.dash.robustnessLevel) && options.dash.robustnessLevel) { dashPlayer.getProtectionController().setRobustnessLevel(options.dash.robustnessLevel); } } dashPlayer.attachSource(node.getSrc()); } node.addEventListener(eventName, attachNativeEvents); }; for (var _i3 = 0, _total3 = events.length; _i3 < _total3; _i3++) { assignEvents(events[_i3]); } var assignMdashEvents = function assignMdashEvents(e) { if (e.type.toLowerCase() === 'error') { mediaElement.generateError(e.message, node.src); console.error(e); } else { var _event = (0, _general.createEvent)(e.type, mediaElement); _event.data = e; mediaElement.dispatchEvent(_event); } }; for (var eventType in dashEvents) { if (dashEvents.hasOwnProperty(eventType)) { dashPlayer.on(dashEvents[eventType], function (e) { return assignMdashEvents(e); }); } } }; if (mediaFiles && mediaFiles.length > 0) { for (var _i4 = 0, _total4 = mediaFiles.length; _i4 < _total4; _i4++) { if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[_i4].type)) { node.setAttribute('src', mediaFiles[_i4].src); if (typeof mediaFiles[_i4].drm !== 'undefined') { options.dash.drm = mediaFiles[_i4].drm; } break; } } } node.setAttribute('id', id); originalNode.parentNode.insertBefore(node, originalNode); originalNode.autoplay = false; originalNode.style.display = 'none'; node.setSize = function (width, height) { node.style.width = width + 'px'; node.style.height = height + 'px'; return node; }; node.hide = function () { node.pause(); node.style.display = 'none'; return node; }; node.show = function () { node.style.display = ''; return node; }; node.destroy = function () { if (dashPlayer !== null) { dashPlayer.reset(); } }; var event = (0, _general.createEvent)('rendererready', node); mediaElement.dispatchEvent(event); mediaElement.promises.push(NativeDash.load({ options: options.dash, id: id })); return node; } }; _media.typeChecks.push(function (url) { return ~url.toLowerCase().indexOf('.mpd') ? 'application/dash+xml' : null; }); _renderer.renderer.add(DashNativeRenderer); },{"16":16,"17":17,"18":18,"19":19,"3":3,"7":7,"8":8}],11:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.PluginDetector = undefined; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _window = _dereq_(3); var _window2 = _interopRequireDefault(_window); var _document = _dereq_(2); var _document2 = _interopRequireDefault(_document); var _mejs = _dereq_(7); var _mejs2 = _interopRequireDefault(_mejs); var _i18n = _dereq_(5); var _i18n2 = _interopRequireDefault(_i18n); var _renderer = _dereq_(8); var _general = _dereq_(18); var _constants = _dereq_(16); var _media = _dereq_(19); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var PluginDetector = exports.PluginDetector = { plugins: [], hasPluginVersion: function hasPluginVersion(plugin, v) { var pv = PluginDetector.plugins[plugin]; v[1] = v[1] || 0; v[2] = v[2] || 0; return pv[0] > v[0] || pv[0] === v[0] && pv[1] > v[1] || pv[0] === v[0] && pv[1] === v[1] && pv[2] >= v[2]; }, addPlugin: function addPlugin(p, pluginName, mimeType, activeX, axDetect) { PluginDetector.plugins[p] = PluginDetector.detectPlugin(pluginName, mimeType, activeX, axDetect); }, detectPlugin: function detectPlugin(pluginName, mimeType, activeX, axDetect) { var version = [0, 0, 0], description = void 0, ax = void 0; if (_constants.NAV.plugins !== null && _constants.NAV.plugins !== undefined && _typeof(_constants.NAV.plugins[pluginName]) === 'object') { description = _constants.NAV.plugins[pluginName].description; if (description && !(typeof _constants.NAV.mimeTypes !== 'undefined' && _constants.NAV.mimeTypes[mimeType] && !_constants.NAV.mimeTypes[mimeType].enabledPlugin)) { version = description.replace(pluginName, '').replace(/^\s+/, '').replace(/\sr/gi, '.').split('.'); for (var i = 0, total = version.length; i < total; i++) { version[i] = parseInt(version[i].match(/\d+/), 10); } } } else if (_window2.default.ActiveXObject !== undefined) { try { ax = new ActiveXObject(activeX); if (ax) { version = axDetect(ax); } } catch (e) { } } return version; } }; PluginDetector.addPlugin('flash', 'Shockwave Flash', 'application/x-shockwave-flash', 'ShockwaveFlash.ShockwaveFlash', function (ax) { var version = [], d = ax.GetVariable("$version"); if (d) { d = d.split(" ")[1].split(","); version = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)]; } return version; }); var FlashMediaElementRenderer = { create: function create(mediaElement, options, mediaFiles) { var flash = {}; var isActive = false; flash.options = options; flash.id = mediaElement.id + '_' + flash.options.prefix; flash.mediaElement = mediaElement; flash.flashState = {}; flash.flashApi = null; flash.flashApiStack = []; var props = _mejs2.default.html5media.properties, assignGettersSetters = function assignGettersSetters(propName) { flash.flashState[propName] = null; var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1); flash['get' + capName] = function () { if (flash.flashApi !== null) { if (typeof flash.flashApi['get_' + propName] === 'function') { var value = flash.flashApi['get_' + propName](); if (propName === 'buffered') { return { start: function start() { return 0; }, end: function end() { return value; }, length: 1 }; } return value; } else { return null; } } else { return null; } }; flash['set' + capName] = function (value) { if (propName === 'src') { value = (0, _media.absolutizeUrl)(value); } if (flash.flashApi !== null && flash.flashApi['set_' + propName] !== undefined) { try { flash.flashApi['set_' + propName](value); } catch (e) { } } else { flash.flashApiStack.push({ type: 'set', propName: propName, value: value }); } }; }; for (var i = 0, total = props.length; i < total; i++) { assignGettersSetters(props[i]); } var methods = _mejs2.default.html5media.methods, assignMethods = function assignMethods(methodName) { flash[methodName] = function () { if (isActive) { if (flash.flashApi !== null) { if (flash.flashApi['fire_' + methodName]) { try { flash.flashApi['fire_' + methodName](); } catch (e) { } } else { } } else { flash.flashApiStack.push({ type: 'call', methodName: methodName }); } } }; }; methods.push('stop'); for (var _i = 0, _total = methods.length; _i < _total; _i++) { assignMethods(methods[_i]); } var initEvents = ['rendererready']; for (var _i2 = 0, _total2 = initEvents.length; _i2 < _total2; _i2++) { var event = (0, _general.createEvent)(initEvents[_i2], flash); mediaElement.dispatchEvent(event); } _window2.default['__ready__' + flash.id] = function () { flash.flashReady = true; flash.flashApi = _document2.default.getElementById('__' + flash.id); if (flash.flashApiStack.length) { for (var _i3 = 0, _total3 = flash.flashApiStack.length; _i3 < _total3; _i3++) { var stackItem = flash.flashApiStack[_i3]; if (stackItem.type === 'set') { var propName = stackItem.propName, capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1); flash['set' + capName](stackItem.value); } else if (stackItem.type === 'call') { flash[stackItem.methodName](); } } } }; _window2.default['__event__' + flash.id] = function (eventName, message) { var event = (0, _general.createEvent)(eventName, flash); if (message) { try { event.data = JSON.parse(message); event.details.data = JSON.parse(message); } catch (e) { event.message = message; } } flash.mediaElement.dispatchEvent(event); }; flash.flashWrapper = _document2.default.createElement('div'); if (['always', 'sameDomain'].indexOf(flash.options.shimScriptAccess) === -1) { flash.options.shimScriptAccess = 'sameDomain'; } var autoplay = mediaElement.originalNode.autoplay, flashVars = ['uid=' + flash.id, 'autoplay=' + autoplay, 'allowScriptAccess=' + flash.options.shimScriptAccess, 'preload=' + (mediaElement.originalNode.getAttribute('preload') || '')], isVideo = mediaElement.originalNode !== null && mediaElement.originalNode.tagName.toLowerCase() === 'video', flashHeight = isVideo ? mediaElement.originalNode.height : 1, flashWidth = isVideo ? mediaElement.originalNode.width : 1; if (mediaElement.originalNode.getAttribute('src')) { flashVars.push('src=' + mediaElement.originalNode.getAttribute('src')); } if (flash.options.enablePseudoStreaming === true) { flashVars.push('pseudostreamstart=' + flash.options.pseudoStreamingStartQueryParam); flashVars.push('pseudostreamtype=' + flash.options.pseudoStreamingType); } if (flash.options.streamDelimiter) { flashVars.push('streamdelimiter=' + encodeURIComponent(flash.options.streamDelimiter)); } if (flash.options.proxyType) { flashVars.push('proxytype=' + flash.options.proxyType); } mediaElement.appendChild(flash.flashWrapper); mediaElement.originalNode.style.display = 'none'; var settings = []; if (_constants.IS_IE || _constants.IS_EDGE) { var specialIEContainer = _document2.default.createElement('div'); flash.flashWrapper.appendChild(specialIEContainer); if (_constants.IS_EDGE) { settings = ['type="application/x-shockwave-flash"', 'data="' + flash.options.pluginPath + flash.options.filename + '"', 'id="__' + flash.id + '"', 'width="' + flashWidth + '"', 'height="' + flashHeight + '\'"']; } else { settings = ['classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"', 'codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"', 'id="__' + flash.id + '"', 'width="' + flashWidth + '"', 'height="' + flashHeight + '"']; } if (!isVideo) { settings.push('style="clip: rect(0 0 0 0); position: absolute;"'); } specialIEContainer.outerHTML = '' + ('') + ('') + '' + '' + '' + ('') + '' + ('
      ' + _i18n2.default.t('mejs.install-flash') + '
      ') + '
      '; } else { settings = ['id="__' + flash.id + '"', 'name="__' + flash.id + '"', 'play="true"', 'loop="false"', 'quality="high"', 'bgcolor="#000000"', 'wmode="transparent"', 'allowScriptAccess="' + flash.options.shimScriptAccess + '"', 'allowFullScreen="true"', 'type="application/x-shockwave-flash"', 'pluginspage="//www.macromedia.com/go/getflashplayer"', 'src="' + flash.options.pluginPath + flash.options.filename + '"', 'flashvars="' + flashVars.join('&') + '"']; if (isVideo) { settings.push('width="' + flashWidth + '"'); settings.push('height="' + flashHeight + '"'); } else { settings.push('style="position: fixed; left: -9999em; top: -9999em;"'); } flash.flashWrapper.innerHTML = ''; } flash.flashNode = flash.flashWrapper.lastChild; flash.hide = function () { isActive = false; if (isVideo) { flash.flashNode.style.display = 'none'; } }; flash.show = function () { isActive = true; if (isVideo) { flash.flashNode.style.display = ''; } }; flash.setSize = function (width, height) { flash.flashNode.style.width = width + 'px'; flash.flashNode.style.height = height + 'px'; if (flash.flashApi !== null && typeof flash.flashApi.fire_setSize === 'function') { flash.flashApi.fire_setSize(width, height); } }; flash.destroy = function () { flash.flashNode.remove(); }; if (mediaFiles && mediaFiles.length > 0) { for (var _i4 = 0, _total4 = mediaFiles.length; _i4 < _total4; _i4++) { if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[_i4].type)) { flash.setSrc(mediaFiles[_i4].src); break; } } } return flash; } }; var hasFlash = PluginDetector.hasPluginVersion('flash', [10, 0, 0]); if (hasFlash) { _media.typeChecks.push(function (url) { url = url.toLowerCase(); if (url.startsWith('rtmp')) { if (~url.indexOf('.mp3')) { return 'audio/rtmp'; } else { return 'video/rtmp'; } } else if (/\.og(a|g)/i.test(url)) { return 'audio/ogg'; } else if (~url.indexOf('.m3u8')) { return 'application/x-mpegURL'; } else if (~url.indexOf('.mpd')) { return 'application/dash+xml'; } else if (~url.indexOf('.flv')) { return 'video/flv'; } else { return null; } }); var FlashMediaElementVideoRenderer = { name: 'flash_video', options: { prefix: 'flash_video', filename: 'mediaelement-flash-video.swf', enablePseudoStreaming: false, pseudoStreamingStartQueryParam: 'start', pseudoStreamingType: 'byte', proxyType: '', streamDelimiter: '' }, canPlayType: function canPlayType(type) { return ~['video/mp4', 'video/rtmp', 'audio/rtmp', 'rtmp/mp4', 'audio/mp4', 'video/flv', 'video/x-flv'].indexOf(type.toLowerCase()); }, create: FlashMediaElementRenderer.create }; _renderer.renderer.add(FlashMediaElementVideoRenderer); var FlashMediaElementHlsVideoRenderer = { name: 'flash_hls', options: { prefix: 'flash_hls', filename: 'mediaelement-flash-video-hls.swf' }, canPlayType: function canPlayType(type) { return ~['application/x-mpegurl', 'application/vnd.apple.mpegurl', 'audio/mpegurl', 'audio/hls', 'video/hls'].indexOf(type.toLowerCase()); }, create: FlashMediaElementRenderer.create }; _renderer.renderer.add(FlashMediaElementHlsVideoRenderer); var FlashMediaElementMdashVideoRenderer = { name: 'flash_dash', options: { prefix: 'flash_dash', filename: 'mediaelement-flash-video-mdash.swf' }, canPlayType: function canPlayType(type) { return ~['application/dash+xml'].indexOf(type.toLowerCase()); }, create: FlashMediaElementRenderer.create }; _renderer.renderer.add(FlashMediaElementMdashVideoRenderer); var FlashMediaElementAudioRenderer = { name: 'flash_audio', options: { prefix: 'flash_audio', filename: 'mediaelement-flash-audio.swf' }, canPlayType: function canPlayType(type) { return ~['audio/mp3'].indexOf(type.toLowerCase()); }, create: FlashMediaElementRenderer.create }; _renderer.renderer.add(FlashMediaElementAudioRenderer); var FlashMediaElementAudioOggRenderer = { name: 'flash_audio_ogg', options: { prefix: 'flash_audio_ogg', filename: 'mediaelement-flash-audio-ogg.swf' }, canPlayType: function canPlayType(type) { return ~['audio/ogg', 'audio/oga', 'audio/ogv'].indexOf(type.toLowerCase()); }, create: FlashMediaElementRenderer.create }; _renderer.renderer.add(FlashMediaElementAudioOggRenderer); } },{"16":16,"18":18,"19":19,"2":2,"3":3,"5":5,"7":7,"8":8}],12:[function(_dereq_,module,exports){ 'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _window = _dereq_(3); var _window2 = _interopRequireDefault(_window); var _mejs = _dereq_(7); var _mejs2 = _interopRequireDefault(_mejs); var _renderer = _dereq_(8); var _general = _dereq_(18); var _constants = _dereq_(16); var _media = _dereq_(19); var _dom = _dereq_(17); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var NativeFlv = { promise: null, load: function load(settings) { if (typeof flvjs !== 'undefined') { NativeFlv.promise = new Promise(function (resolve) { resolve(); }).then(function () { NativeFlv._createPlayer(settings); }); } else { settings.options.path = typeof settings.options.path === 'string' ? settings.options.path : 'https://cdn.jsdelivr.net/npm/flv.js@latest'; NativeFlv.promise = NativeFlv.promise || (0, _dom.loadScript)(settings.options.path); NativeFlv.promise.then(function () { NativeFlv._createPlayer(settings); }); } return NativeFlv.promise; }, _createPlayer: function _createPlayer(settings) { flvjs.LoggingControl.enableDebug = settings.options.debug; flvjs.LoggingControl.enableVerbose = settings.options.debug; var player = flvjs.createPlayer(settings.options, settings.configs); _window2.default['__ready__' + settings.id](player); return player; } }; var FlvNativeRenderer = { name: 'native_flv', options: { prefix: 'native_flv', flv: { path: 'https://cdn.jsdelivr.net/npm/flv.js@latest', cors: true, debug: false } }, canPlayType: function canPlayType(type) { return _constants.HAS_MSE && ['video/x-flv', 'video/flv'].indexOf(type.toLowerCase()) > -1; }, create: function create(mediaElement, options, mediaFiles) { var originalNode = mediaElement.originalNode, id = mediaElement.id + '_' + options.prefix; var node = null, flvPlayer = null; node = originalNode.cloneNode(true); options = Object.assign(options, mediaElement.options); var props = _mejs2.default.html5media.properties, events = _mejs2.default.html5media.events.concat(['click', 'mouseover', 'mouseout']).filter(function (e) { return e !== 'error'; }), attachNativeEvents = function attachNativeEvents(e) { var event = (0, _general.createEvent)(e.type, mediaElement); mediaElement.dispatchEvent(event); }, assignGettersSetters = function assignGettersSetters(propName) { var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1); node['get' + capName] = function () { return flvPlayer !== null ? node[propName] : null; }; node['set' + capName] = function (value) { if (_mejs2.default.html5media.readOnlyProperties.indexOf(propName) === -1) { if (propName === 'src') { node[propName] = (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value.src ? value.src : value; if (flvPlayer !== null) { var _flvOptions = {}; _flvOptions.type = 'flv'; _flvOptions.url = value; _flvOptions.cors = options.flv.cors; _flvOptions.debug = options.flv.debug; _flvOptions.path = options.flv.path; var _flvConfigs = options.flv.configs; flvPlayer.destroy(); for (var i = 0, total = events.length; i < total; i++) { node.removeEventListener(events[i], attachNativeEvents); } flvPlayer = NativeFlv._createPlayer({ options: _flvOptions, configs: _flvConfigs, id: id }); flvPlayer.attachMediaElement(node); flvPlayer.load(); } } else { node[propName] = value; } } }; }; for (var i = 0, total = props.length; i < total; i++) { assignGettersSetters(props[i]); } _window2.default['__ready__' + id] = function (_flvPlayer) { mediaElement.flvPlayer = flvPlayer = _flvPlayer; var flvEvents = flvjs.Events, assignEvents = function assignEvents(eventName) { if (eventName === 'loadedmetadata') { flvPlayer.unload(); flvPlayer.detachMediaElement(); flvPlayer.attachMediaElement(node); flvPlayer.load(); } node.addEventListener(eventName, attachNativeEvents); }; for (var _i = 0, _total = events.length; _i < _total; _i++) { assignEvents(events[_i]); } var assignFlvEvents = function assignFlvEvents(name, data) { if (name === 'error') { var message = data[0] + ': ' + data[1] + ' ' + data[2].msg; mediaElement.generateError(message, node.src); } else { var _event = (0, _general.createEvent)(name, mediaElement); _event.data = data; mediaElement.dispatchEvent(_event); } }; var _loop = function _loop(eventType) { if (flvEvents.hasOwnProperty(eventType)) { flvPlayer.on(flvEvents[eventType], function () { for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return assignFlvEvents(flvEvents[eventType], args); }); } }; for (var eventType in flvEvents) { _loop(eventType); } }; if (mediaFiles && mediaFiles.length > 0) { for (var _i2 = 0, _total2 = mediaFiles.length; _i2 < _total2; _i2++) { if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[_i2].type)) { node.setAttribute('src', mediaFiles[_i2].src); break; } } } node.setAttribute('id', id); originalNode.parentNode.insertBefore(node, originalNode); originalNode.autoplay = false; originalNode.style.display = 'none'; var flvOptions = {}; flvOptions.type = 'flv'; flvOptions.url = node.src; flvOptions.cors = options.flv.cors; flvOptions.debug = options.flv.debug; flvOptions.path = options.flv.path; var flvConfigs = options.flv.configs; node.setSize = function (width, height) { node.style.width = width + 'px'; node.style.height = height + 'px'; return node; }; node.hide = function () { if (flvPlayer !== null) { flvPlayer.pause(); } node.style.display = 'none'; return node; }; node.show = function () { node.style.display = ''; return node; }; node.destroy = function () { if (flvPlayer !== null) { flvPlayer.destroy(); } }; var event = (0, _general.createEvent)('rendererready', node); mediaElement.dispatchEvent(event); mediaElement.promises.push(NativeFlv.load({ options: flvOptions, configs: flvConfigs, id: id })); return node; } }; _media.typeChecks.push(function (url) { return ~url.toLowerCase().indexOf('.flv') ? 'video/flv' : null; }); _renderer.renderer.add(FlvNativeRenderer); },{"16":16,"17":17,"18":18,"19":19,"3":3,"7":7,"8":8}],13:[function(_dereq_,module,exports){ 'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _window = _dereq_(3); var _window2 = _interopRequireDefault(_window); var _mejs = _dereq_(7); var _mejs2 = _interopRequireDefault(_mejs); var _renderer = _dereq_(8); var _general = _dereq_(18); var _constants = _dereq_(16); var _media = _dereq_(19); var _dom = _dereq_(17); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var NativeHls = { promise: null, load: function load(settings) { if (typeof Hls !== 'undefined') { NativeHls.promise = new Promise(function (resolve) { resolve(); }).then(function () { NativeHls._createPlayer(settings); }); } else { settings.options.path = typeof settings.options.path === 'string' ? settings.options.path : 'https://cdn.jsdelivr.net/npm/hls.js@latest'; NativeHls.promise = NativeHls.promise || (0, _dom.loadScript)(settings.options.path); NativeHls.promise.then(function () { NativeHls._createPlayer(settings); }); } return NativeHls.promise; }, _createPlayer: function _createPlayer(settings) { var player = new Hls(settings.options); _window2.default['__ready__' + settings.id](player); return player; } }; var HlsNativeRenderer = { name: 'native_hls', options: { prefix: 'native_hls', hls: { path: 'https://cdn.jsdelivr.net/npm/hls.js@latest', autoStartLoad: false, debug: false } }, canPlayType: function canPlayType(type) { return _constants.HAS_MSE && ['application/x-mpegurl', 'application/vnd.apple.mpegurl', 'audio/mpegurl', 'audio/hls', 'video/hls'].indexOf(type.toLowerCase()) > -1; }, create: function create(mediaElement, options, mediaFiles) { var originalNode = mediaElement.originalNode, id = mediaElement.id + '_' + options.prefix, preload = originalNode.getAttribute('preload'), autoplay = originalNode.autoplay; var hlsPlayer = null, node = null, index = 0, total = mediaFiles.length; node = originalNode.cloneNode(true); options = Object.assign(options, mediaElement.options); options.hls.autoStartLoad = preload && preload !== 'none' || autoplay; var props = _mejs2.default.html5media.properties, events = _mejs2.default.html5media.events.concat(['click', 'mouseover', 'mouseout']).filter(function (e) { return e !== 'error'; }), attachNativeEvents = function attachNativeEvents(e) { var event = (0, _general.createEvent)(e.type, mediaElement); mediaElement.dispatchEvent(event); }, assignGettersSetters = function assignGettersSetters(propName) { var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1); node['get' + capName] = function () { return hlsPlayer !== null ? node[propName] : null; }; node['set' + capName] = function (value) { if (_mejs2.default.html5media.readOnlyProperties.indexOf(propName) === -1) { if (propName === 'src') { node[propName] = (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value.src ? value.src : value; if (hlsPlayer !== null) { hlsPlayer.destroy(); for (var i = 0, _total = events.length; i < _total; i++) { node.removeEventListener(events[i], attachNativeEvents); } hlsPlayer = NativeHls._createPlayer({ options: options.hls, id: id }); hlsPlayer.loadSource(value); hlsPlayer.attachMedia(node); } } else { node[propName] = value; } } }; }; for (var i = 0, _total2 = props.length; i < _total2; i++) { assignGettersSetters(props[i]); } _window2.default['__ready__' + id] = function (_hlsPlayer) { mediaElement.hlsPlayer = hlsPlayer = _hlsPlayer; var hlsEvents = Hls.Events, assignEvents = function assignEvents(eventName) { if (eventName === 'loadedmetadata') { var url = mediaElement.originalNode.src; hlsPlayer.detachMedia(); hlsPlayer.loadSource(url); hlsPlayer.attachMedia(node); } node.addEventListener(eventName, attachNativeEvents); }; for (var _i = 0, _total3 = events.length; _i < _total3; _i++) { assignEvents(events[_i]); } var recoverDecodingErrorDate = void 0, recoverSwapAudioCodecDate = void 0; var assignHlsEvents = function assignHlsEvents(name, data) { if (name === 'hlsError') { console.warn(data); data = data[1]; if (data.fatal) { switch (data.type) { case 'mediaError': var now = new Date().getTime(); if (!recoverDecodingErrorDate || now - recoverDecodingErrorDate > 3000) { recoverDecodingErrorDate = new Date().getTime(); hlsPlayer.recoverMediaError(); } else if (!recoverSwapAudioCodecDate || now - recoverSwapAudioCodecDate > 3000) { recoverSwapAudioCodecDate = new Date().getTime(); console.warn('Attempting to swap Audio Codec and recover from media error'); hlsPlayer.swapAudioCodec(); hlsPlayer.recoverMediaError(); } else { var message = 'Cannot recover, last media error recovery failed'; mediaElement.generateError(message, node.src); console.error(message); } break; case 'networkError': if (data.details === 'manifestLoadError') { if (index < total && mediaFiles[index + 1] !== undefined) { node.setSrc(mediaFiles[index++].src); node.load(); node.play(); } else { var _message = 'Network error'; mediaElement.generateError(_message, mediaFiles); console.error(_message); } } else { var _message2 = 'Network error'; mediaElement.generateError(_message2, mediaFiles); console.error(_message2); } break; default: hlsPlayer.destroy(); break; } return; } } var event = (0, _general.createEvent)(name, mediaElement); event.data = data; mediaElement.dispatchEvent(event); }; var _loop = function _loop(eventType) { if (hlsEvents.hasOwnProperty(eventType)) { hlsPlayer.on(hlsEvents[eventType], function () { for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return assignHlsEvents(hlsEvents[eventType], args); }); } }; for (var eventType in hlsEvents) { _loop(eventType); } }; if (total > 0) { for (; index < total; index++) { if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[index].type)) { node.setAttribute('src', mediaFiles[index].src); break; } } } if (preload !== 'auto' && !autoplay) { node.addEventListener('play', function () { if (hlsPlayer !== null) { hlsPlayer.startLoad(); } }); node.addEventListener('pause', function () { if (hlsPlayer !== null) { hlsPlayer.stopLoad(); } }); } node.setAttribute('id', id); originalNode.parentNode.insertBefore(node, originalNode); originalNode.autoplay = false; originalNode.style.display = 'none'; node.setSize = function (width, height) { node.style.width = width + 'px'; node.style.height = height + 'px'; return node; }; node.hide = function () { node.pause(); node.style.display = 'none'; return node; }; node.show = function () { node.style.display = ''; return node; }; node.destroy = function () { if (hlsPlayer !== null) { hlsPlayer.stopLoad(); hlsPlayer.destroy(); } }; var event = (0, _general.createEvent)('rendererready', node); mediaElement.dispatchEvent(event); mediaElement.promises.push(NativeHls.load({ options: options.hls, id: id })); return node; } }; _media.typeChecks.push(function (url) { return ~url.toLowerCase().indexOf('.m3u8') ? 'application/x-mpegURL' : null; }); _renderer.renderer.add(HlsNativeRenderer); },{"16":16,"17":17,"18":18,"19":19,"3":3,"7":7,"8":8}],14:[function(_dereq_,module,exports){ 'use strict'; var _window = _dereq_(3); var _window2 = _interopRequireDefault(_window); var _document = _dereq_(2); var _document2 = _interopRequireDefault(_document); var _mejs = _dereq_(7); var _mejs2 = _interopRequireDefault(_mejs); var _renderer = _dereq_(8); var _general = _dereq_(18); var _constants = _dereq_(16); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var HtmlMediaElement = { name: 'html5', options: { prefix: 'html5' }, canPlayType: function canPlayType(type) { var mediaElement = _document2.default.createElement('video'); if (_constants.IS_ANDROID && /\/mp(3|4)$/i.test(type) || ~['application/x-mpegurl', 'vnd.apple.mpegurl', 'audio/mpegurl', 'audio/hls', 'video/hls'].indexOf(type.toLowerCase()) && _constants.SUPPORTS_NATIVE_HLS) { return 'yes'; } else if (mediaElement.canPlayType) { return mediaElement.canPlayType(type.toLowerCase()).replace(/no/, ''); } else { return ''; } }, create: function create(mediaElement, options, mediaFiles) { var id = mediaElement.id + '_' + options.prefix; var isActive = false; var node = null; if (mediaElement.originalNode === undefined || mediaElement.originalNode === null) { node = _document2.default.createElement('audio'); mediaElement.appendChild(node); } else { node = mediaElement.originalNode; } node.setAttribute('id', id); var props = _mejs2.default.html5media.properties, assignGettersSetters = function assignGettersSetters(propName) { var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1); node['get' + capName] = function () { return node[propName]; }; node['set' + capName] = function (value) { if (_mejs2.default.html5media.readOnlyProperties.indexOf(propName) === -1) { node[propName] = value; } }; }; for (var i = 0, _total = props.length; i < _total; i++) { assignGettersSetters(props[i]); } var events = _mejs2.default.html5media.events.concat(['click', 'mouseover', 'mouseout']).filter(function (e) { return e !== 'error'; }), assignEvents = function assignEvents(eventName) { node.addEventListener(eventName, function (e) { if (isActive) { var _event = (0, _general.createEvent)(e.type, e.target); mediaElement.dispatchEvent(_event); } }); }; for (var _i = 0, _total2 = events.length; _i < _total2; _i++) { assignEvents(events[_i]); } node.setSize = function (width, height) { node.style.width = width + 'px'; node.style.height = height + 'px'; return node; }; node.hide = function () { isActive = false; node.style.display = 'none'; return node; }; node.show = function () { isActive = true; node.style.display = ''; return node; }; var index = 0, total = mediaFiles.length; if (total > 0) { for (; index < total; index++) { if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[index].type)) { node.setAttribute('src', mediaFiles[index].src); break; } } } node.addEventListener('error', function (e) { if (e && e.target && e.target.error && e.target.error.code === 4 && isActive) { if (index < total && mediaFiles[index + 1] !== undefined) { node.src = mediaFiles[index++].src; node.load(); node.play(); } else { mediaElement.generateError('Media error: Format(s) not supported or source(s) not found', mediaFiles); } } }); var event = (0, _general.createEvent)('rendererready', node); mediaElement.dispatchEvent(event); return node; } }; _window2.default.HtmlMediaElement = _mejs2.default.HtmlMediaElement = HtmlMediaElement; _renderer.renderer.add(HtmlMediaElement); },{"16":16,"18":18,"2":2,"3":3,"7":7,"8":8}],15:[function(_dereq_,module,exports){ 'use strict'; var _window = _dereq_(3); var _window2 = _interopRequireDefault(_window); var _document = _dereq_(2); var _document2 = _interopRequireDefault(_document); var _mejs = _dereq_(7); var _mejs2 = _interopRequireDefault(_mejs); var _renderer = _dereq_(8); var _general = _dereq_(18); var _media = _dereq_(19); var _dom = _dereq_(17); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var YouTubeApi = { isIframeStarted: false, isIframeLoaded: false, iframeQueue: [], enqueueIframe: function enqueueIframe(settings) { YouTubeApi.isLoaded = typeof YT !== 'undefined' && YT.loaded; if (YouTubeApi.isLoaded) { YouTubeApi.createIframe(settings); } else { YouTubeApi.loadIframeApi(); YouTubeApi.iframeQueue.push(settings); } }, loadIframeApi: function loadIframeApi() { if (!YouTubeApi.isIframeStarted) { (0, _dom.loadScript)('https://www.youtube.com/player_api'); YouTubeApi.isIframeStarted = true; } }, iFrameReady: function iFrameReady() { YouTubeApi.isLoaded = true; YouTubeApi.isIframeLoaded = true; while (YouTubeApi.iframeQueue.length > 0) { var settings = YouTubeApi.iframeQueue.pop(); YouTubeApi.createIframe(settings); } }, createIframe: function createIframe(settings) { return new YT.Player(settings.containerId, settings); }, getYouTubeId: function getYouTubeId(url) { var youTubeId = ''; if (url.indexOf('?') > 0) { youTubeId = YouTubeApi.getYouTubeIdFromParam(url); if (youTubeId === '') { youTubeId = YouTubeApi.getYouTubeIdFromUrl(url); } } else { youTubeId = YouTubeApi.getYouTubeIdFromUrl(url); } var id = youTubeId.substring(youTubeId.lastIndexOf('/') + 1); youTubeId = id.split('?'); return youTubeId[0]; }, getYouTubeIdFromParam: function getYouTubeIdFromParam(url) { if (url === undefined || url === null || !url.trim().length) { return null; } var parts = url.split('?'), parameters = parts[1].split('&'); var youTubeId = ''; for (var i = 0, total = parameters.length; i < total; i++) { var paramParts = parameters[i].split('='); if (paramParts[0] === 'v') { youTubeId = paramParts[1]; break; } } return youTubeId; }, getYouTubeIdFromUrl: function getYouTubeIdFromUrl(url) { if (url === undefined || url === null || !url.trim().length) { return null; } var parts = url.split('?'); url = parts[0]; return url.substring(url.lastIndexOf('/') + 1); }, getYouTubeNoCookieUrl: function getYouTubeNoCookieUrl(url) { if (url === undefined || url === null || !url.trim().length || url.indexOf('//www.youtube') === -1) { return url; } var parts = url.split('/'); parts[2] = parts[2].replace('.com', '-nocookie.com'); return parts.join('/'); } }; var YouTubeIframeRenderer = { name: 'youtube_iframe', options: { prefix: 'youtube_iframe', youtube: { autoplay: 0, controls: 0, disablekb: 1, end: 0, loop: 0, modestbranding: 0, playsinline: 0, rel: 0, showinfo: 0, start: 0, iv_load_policy: 3, nocookie: false, imageQuality: null } }, canPlayType: function canPlayType(type) { return ~['video/youtube', 'video/x-youtube'].indexOf(type.toLowerCase()); }, create: function create(mediaElement, options, mediaFiles) { var youtube = {}, apiStack = [], readyState = 4; var youTubeApi = null, paused = true, ended = false, youTubeIframe = null, volume = 1; youtube.options = options; youtube.id = mediaElement.id + '_' + options.prefix; youtube.mediaElement = mediaElement; var props = _mejs2.default.html5media.properties, assignGettersSetters = function assignGettersSetters(propName) { var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1); youtube['get' + capName] = function () { if (youTubeApi !== null) { var value = null; switch (propName) { case 'currentTime': return youTubeApi.getCurrentTime(); case 'duration': return youTubeApi.getDuration(); case 'volume': volume = youTubeApi.getVolume() / 100; return volume; case 'playbackRate': return youTubeApi.getPlaybackRate(); case 'paused': return paused; case 'ended': return ended; case 'muted': return youTubeApi.isMuted(); case 'buffered': var percentLoaded = youTubeApi.getVideoLoadedFraction(), duration = youTubeApi.getDuration(); return { start: function start() { return 0; }, end: function end() { return percentLoaded * duration; }, length: 1 }; case 'src': return youTubeApi.getVideoUrl(); case 'readyState': return readyState; } return value; } else { return null; } }; youtube['set' + capName] = function (value) { if (youTubeApi !== null) { switch (propName) { case 'src': var url = typeof value === 'string' ? value : value[0].src, _videoId = YouTubeApi.getYouTubeId(url); if (mediaElement.originalNode.autoplay) { youTubeApi.loadVideoById(_videoId); } else { youTubeApi.cueVideoById(_videoId); } break; case 'currentTime': youTubeApi.seekTo(value); break; case 'muted': if (value) { youTubeApi.mute(); } else { youTubeApi.unMute(); } setTimeout(function () { var event = (0, _general.createEvent)('volumechange', youtube); mediaElement.dispatchEvent(event); }, 50); break; case 'volume': volume = value; youTubeApi.setVolume(value * 100); setTimeout(function () { var event = (0, _general.createEvent)('volumechange', youtube); mediaElement.dispatchEvent(event); }, 50); break; case 'playbackRate': youTubeApi.setPlaybackRate(value); setTimeout(function () { var event = (0, _general.createEvent)('ratechange', youtube); mediaElement.dispatchEvent(event); }, 50); break; case 'readyState': var event = (0, _general.createEvent)('canplay', youtube); mediaElement.dispatchEvent(event); break; default: break; } } else { apiStack.push({ type: 'set', propName: propName, value: value }); } }; }; for (var i = 0, total = props.length; i < total; i++) { assignGettersSetters(props[i]); } var methods = _mejs2.default.html5media.methods, assignMethods = function assignMethods(methodName) { youtube[methodName] = function () { if (youTubeApi !== null) { switch (methodName) { case 'play': paused = false; return youTubeApi.playVideo(); case 'pause': paused = true; return youTubeApi.pauseVideo(); case 'load': return null; } } else { apiStack.push({ type: 'call', methodName: methodName }); } }; }; for (var _i = 0, _total = methods.length; _i < _total; _i++) { assignMethods(methods[_i]); } var errorHandler = function errorHandler(error) { var message = ''; switch (error.data) { case 2: message = 'The request contains an invalid parameter value. Verify that video ID has 11 characters and that contains no invalid characters, such as exclamation points or asterisks.'; break; case 5: message = 'The requested content cannot be played in an HTML5 player or another error related to the HTML5 player has occurred.'; break; case 100: message = 'The video requested was not found. Either video has been removed or has been marked as private.'; break; case 101: case 105: message = 'The owner of the requested video does not allow it to be played in embedded players.'; break; default: message = 'Unknown error.'; break; } mediaElement.generateError('Code ' + error.data + ': ' + message, mediaFiles); }; var youtubeContainer = _document2.default.createElement('div'); youtubeContainer.id = youtube.id; if (youtube.options.youtube.nocookie) { mediaElement.originalNode.src = YouTubeApi.getYouTubeNoCookieUrl(mediaFiles[0].src); } mediaElement.originalNode.parentNode.insertBefore(youtubeContainer, mediaElement.originalNode); mediaElement.originalNode.style.display = 'none'; var isAudio = mediaElement.originalNode.tagName.toLowerCase() === 'audio', height = isAudio ? '1' : mediaElement.originalNode.height, width = isAudio ? '1' : mediaElement.originalNode.width, videoId = YouTubeApi.getYouTubeId(mediaFiles[0].src), youtubeSettings = { id: youtube.id, containerId: youtubeContainer.id, videoId: videoId, height: height, width: width, host: youtube.options.youtube && youtube.options.youtube.nocookie ? 'https://www.youtube-nocookie.com' : undefined, playerVars: Object.assign({ controls: 0, rel: 0, disablekb: 1, showinfo: 0, modestbranding: 0, html5: 1, iv_load_policy: 3 }, youtube.options.youtube), origin: _window2.default.location.host, events: { onReady: function onReady(e) { mediaElement.youTubeApi = youTubeApi = e.target; mediaElement.youTubeState = { paused: true, ended: false }; if (apiStack.length) { for (var _i2 = 0, _total2 = apiStack.length; _i2 < _total2; _i2++) { var stackItem = apiStack[_i2]; if (stackItem.type === 'set') { var propName = stackItem.propName, capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1); youtube['set' + capName](stackItem.value); } else if (stackItem.type === 'call') { youtube[stackItem.methodName](); } } } youTubeIframe = youTubeApi.getIframe(); if (mediaElement.originalNode.muted) { youTubeApi.mute(); } var events = ['mouseover', 'mouseout'], assignEvents = function assignEvents(e) { var newEvent = (0, _general.createEvent)(e.type, youtube); mediaElement.dispatchEvent(newEvent); }; for (var _i3 = 0, _total3 = events.length; _i3 < _total3; _i3++) { youTubeIframe.addEventListener(events[_i3], assignEvents, false); } var initEvents = ['rendererready', 'loadedmetadata', 'loadeddata', 'canplay']; for (var _i4 = 0, _total4 = initEvents.length; _i4 < _total4; _i4++) { var event = (0, _general.createEvent)(initEvents[_i4], youtube); mediaElement.dispatchEvent(event); } }, onStateChange: function onStateChange(e) { var events = []; switch (e.data) { case -1: events = ['loadedmetadata']; paused = true; ended = false; break; case 0: events = ['ended']; paused = false; ended = !youtube.options.youtube.loop; if (!youtube.options.youtube.loop) { youtube.stopInterval(); } break; case 1: events = ['play', 'playing']; paused = false; ended = false; youtube.startInterval(); break; case 2: events = ['pause']; paused = true; ended = false; youtube.stopInterval(); break; case 3: events = ['progress']; ended = false; break; case 5: events = ['loadeddata', 'loadedmetadata', 'canplay']; paused = true; ended = false; break; } for (var _i5 = 0, _total5 = events.length; _i5 < _total5; _i5++) { var event = (0, _general.createEvent)(events[_i5], youtube); mediaElement.dispatchEvent(event); } }, onError: function onError(e) { return errorHandler(e); } } }; if (isAudio || mediaElement.originalNode.hasAttribute('playsinline')) { youtubeSettings.playerVars.playsinline = 1; } if (mediaElement.originalNode.controls) { youtubeSettings.playerVars.controls = 1; } if (mediaElement.originalNode.autoplay) { youtubeSettings.playerVars.autoplay = 1; } if (mediaElement.originalNode.loop) { youtubeSettings.playerVars.loop = 1; } if ((youtubeSettings.playerVars.loop && parseInt(youtubeSettings.playerVars.loop, 10) === 1 || mediaElement.originalNode.src.indexOf('loop=') > -1) && !youtubeSettings.playerVars.playlist && mediaElement.originalNode.src.indexOf('playlist=') === -1) { youtubeSettings.playerVars.playlist = YouTubeApi.getYouTubeId(mediaElement.originalNode.src); } YouTubeApi.enqueueIframe(youtubeSettings); youtube.onEvent = function (eventName, player, _youTubeState) { if (_youTubeState !== null && _youTubeState !== undefined) { mediaElement.youTubeState = _youTubeState; } }; youtube.setSize = function (width, height) { if (youTubeApi !== null) { youTubeApi.setSize(width, height); } }; youtube.hide = function () { youtube.stopInterval(); youtube.pause(); if (youTubeIframe) { youTubeIframe.style.display = 'none'; } }; youtube.show = function () { if (youTubeIframe) { youTubeIframe.style.display = ''; } }; youtube.destroy = function () { youTubeApi.destroy(); }; youtube.interval = null; youtube.startInterval = function () { youtube.interval = setInterval(function () { var event = (0, _general.createEvent)('timeupdate', youtube); mediaElement.dispatchEvent(event); }, 250); }; youtube.stopInterval = function () { if (youtube.interval) { clearInterval(youtube.interval); } }; youtube.getPosterUrl = function () { var quality = options.youtube.imageQuality, resolutions = ['default', 'hqdefault', 'mqdefault', 'sddefault', 'maxresdefault'], id = YouTubeApi.getYouTubeId(mediaElement.originalNode.src); return quality && resolutions.indexOf(quality) > -1 && id ? 'https://img.youtube.com/vi/' + id + '/' + quality + '.jpg' : ''; }; return youtube; } }; _window2.default.onYouTubePlayerAPIReady = function () { YouTubeApi.iFrameReady(); }; _media.typeChecks.push(function (url) { return (/\/\/(www\.youtube|youtu\.?be)/i.test(url) ? 'video/x-youtube' : null ); }); _renderer.renderer.add(YouTubeIframeRenderer); },{"17":17,"18":18,"19":19,"2":2,"3":3,"7":7,"8":8}],16:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.cancelFullScreen = exports.requestFullScreen = exports.isFullScreen = exports.FULLSCREEN_EVENT_NAME = exports.HAS_NATIVE_FULLSCREEN_ENABLED = exports.HAS_TRUE_NATIVE_FULLSCREEN = exports.HAS_IOS_FULLSCREEN = exports.HAS_MS_NATIVE_FULLSCREEN = exports.HAS_MOZ_NATIVE_FULLSCREEN = exports.HAS_WEBKIT_NATIVE_FULLSCREEN = exports.HAS_NATIVE_FULLSCREEN = exports.SUPPORTS_NATIVE_HLS = exports.SUPPORT_PASSIVE_EVENT = exports.SUPPORT_POINTER_EVENTS = exports.HAS_MSE = exports.IS_STOCK_ANDROID = exports.IS_SAFARI = exports.IS_FIREFOX = exports.IS_CHROME = exports.IS_EDGE = exports.IS_IE = exports.IS_ANDROID = exports.IS_IOS = exports.IS_IPOD = exports.IS_IPHONE = exports.IS_IPAD = exports.UA = exports.NAV = undefined; var _window = _dereq_(3); var _window2 = _interopRequireDefault(_window); var _document = _dereq_(2); var _document2 = _interopRequireDefault(_document); var _mejs = _dereq_(7); var _mejs2 = _interopRequireDefault(_mejs); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var NAV = exports.NAV = _window2.default.navigator; var UA = exports.UA = NAV.userAgent.toLowerCase(); var IS_IPAD = exports.IS_IPAD = /ipad/i.test(UA) && !_window2.default.MSStream; var IS_IPHONE = exports.IS_IPHONE = /iphone/i.test(UA) && !_window2.default.MSStream; var IS_IPOD = exports.IS_IPOD = /ipod/i.test(UA) && !_window2.default.MSStream; var IS_IOS = exports.IS_IOS = /ipad|iphone|ipod/i.test(UA) && !_window2.default.MSStream; var IS_ANDROID = exports.IS_ANDROID = /android/i.test(UA); var IS_IE = exports.IS_IE = /(trident|microsoft)/i.test(NAV.appName); var IS_EDGE = exports.IS_EDGE = 'msLaunchUri' in NAV && !('documentMode' in _document2.default); var IS_CHROME = exports.IS_CHROME = /chrome/i.test(UA); var IS_FIREFOX = exports.IS_FIREFOX = /firefox/i.test(UA); var IS_SAFARI = exports.IS_SAFARI = /safari/i.test(UA) && !IS_CHROME; var IS_STOCK_ANDROID = exports.IS_STOCK_ANDROID = /^mozilla\/\d+\.\d+\s\(linux;\su;/i.test(UA); var HAS_MSE = exports.HAS_MSE = 'MediaSource' in _window2.default; var SUPPORT_POINTER_EVENTS = exports.SUPPORT_POINTER_EVENTS = function () { var element = _document2.default.createElement('x'), documentElement = _document2.default.documentElement, getComputedStyle = _window2.default.getComputedStyle; if (!('pointerEvents' in element.style)) { return false; } element.style.pointerEvents = 'auto'; element.style.pointerEvents = 'x'; documentElement.appendChild(element); var supports = getComputedStyle && (getComputedStyle(element, '') || {}).pointerEvents === 'auto'; element.remove(); return !!supports; }(); var SUPPORT_PASSIVE_EVENT = exports.SUPPORT_PASSIVE_EVENT = function () { var supportsPassive = false; try { var opts = Object.defineProperty({}, 'passive', { get: function get() { supportsPassive = true; } }); _window2.default.addEventListener('test', null, opts); } catch (e) {} return supportsPassive; }(); var html5Elements = ['source', 'track', 'audio', 'video']; var video = void 0; for (var i = 0, total = html5Elements.length; i < total; i++) { video = _document2.default.createElement(html5Elements[i]); } var SUPPORTS_NATIVE_HLS = exports.SUPPORTS_NATIVE_HLS = IS_SAFARI || IS_IE && /edge/i.test(UA); var hasiOSFullScreen = video.webkitEnterFullscreen !== undefined; var hasNativeFullscreen = video.requestFullscreen !== undefined; if (hasiOSFullScreen && /mac os x 10_5/i.test(UA)) { hasNativeFullscreen = false; hasiOSFullScreen = false; } var hasWebkitNativeFullScreen = video.webkitRequestFullScreen !== undefined; var hasMozNativeFullScreen = video.mozRequestFullScreen !== undefined; var hasMsNativeFullScreen = video.msRequestFullscreen !== undefined; var hasTrueNativeFullScreen = hasWebkitNativeFullScreen || hasMozNativeFullScreen || hasMsNativeFullScreen; var nativeFullScreenEnabled = hasTrueNativeFullScreen; var fullScreenEventName = ''; var isFullScreen = void 0, requestFullScreen = void 0, cancelFullScreen = void 0; if (hasMozNativeFullScreen) { nativeFullScreenEnabled = _document2.default.mozFullScreenEnabled; } else if (hasMsNativeFullScreen) { nativeFullScreenEnabled = _document2.default.msFullscreenEnabled; } if (IS_CHROME) { hasiOSFullScreen = false; } if (hasTrueNativeFullScreen) { if (hasWebkitNativeFullScreen) { fullScreenEventName = 'webkitfullscreenchange'; } else if (hasMozNativeFullScreen) { fullScreenEventName = 'fullscreenchange'; } else if (hasMsNativeFullScreen) { fullScreenEventName = 'MSFullscreenChange'; } exports.isFullScreen = isFullScreen = function isFullScreen() { if (hasMozNativeFullScreen) { return _document2.default.mozFullScreen; } else if (hasWebkitNativeFullScreen) { return _document2.default.webkitIsFullScreen; } else if (hasMsNativeFullScreen) { return _document2.default.msFullscreenElement !== null; } }; exports.requestFullScreen = requestFullScreen = function requestFullScreen(el) { if (hasWebkitNativeFullScreen) { el.webkitRequestFullScreen(); } else if (hasMozNativeFullScreen) { el.mozRequestFullScreen(); } else if (hasMsNativeFullScreen) { el.msRequestFullscreen(); } }; exports.cancelFullScreen = cancelFullScreen = function cancelFullScreen() { if (hasWebkitNativeFullScreen) { _document2.default.webkitCancelFullScreen(); } else if (hasMozNativeFullScreen) { _document2.default.mozCancelFullScreen(); } else if (hasMsNativeFullScreen) { _document2.default.msExitFullscreen(); } }; } var HAS_NATIVE_FULLSCREEN = exports.HAS_NATIVE_FULLSCREEN = hasNativeFullscreen; var HAS_WEBKIT_NATIVE_FULLSCREEN = exports.HAS_WEBKIT_NATIVE_FULLSCREEN = hasWebkitNativeFullScreen; var HAS_MOZ_NATIVE_FULLSCREEN = exports.HAS_MOZ_NATIVE_FULLSCREEN = hasMozNativeFullScreen; var HAS_MS_NATIVE_FULLSCREEN = exports.HAS_MS_NATIVE_FULLSCREEN = hasMsNativeFullScreen; var HAS_IOS_FULLSCREEN = exports.HAS_IOS_FULLSCREEN = hasiOSFullScreen; var HAS_TRUE_NATIVE_FULLSCREEN = exports.HAS_TRUE_NATIVE_FULLSCREEN = hasTrueNativeFullScreen; var HAS_NATIVE_FULLSCREEN_ENABLED = exports.HAS_NATIVE_FULLSCREEN_ENABLED = nativeFullScreenEnabled; var FULLSCREEN_EVENT_NAME = exports.FULLSCREEN_EVENT_NAME = fullScreenEventName; exports.isFullScreen = isFullScreen; exports.requestFullScreen = requestFullScreen; exports.cancelFullScreen = cancelFullScreen; _mejs2.default.Features = _mejs2.default.Features || {}; _mejs2.default.Features.isiPad = IS_IPAD; _mejs2.default.Features.isiPod = IS_IPOD; _mejs2.default.Features.isiPhone = IS_IPHONE; _mejs2.default.Features.isiOS = _mejs2.default.Features.isiPhone || _mejs2.default.Features.isiPad; _mejs2.default.Features.isAndroid = IS_ANDROID; _mejs2.default.Features.isIE = IS_IE; _mejs2.default.Features.isEdge = IS_EDGE; _mejs2.default.Features.isChrome = IS_CHROME; _mejs2.default.Features.isFirefox = IS_FIREFOX; _mejs2.default.Features.isSafari = IS_SAFARI; _mejs2.default.Features.isStockAndroid = IS_STOCK_ANDROID; _mejs2.default.Features.hasMSE = HAS_MSE; _mejs2.default.Features.supportsNativeHLS = SUPPORTS_NATIVE_HLS; _mejs2.default.Features.supportsPointerEvents = SUPPORT_POINTER_EVENTS; _mejs2.default.Features.supportsPassiveEvent = SUPPORT_PASSIVE_EVENT; _mejs2.default.Features.hasiOSFullScreen = HAS_IOS_FULLSCREEN; _mejs2.default.Features.hasNativeFullscreen = HAS_NATIVE_FULLSCREEN; _mejs2.default.Features.hasWebkitNativeFullScreen = HAS_WEBKIT_NATIVE_FULLSCREEN; _mejs2.default.Features.hasMozNativeFullScreen = HAS_MOZ_NATIVE_FULLSCREEN; _mejs2.default.Features.hasMsNativeFullScreen = HAS_MS_NATIVE_FULLSCREEN; _mejs2.default.Features.hasTrueNativeFullScreen = HAS_TRUE_NATIVE_FULLSCREEN; _mejs2.default.Features.nativeFullScreenEnabled = HAS_NATIVE_FULLSCREEN_ENABLED; _mejs2.default.Features.fullScreenEventName = FULLSCREEN_EVENT_NAME; _mejs2.default.Features.isFullScreen = isFullScreen; _mejs2.default.Features.requestFullScreen = requestFullScreen; _mejs2.default.Features.cancelFullScreen = cancelFullScreen; },{"2":2,"3":3,"7":7}],17:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.removeClass = exports.addClass = exports.hasClass = undefined; exports.loadScript = loadScript; exports.offset = offset; exports.toggleClass = toggleClass; exports.fadeOut = fadeOut; exports.fadeIn = fadeIn; exports.siblings = siblings; exports.visible = visible; exports.ajax = ajax; var _window = _dereq_(3); var _window2 = _interopRequireDefault(_window); var _document = _dereq_(2); var _document2 = _interopRequireDefault(_document); var _mejs = _dereq_(7); var _mejs2 = _interopRequireDefault(_mejs); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function loadScript(url) { return new Promise(function (resolve, reject) { var script = _document2.default.createElement('script'); script.src = url; script.async = true; script.onload = function () { script.remove(); resolve(); }; script.onerror = function () { script.remove(); reject(); }; _document2.default.head.appendChild(script); }); } function offset(el) { var rect = el.getBoundingClientRect(), scrollLeft = _window2.default.pageXOffset || _document2.default.documentElement.scrollLeft, scrollTop = _window2.default.pageYOffset || _document2.default.documentElement.scrollTop; return { top: rect.top + scrollTop, left: rect.left + scrollLeft }; } var hasClassMethod = void 0, addClassMethod = void 0, removeClassMethod = void 0; if ('classList' in _document2.default.documentElement) { hasClassMethod = function hasClassMethod(el, className) { return el.classList !== undefined && el.classList.contains(className); }; addClassMethod = function addClassMethod(el, className) { return el.classList.add(className); }; removeClassMethod = function removeClassMethod(el, className) { return el.classList.remove(className); }; } else { hasClassMethod = function hasClassMethod(el, className) { return new RegExp('\\b' + className + '\\b').test(el.className); }; addClassMethod = function addClassMethod(el, className) { if (!hasClass(el, className)) { el.className += ' ' + className; } }; removeClassMethod = function removeClassMethod(el, className) { el.className = el.className.replace(new RegExp('\\b' + className + '\\b', 'g'), ''); }; } var hasClass = exports.hasClass = hasClassMethod; var addClass = exports.addClass = addClassMethod; var removeClass = exports.removeClass = removeClassMethod; function toggleClass(el, className) { hasClass(el, className) ? removeClass(el, className) : addClass(el, className); } function fadeOut(el) { var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 400; var callback = arguments[2]; if (!el.style.opacity) { el.style.opacity = 1; } var start = null; _window2.default.requestAnimationFrame(function animate(timestamp) { start = start || timestamp; var progress = timestamp - start; var opacity = parseFloat(1 - progress / duration, 2); el.style.opacity = opacity < 0 ? 0 : opacity; if (progress > duration) { if (callback && typeof callback === 'function') { callback(); } } else { _window2.default.requestAnimationFrame(animate); } }); } function fadeIn(el) { var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 400; var callback = arguments[2]; if (!el.style.opacity) { el.style.opacity = 0; } var start = null; _window2.default.requestAnimationFrame(function animate(timestamp) { start = start || timestamp; var progress = timestamp - start; var opacity = parseFloat(progress / duration, 2); el.style.opacity = opacity > 1 ? 1 : opacity; if (progress > duration) { if (callback && typeof callback === 'function') { callback(); } } else { _window2.default.requestAnimationFrame(animate); } }); } function siblings(el, filter) { var siblings = []; el = el.parentNode.firstChild; do { if (!filter || filter(el)) { siblings.push(el); } } while (el = el.nextSibling); return siblings; } function visible(elem) { if (elem.getClientRects !== undefined && elem.getClientRects === 'function') { return !!(elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length); } return !!(elem.offsetWidth || elem.offsetHeight); } function ajax(url, dataType, success, error) { var xhr = _window2.default.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); var type = 'application/x-www-form-urlencoded; charset=UTF-8', completed = false, accept = '*/'.concat('*'); switch (dataType) { case 'text': type = 'text/plain'; break; case 'json': type = 'application/json, text/javascript'; break; case 'html': type = 'text/html'; break; case 'xml': type = 'application/xml, text/xml'; break; } if (type !== 'application/x-www-form-urlencoded') { accept = type + ', */*; q=0.01'; } if (xhr) { xhr.open('GET', url, true); xhr.setRequestHeader('Accept', accept); xhr.onreadystatechange = function () { if (completed) { return; } if (xhr.readyState === 4) { if (xhr.status === 200) { completed = true; var data = void 0; switch (dataType) { case 'json': data = JSON.parse(xhr.responseText); break; case 'xml': data = xhr.responseXML; break; default: data = xhr.responseText; break; } success(data); } else if (typeof error === 'function') { error(xhr.status); } } }; xhr.send(); } } _mejs2.default.Utils = _mejs2.default.Utils || {}; _mejs2.default.Utils.offset = offset; _mejs2.default.Utils.hasClass = hasClass; _mejs2.default.Utils.addClass = addClass; _mejs2.default.Utils.removeClass = removeClass; _mejs2.default.Utils.toggleClass = toggleClass; _mejs2.default.Utils.fadeIn = fadeIn; _mejs2.default.Utils.fadeOut = fadeOut; _mejs2.default.Utils.siblings = siblings; _mejs2.default.Utils.visible = visible; _mejs2.default.Utils.ajax = ajax; _mejs2.default.Utils.loadScript = loadScript; },{"2":2,"3":3,"7":7}],18:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.escapeHTML = escapeHTML; exports.debounce = debounce; exports.isObjectEmpty = isObjectEmpty; exports.splitEvents = splitEvents; exports.createEvent = createEvent; exports.isNodeAfter = isNodeAfter; exports.isString = isString; var _mejs = _dereq_(7); var _mejs2 = _interopRequireDefault(_mejs); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function escapeHTML(input) { if (typeof input !== 'string') { throw new Error('Argument passed must be a string'); } var map = { '&': '&', '<': '<', '>': '>', '"': '"' }; return input.replace(/[&<>"]/g, function (c) { return map[c]; }); } function debounce(func, wait) { var _this = this, _arguments = arguments; var immediate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; if (typeof func !== 'function') { throw new Error('First argument must be a function'); } if (typeof wait !== 'number') { throw new Error('Second argument must be a numeric value'); } var timeout = void 0; return function () { var context = _this, args = _arguments; var later = function later() { timeout = null; if (!immediate) { func.apply(context, args); } }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) { func.apply(context, args); } }; } function isObjectEmpty(instance) { return Object.getOwnPropertyNames(instance).length <= 0; } function splitEvents(events, id) { var rwindow = /^((after|before)print|(before)?unload|hashchange|message|o(ff|n)line|page(hide|show)|popstate|resize|storage)\b/; var ret = { d: [], w: [] }; (events || '').split(' ').forEach(function (v) { var eventName = '' + v + (id ? '.' + id : ''); if (eventName.startsWith('.')) { ret.d.push(eventName); ret.w.push(eventName); } else { ret[rwindow.test(v) ? 'w' : 'd'].push(eventName); } }); ret.d = ret.d.join(' '); ret.w = ret.w.join(' '); return ret; } function createEvent(eventName, target) { if (typeof eventName !== 'string') { throw new Error('Event name must be a string'); } var eventFrags = eventName.match(/([a-z]+\.([a-z]+))/i), detail = { target: target }; if (eventFrags !== null) { eventName = eventFrags[1]; detail.namespace = eventFrags[2]; } return new window.CustomEvent(eventName, { detail: detail }); } function isNodeAfter(sourceNode, targetNode) { return !!(sourceNode && targetNode && sourceNode.compareDocumentPosition(targetNode) & 2); } function isString(value) { return typeof value === 'string'; } _mejs2.default.Utils = _mejs2.default.Utils || {}; _mejs2.default.Utils.escapeHTML = escapeHTML; _mejs2.default.Utils.debounce = debounce; _mejs2.default.Utils.isObjectEmpty = isObjectEmpty; _mejs2.default.Utils.splitEvents = splitEvents; _mejs2.default.Utils.createEvent = createEvent; _mejs2.default.Utils.isNodeAfter = isNodeAfter; _mejs2.default.Utils.isString = isString; },{"7":7}],19:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.typeChecks = undefined; exports.absolutizeUrl = absolutizeUrl; exports.formatType = formatType; exports.getMimeFromType = getMimeFromType; exports.getTypeFromFile = getTypeFromFile; exports.getExtension = getExtension; exports.normalizeExtension = normalizeExtension; var _mejs = _dereq_(7); var _mejs2 = _interopRequireDefault(_mejs); var _general = _dereq_(18); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var typeChecks = exports.typeChecks = []; function absolutizeUrl(url) { if (typeof url !== 'string') { throw new Error('`url` argument must be a string'); } var el = document.createElement('div'); el.innerHTML = 'x'; return el.firstChild.href; } function formatType(url) { var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; return url && !type ? getTypeFromFile(url) : type; } function getMimeFromType(type) { if (typeof type !== 'string') { throw new Error('`type` argument must be a string'); } return type && type.indexOf(';') > -1 ? type.substr(0, type.indexOf(';')) : type; } function getTypeFromFile(url) { if (typeof url !== 'string') { throw new Error('`url` argument must be a string'); } for (var i = 0, total = typeChecks.length; i < total; i++) { var type = typeChecks[i](url); if (type) { return type; } } var ext = getExtension(url), normalizedExt = normalizeExtension(ext); var mime = 'video/mp4'; if (normalizedExt) { if (~['mp4', 'm4v', 'ogg', 'ogv', 'webm', 'flv', 'mpeg'].indexOf(normalizedExt)) { mime = 'video/' + normalizedExt; } else if ('mov' === normalizedExt) { mime = 'video/quicktime'; } else if (~['mp3', 'oga', 'wav', 'mid', 'midi'].indexOf(normalizedExt)) { mime = 'audio/' + normalizedExt; } } return mime; } function getExtension(url) { if (typeof url !== 'string') { throw new Error('`url` argument must be a string'); } var baseUrl = url.split('?')[0], baseName = baseUrl.split('\\').pop().split('/').pop(); return ~baseName.indexOf('.') ? baseName.substring(baseName.lastIndexOf('.') + 1) : ''; } function normalizeExtension(extension) { if (typeof extension !== 'string') { throw new Error('`extension` argument must be a string'); } switch (extension) { case 'mp4': case 'm4v': return 'mp4'; case 'webm': case 'webma': case 'webmv': return 'webm'; case 'ogg': case 'oga': case 'ogv': return 'ogg'; default: return extension; } } _mejs2.default.Utils = _mejs2.default.Utils || {}; _mejs2.default.Utils.typeChecks = typeChecks; _mejs2.default.Utils.absolutizeUrl = absolutizeUrl; _mejs2.default.Utils.formatType = formatType; _mejs2.default.Utils.getMimeFromType = getMimeFromType; _mejs2.default.Utils.getTypeFromFile = getTypeFromFile; _mejs2.default.Utils.getExtension = getExtension; _mejs2.default.Utils.normalizeExtension = normalizeExtension; },{"18":18,"7":7}],20:[function(_dereq_,module,exports){ 'use strict'; var _document = _dereq_(2); var _document2 = _interopRequireDefault(_document); var _promisePolyfill = _dereq_(4); var _promisePolyfill2 = _interopRequireDefault(_promisePolyfill); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } (function (arr) { arr.forEach(function (item) { if (item.hasOwnProperty('remove')) { return; } Object.defineProperty(item, 'remove', { configurable: true, enumerable: true, writable: true, value: function remove() { this.parentNode.removeChild(this); } }); }); })([Element.prototype, CharacterData.prototype, DocumentType.prototype]); (function () { if (typeof window.CustomEvent === 'function') { return false; } function CustomEvent(event, params) { params = params || { bubbles: false, cancelable: false, detail: undefined }; var evt = _document2.default.createEvent('CustomEvent'); evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); return evt; } CustomEvent.prototype = window.Event.prototype; window.CustomEvent = CustomEvent; })(); if (typeof Object.assign !== 'function') { Object.assign = function (target) { if (target === null || target === undefined) { throw new TypeError('Cannot convert undefined or null to object'); } var to = Object(target); for (var index = 1, total = arguments.length; index < total; index++) { var nextSource = arguments[index]; if (nextSource !== null) { for (var nextKey in nextSource) { if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) { to[nextKey] = nextSource[nextKey]; } } } } return to; }; } if (!String.prototype.startsWith) { String.prototype.startsWith = function (searchString, position) { position = position || 0; return this.substr(position, searchString.length) === searchString; }; } if (!Element.prototype.matches) { Element.prototype.matches = Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector || function (s) { var matches = (this.document || this.ownerDocument).querySelectorAll(s), i = matches.length - 1; while (--i >= 0 && matches.item(i) !== this) {} return i > -1; }; } if (window.Element && !Element.prototype.closest) { Element.prototype.closest = function (s) { var matches = (this.document || this.ownerDocument).querySelectorAll(s), i = void 0, el = this; do { i = matches.length; while (--i >= 0 && matches.item(i) !== el) {} } while (i < 0 && (el = el.parentElement)); return el; }; } (function () { var lastTime = 0; var vendors = ['ms', 'moz', 'webkit', 'o']; for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) { window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame']; window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame']; } if (!window.requestAnimationFrame) window.requestAnimationFrame = function (callback) { var currTime = new Date().getTime(); var timeToCall = Math.max(0, 16 - (currTime - lastTime)); var id = window.setTimeout(function () { callback(currTime + timeToCall); }, timeToCall); lastTime = currTime + timeToCall; return id; }; if (!window.cancelAnimationFrame) window.cancelAnimationFrame = function (id) { clearTimeout(id); }; })(); if (/firefox/i.test(navigator.userAgent)) { var getComputedStyle = window.getComputedStyle; window.getComputedStyle = function (el, pseudoEl) { var t = getComputedStyle(el, pseudoEl); return t === null ? { getPropertyValue: function getPropertyValue() {} } : t; }; } if (!window.Promise) { window.Promise = _promisePolyfill2.default; } (function (constructor) { if (constructor && constructor.prototype && constructor.prototype.children === null) { Object.defineProperty(constructor.prototype, 'children', { get: function get() { var i = 0, node = void 0, nodes = this.childNodes, children = []; while (node = nodes[i++]) { if (node.nodeType === 1) { children.push(node); } } return children; } }); } })(window.Node || window.Element); },{"2":2,"4":4}]},{},[20,6,5,9,14,11,10,12,13,15]); PK!6mediaelement/mejs-controls.svgnu[ PK!%܎==*mediaelement/mediaelementplayer-legacy.cssnu[/* Accessibility: hide screen reader texts (and prefer "top" for RTL languages). Reference: http://blog.rrwd.nl/2015/04/04/the-screen-reader-text-class-why-and-how/ */ .mejs-offscreen { border: 0; clip: rect( 1px, 1px, 1px, 1px ); -webkit-clip-path: inset( 50% ); clip-path: inset( 50% ); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal; } .mejs-container { background: #000; box-sizing: border-box; font-family: 'Helvetica', Arial, serif; position: relative; text-align: left; text-indent: 0; vertical-align: top; } .mejs-container * { box-sizing: border-box; } /* Hide native play button and control bar from iOS to favor plugin button */ .mejs-container video::-webkit-media-controls, .mejs-container video::-webkit-media-controls-panel, .mejs-container video::-webkit-media-controls-panel-container, .mejs-container video::-webkit-media-controls-start-playback-button { -webkit-appearance: none; display: none !important; } .mejs-fill-container, .mejs-fill-container .mejs-container { height: 100%; width: 100%; } .mejs-fill-container { background: transparent; margin: 0 auto; overflow: hidden; position: relative; } .mejs-container:focus { outline: none; } .mejs-iframe-overlay { height: 100%; position: absolute; width: 100%; } .mejs-embed, .mejs-embed body { background: #000; height: 100%; margin: 0; overflow: hidden; padding: 0; width: 100%; } .mejs-fullscreen { overflow: hidden !important; } .mejs-container-fullscreen { bottom: 0; left: 0; overflow: hidden; position: fixed; right: 0; top: 0; z-index: 1000; } .mejs-container-fullscreen .mejs-mediaelement, .mejs-container-fullscreen video { height: 100% !important; width: 100% !important; } /* Start: LAYERS */ .mejs-background { left: 0; position: absolute; top: 0; } .mejs-mediaelement { height: 100%; left: 0; position: absolute; top: 0; width: 100%; z-index: 0; } .mejs-poster { background-position: 50% 50%; background-repeat: no-repeat; background-size: cover; left: 0; position: absolute; top: 0; z-index: 1; } :root .mejs-poster-img { display: none; } .mejs-poster-img { border: 0; padding: 0; } .mejs-overlay { -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; left: 0; position: absolute; top: 0; } .mejs-layer { z-index: 1; } .mejs-overlay-play { cursor: pointer; } .mejs-overlay-button { background: url('mejs-controls.svg') no-repeat; background-position: 0 -39px; height: 80px; width: 80px; } .mejs-overlay:hover > .mejs-overlay-button { background-position: -80px -39px; } .mejs-overlay-loading { height: 80px; width: 80px; } .mejs-overlay-loading-bg-img { -webkit-animation: mejs-loading-spinner 1s linear infinite; animation: mejs-loading-spinner 1s linear infinite; background: transparent url('mejs-controls.svg') -160px -40px no-repeat; display: block; height: 80px; width: 80px; z-index: 1; } @-webkit-keyframes mejs-loading-spinner { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes mejs-loading-spinner { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } /* End: LAYERS */ /* Start: CONTROL BAR */ .mejs-controls { bottom: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; height: 40px; left: 0; list-style-type: none; margin: 0; padding: 0 10px; position: absolute; width: 100%; z-index: 3; } .mejs-controls:not([style*='display: none']) { background: rgba(255, 0, 0, 0.7); background: -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.35)); background: linear-gradient(transparent, rgba(0, 0, 0, 0.35)); } .mejs-button, .mejs-time, .mejs-time-rail { font-size: 10px; height: 40px; line-height: 10px; margin: 0; width: 32px; } .mejs-button > button { background: transparent url('mejs-controls.svg'); border: 0; cursor: pointer; display: block; font-size: 0; height: 20px; line-height: 0; margin: 10px 6px; overflow: hidden; padding: 0; position: absolute; text-decoration: none; width: 20px; } /* :focus for accessibility */ .mejs-button > button:focus { outline: dotted 1px #999; } .mejs-container-keyboard-inactive a, .mejs-container-keyboard-inactive a:focus, .mejs-container-keyboard-inactive button, .mejs-container-keyboard-inactive button:focus, .mejs-container-keyboard-inactive [role=slider], .mejs-container-keyboard-inactive [role=slider]:focus { outline: 0; } /* End: CONTROL BAR */ /* Start: Time (Current / Duration) */ .mejs-time { box-sizing: content-box; color: #fff; font-size: 11px; font-weight: bold; height: 24px; overflow: hidden; padding: 16px 6px 0; text-align: center; width: auto; } /* End: Time (Current / Duration) */ /* Start: Play/Pause/Stop */ .mejs-play > button { background-position: 0 0; } .mejs-pause > button { background-position: -20px 0; } .mejs-replay > button { background-position: -160px 0; } /* End: Play/Pause/Stop */ /* Start: Progress Bar */ .mejs-time-rail { direction: ltr; -webkit-box-flex: 1; -webkit-flex-grow: 1; -ms-flex-positive: 1; flex-grow: 1; height: 40px; margin: 0 10px; padding-top: 10px; position: relative; } .mejs-time-total, .mejs-time-buffering, .mejs-time-loaded, .mejs-time-current, .mejs-time-float, .mejs-time-hovered, .mejs-time-float-current, .mejs-time-float-corner, .mejs-time-marker { border-radius: 2px; cursor: pointer; display: block; height: 10px; position: absolute; } .mejs-time-total { background: rgba(255, 255, 255, 0.3); margin: 5px 0 0; width: 100%; } .mejs-time-buffering { -webkit-animation: buffering-stripes 2s linear infinite; animation: buffering-stripes 2s linear infinite; background: -webkit-linear-gradient(135deg, rgba(255, 255, 255, 0.4) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.4) 75%, transparent 75%, transparent); background: linear-gradient(-45deg, rgba(255, 255, 255, 0.4) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.4) 75%, transparent 75%, transparent); background-size: 15px 15px; width: 100%; } @-webkit-keyframes buffering-stripes { from { background-position: 0 0; } to { background-position: 30px 0; } } @keyframes buffering-stripes { from { background-position: 0 0; } to { background-position: 30px 0; } } .mejs-time-loaded { background: rgba(255, 255, 255, 0.3); } .mejs-time-current, .mejs-time-handle-content { background: rgba(255, 255, 255, 0.9); } .mejs-time-hovered { background: rgba(255, 255, 255, 0.5); z-index: 10; } .mejs-time-hovered.negative { background: rgba(0, 0, 0, 0.2); } .mejs-time-current, .mejs-time-buffering, .mejs-time-loaded, .mejs-time-hovered { left: 0; -webkit-transform: scaleX(0); -ms-transform: scaleX(0); transform: scaleX(0); -webkit-transform-origin: 0 0; -ms-transform-origin: 0 0; transform-origin: 0 0; -webkit-transition: 0.15s ease-in all; transition: 0.15s ease-in all; width: 100%; } .mejs-time-buffering { -webkit-transform: scaleX(1); -ms-transform: scaleX(1); transform: scaleX(1); } .mejs-time-hovered { -webkit-transition: height 0.1s cubic-bezier(0.44, 0, 1, 1); transition: height 0.1s cubic-bezier(0.44, 0, 1, 1); } .mejs-time-hovered.no-hover { -webkit-transform: scaleX(0) !important; -ms-transform: scaleX(0) !important; transform: scaleX(0) !important; } .mejs-time-handle, .mejs-time-handle-content { border: 4px solid transparent; cursor: pointer; left: 0; position: absolute; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); z-index: 11; } .mejs-time-handle-content { border: 4px solid rgba(255, 255, 255, 0.9); border-radius: 50%; height: 10px; left: -7px; top: -4px; -webkit-transform: scale(0); -ms-transform: scale(0); transform: scale(0); width: 10px; } .mejs-time-rail:hover .mejs-time-handle-content, .mejs-time-rail .mejs-time-handle-content:focus, .mejs-time-rail .mejs-time-handle-content:active { -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); } .mejs-time-float { background: #eee; border: solid 1px #333; bottom: 100%; color: #111; display: none; height: 17px; margin-bottom: 9px; position: absolute; text-align: center; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); width: 36px; } .mejs-time-float-current { display: block; left: 0; margin: 2px; text-align: center; width: 30px; } .mejs-time-float-corner { border: solid 5px #eee; border-color: #eee transparent transparent; border-radius: 0; display: block; height: 0; left: 50%; line-height: 0; position: absolute; top: 100%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); width: 0; } .mejs-long-video .mejs-time-float { margin-left: -23px; width: 64px; } .mejs-long-video .mejs-time-float-current { width: 60px; } .mejs-broadcast { color: #fff; height: 10px; position: absolute; top: 15px; width: 100%; } /* End: Progress Bar */ /* Start: Fullscreen */ .mejs-fullscreen-button > button { background-position: -80px 0; } .mejs-unfullscreen > button { background-position: -100px 0; } /* End: Fullscreen */ /* Start: Mute/Volume */ .mejs-mute > button { background-position: -60px 0; } .mejs-unmute > button { background-position: -40px 0; } .mejs-volume-button { position: relative; } .mejs-volume-button > .mejs-volume-slider { -webkit-backface-visibility: hidden; background: rgba(50, 50, 50, 0.7); border-radius: 0; bottom: 100%; display: none; height: 115px; left: 50%; margin: 0; position: absolute; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); width: 25px; z-index: 1; } .mejs-volume-button:hover { border-radius: 0 0 4px 4px; } .mejs-volume-total { background: rgba(255, 255, 255, 0.5); height: 100px; left: 50%; margin: 0; position: absolute; top: 8px; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); width: 2px; } .mejs-volume-current { background: rgba(255, 255, 255, 0.9); left: 0; margin: 0; position: absolute; width: 100%; } .mejs-volume-handle { background: rgba(255, 255, 255, 0.9); border-radius: 1px; cursor: ns-resize; height: 6px; left: 50%; position: absolute; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); width: 16px; } .mejs-horizontal-volume-slider { display: block; height: 36px; position: relative; vertical-align: middle; width: 56px; } .mejs-horizontal-volume-total { background: rgba(50, 50, 50, 0.8); border-radius: 2px; font-size: 1px; height: 8px; left: 0; margin: 0; padding: 0; position: absolute; top: 16px; width: 50px; } .mejs-horizontal-volume-current { background: rgba(255, 255, 255, 0.8); border-radius: 2px; font-size: 1px; height: 100%; left: 0; margin: 0; padding: 0; position: absolute; top: 0; width: 100%; } .mejs-horizontal-volume-handle { display: none; } /* End: Mute/Volume */ /* Start: Track (Captions and Chapters) */ .mejs-captions-button, .mejs-chapters-button { position: relative; } .mejs-captions-button > button { background-position: -140px 0; } .mejs-chapters-button > button { background-position: -180px 0; } .mejs-captions-button > .mejs-captions-selector, .mejs-chapters-button > .mejs-chapters-selector { background: rgba(50, 50, 50, 0.7); border: solid 1px transparent; border-radius: 0; bottom: 100%; margin-right: -43px; overflow: hidden; padding: 0; position: absolute; right: 50%; visibility: visible; width: 86px; } .mejs-chapters-button > .mejs-chapters-selector { margin-right: -55px; width: 110px; } .mejs-captions-selector-list, .mejs-chapters-selector-list { list-style-type: none !important; margin: 0; overflow: hidden; padding: 0; } .mejs-captions-selector-list-item, .mejs-chapters-selector-list-item { color: #fff; cursor: pointer; display: block; list-style-type: none !important; margin: 0 0 6px; overflow: hidden; padding: 0; } .mejs-captions-selector-list-item:hover, .mejs-chapters-selector-list-item:hover { background-color: rgb(200, 200, 200) !important; background-color: rgba(255, 255, 255, 0.4) !important; } .mejs-captions-selector-input, .mejs-chapters-selector-input { clear: both; float: left; left: -1000px; margin: 3px 3px 0 5px; position: absolute; } .mejs-captions-selector-label, .mejs-chapters-selector-label { cursor: pointer; float: left; font-size: 10px; line-height: 15px; padding: 4px 10px 0; width: 100%; } .mejs-captions-selected, .mejs-chapters-selected { color: rgba(33, 248, 248, 1); } .mejs-captions-translations { font-size: 10px; margin: 0 0 5px; } .mejs-captions-layer { bottom: 0; color: #fff; font-size: 16px; left: 0; line-height: 20px; position: absolute; text-align: center; } .mejs-captions-layer a { color: #fff; text-decoration: underline; } .mejs-captions-layer[lang=ar] { font-size: 20px; font-weight: normal; } .mejs-captions-position { bottom: 15px; left: 0; position: absolute; width: 100%; } .mejs-captions-position-hover { bottom: 35px; } .mejs-captions-text, .mejs-captions-text * { background: rgba(20, 20, 20, 0.5); box-shadow: 5px 0 0 rgba(20, 20, 20, 0.5), -5px 0 0 rgba(20, 20, 20, 0.5); padding: 0; white-space: pre-wrap; } .mejs-container.mejs-hide-cues video::-webkit-media-text-track-container { display: none; } /* End: Track (Captions and Chapters) */ /* Start: Error */ .mejs-overlay-error { position: relative; } .mejs-overlay-error > img { left: 0; max-width: 100%; position: absolute; top: 0; z-index: -1; } .mejs-cannotplay, .mejs-cannotplay a { color: #fff; font-size: 0.8em; } .mejs-cannotplay { position: relative; } .mejs-cannotplay p, .mejs-cannotplay a { display: inline-block; padding: 0 15px; width: 100%; } /* End: Error */PK! 5i5i+mediaelement/mediaelement-and-player.min.jsnu[/*! * MediaElement.js * http://www.mediaelementjs.com/ * * Wrapper that mimics native HTML5 MediaElement (audio and video) * using a variety of technologies (pure JavaScript, Flash, iframe) * * Copyright 2010-2017, John Dyer (http://j.hn/) * License: MIT * */ !function r(a,s,l){function d(n,e){if(!s[n]){if(!a[n]){var t="function"==typeof require&&require;if(!e&&t)return t(n,!0);if(u)return u(n,!0);var o=new Error("Cannot find module '"+n+"'");throw o.code="MODULE_NOT_FOUND",o}var i=s[n]={exports:{}};a[n][0].call(i.exports,function(e){var t=a[n][1][e];return d(t||e)},i,i.exports,r,a,s,l)}return s[n].exports}for(var u="function"==typeof require&&require,e=0;e',o.addControlElement(t,"fullscreen"),t.addEventListener("click",function(){m.HAS_TRUE_NATIVE_FULLSCREEN&&m.IS_FULLSCREEN||n.isFullScreen?n.exitFullScreen():n.enterFullScreen()}),n.fullscreenBtn=t,o.options.keyActions.push({keys:[70],action:function(e,t,n,o){o.ctrlKey||void 0!==e.enterFullScreen&&(e.isFullScreen?e.exitFullScreen():e.enterFullScreen())}}),o.exitFullscreenCallback=function(e){var t=e.which||e.keyCode||0;o.options.enableKeyboard&&27===t&&(m.HAS_TRUE_NATIVE_FULLSCREEN&&m.IS_FULLSCREEN||o.isFullScreen)&&n.exitFullScreen()},o.globalBind("keydown",o.exitFullscreenCallback),o.normalHeight=0,o.normalWidth=0,m.HAS_TRUE_NATIVE_FULLSCREEN){n.globalBind(m.FULLSCREEN_EVENT_NAME,function(){n.isFullScreen&&(m.isFullScreen()?(n.isNativeFullScreen=!0,n.setControlsSize()):(n.isNativeFullScreen=!1,n.exitFullScreen()))})}}},cleanfullscreen:function(e){e.exitFullScreen(),e.globalUnbind("keydown",e.exitFullscreenCallback)},detectFullscreenMode:function(){var e=null!==this.media.rendererName&&/(native|html5)/i.test(this.media.rendererName),t="";return m.HAS_TRUE_NATIVE_FULLSCREEN&&e?t="native-native":m.HAS_TRUE_NATIVE_FULLSCREEN&&!e?t="plugin-native":this.usePluginFullScreen&&m.SUPPORT_POINTER_EVENTS&&(t="plugin-click"),this.fullscreenMode=t},enterFullScreen:function(){var o=this,e=null!==o.media.rendererName&&/(html5|native)/i.test(o.media.rendererName),t=getComputedStyle(o.getElement(o.container));if(o.isVideo)if(!1===o.options.useFakeFullscreen&&(m.IS_IOS||m.IS_SAFARI)&&m.HAS_IOS_FULLSCREEN&&"function"==typeof o.media.originalNode.webkitEnterFullscreen&&o.media.originalNode.canPlayType((0,g.getTypeFromFile)(o.media.getSrc())))o.media.originalNode.webkitEnterFullscreen();else{if((0,v.addClass)(p.default.documentElement,o.options.classPrefix+"fullscreen"),(0,v.addClass)(o.getElement(o.container),o.options.classPrefix+"container-fullscreen"),o.normalHeight=parseFloat(t.height),o.normalWidth=parseFloat(t.width),"native-native"!==o.fullscreenMode&&"plugin-native"!==o.fullscreenMode||(m.requestFullScreen(o.getElement(o.container)),o.isInIframe&&setTimeout(function e(){if(o.isNativeFullScreen){var t=f.default.innerWidth||p.default.documentElement.clientWidth||p.default.body.clientWidth,n=screen.width;.002*n',l.addEventListener("click",function(){i.paused?i.play():i.pause()});var d=l.querySelector("button");function u(e){"play"===e?((0,m.removeClass)(l,i.options.classPrefix+"play"),(0,m.removeClass)(l,i.options.classPrefix+"replay"),(0,m.addClass)(l,i.options.classPrefix+"pause"),d.setAttribute("title",s),d.setAttribute("aria-label",s)):((0,m.removeClass)(l,i.options.classPrefix+"pause"),(0,m.removeClass)(l,i.options.classPrefix+"replay"),(0,m.addClass)(l,i.options.classPrefix+"play"),d.setAttribute("title",a),d.setAttribute("aria-label",a))}i.addControlElement(l,"playpause"),u("pse"),o.addEventListener("loadedmetadata",function(){-1===o.rendererName.indexOf("flash")&&u("pse")}),o.addEventListener("play",function(){u("play")}),o.addEventListener("playing",function(){u("play")}),o.addEventListener("pause",function(){u("pse")}),o.addEventListener("ended",function(){e.options.loop||((0,m.removeClass)(l,i.options.classPrefix+"pause"),(0,m.removeClass)(l,i.options.classPrefix+"play"),(0,m.addClass)(l,i.options.classPrefix+"replay"),d.setAttribute("title",a),d.setAttribute("aria-label",a))})}})},{16:16,2:2,26:26,27:27,5:5}],11:[function(e,t,n){"use strict";var p=r(e(2)),o=e(16),i=r(o),m=r(e(5)),y=e(25),E=e(30),b=e(26);function r(e){return e&&e.__esModule?e:{default:e}}Object.assign(o.config,{enableProgressTooltip:!0,useSmoothHover:!0,forceLive:!1}),Object.assign(i.default.prototype,{buildprogress:function(h,s,e,d){var u=0,v=!1,c=!1,g=this,t=h.options.autoRewind,n=h.options.enableProgressTooltip?'00:00':"",o=p.default.createElement("div");o.className=g.options.classPrefix+"time-rail",o.innerHTML=''+n+"",g.addControlElement(o,"progress"),g.options.keyActions.push({keys:[37,227],action:function(e){if(!isNaN(e.duration)&&0o+n.left&&(d=o+n.left),a=(l=d-n.left)/o,g.newTime=a*g.getDuration(),v&&null!==g.getCurrentTime()&&g.newTime.toFixed(4)!==g.getCurrentTime().toFixed(4)&&(g.setCurrentRailHandle(g.newTime),g.updateCurrent(g.newTime)),!y.IS_IOS&&!y.IS_ANDROID){if(l<0&&(l=0),g.options.useSmoothHover&&null!==r&&void 0!==window[r]){var u=new window[r](getComputedStyle(g.handle)[i]).m41,c=l/parseFloat(getComputedStyle(g.total).width)-u/parseFloat(getComputedStyle(g.total).width);g.hovered.style.left=u+"px",g.setTransformStyle(g.hovered,"scaleX("+c+")"),g.hovered.setAttribute("pos",l),0<=c?(0,b.removeClass)(g.hovered,"negative"):(0,b.addClass)(g.hovered,"negative")}if(g.timefloat){var f=g.timefloat.offsetWidth/2,p=mejs.Utils.offset(g.getElement(g.container)),m=getComputedStyle(g.timefloat);s=d-p.left=g.getElement(g.container).offsetWidth-f?g.total.offsetWidth-f:l,(0,b.hasClass)(g.getElement(g.container),g.options.classPrefix+"long-video")&&(s+=parseFloat(m.marginLeft)/2+g.timefloat.offsetWidth/2),g.timefloat.style.left=s+"px",g.timefloatcurrent.innerHTML=(0,E.secondsToTimeCode)(g.newTime,h.options.alwaysShowHours,h.options.showTimecodeFrameCount,h.options.framesPerSecond,h.options.secondsDecimalLength,h.options.timeFormat),g.timefloat.style.display="block"}}}else y.IS_IOS||y.IS_ANDROID||!g.timefloat||(s=g.timefloat.offsetWidth+o>=g.getElement(g.container).offsetWidth?g.timefloat.offsetWidth/2:0,g.timefloat.style.left=s+"px",g.timefloat.style.left=s+"px",g.timefloat.style.display="block")},f=function(){1e3<=new Date-u&&g.play()};g.slider.addEventListener("focus",function(){h.options.autoRewind=!1}),g.slider.addEventListener("blur",function(){h.options.autoRewind=t}),g.slider.addEventListener("keydown",function(e){if(1e3<=new Date-u&&(c=g.paused),g.options.enableKeyboard&&g.options.keyActions.length){var t=e.which||e.keyCode||0,n=g.getDuration(),o=h.options.defaultSeekForwardInterval(d),i=h.options.defaultSeekBackwardInterval(d),r=g.getCurrentTime(),a=g.getElement(g.container).querySelector("."+g.options.classPrefix+"volume-slider");if(38===t||40===t){a&&(a.style.display="block"),g.isVideo&&(g.showControls(),g.startControlsTimer());var s=38===t?Math.min(g.volume+.1,1):Math.max(g.volume-.1,0),l=s<=0;return g.setVolume(s),void g.setMuted(l)}switch(a&&(a.style.display="none"),t){case 37:g.getDuration()!==1/0&&(r-=i);break;case 39:g.getDuration()!==1/0&&(r+=o);break;case 36:r=0;break;case 35:r=n;break;case 13:case 32:return void(y.IS_FIREFOX&&(g.paused?g.play():g.pause()));default:return}r=r<0||isNaN(r)?0:n<=r?n:Math.floor(r),u=new Date,c||h.pause(),setTimeout(function(){g.setCurrentTime(r)},0),r |
      "}),Object.assign(i.default.prototype,{buildcurrent:function(e,t,n,o){var i=this,r=a.default.createElement("div");r.className=i.options.classPrefix+"time",r.setAttribute("role","timer"),r.setAttribute("aria-live","off"),r.innerHTML=''+(0,s.secondsToTimeCode)(0,e.options.alwaysShowHours,e.options.showTimecodeFrameCount,e.options.framesPerSecond,e.options.secondsDecimalLength,e.options.timeFormat)+"",i.addControlElement(r,"current"),e.updateCurrent(),i.updateTimeCallback=function(){i.controlsAreVisible&&e.updateCurrent()},o.addEventListener("timeupdate",i.updateTimeCallback)},cleancurrent:function(e,t,n,o){o.removeEventListener("timeupdate",e.updateTimeCallback)},buildduration:function(e,t,n,o){var i=this;if(t.lastChild.querySelector("."+i.options.classPrefix+"currenttime"))t.querySelector("."+i.options.classPrefix+"time").innerHTML+=i.options.timeAndDurationSeparator+''+(0,s.secondsToTimeCode)(i.options.duration,i.options.alwaysShowHours,i.options.showTimecodeFrameCount,i.options.framesPerSecond,i.options.secondsDecimalLength,i.options.timeFormat)+"";else{t.querySelector("."+i.options.classPrefix+"currenttime")&&(0,l.addClass)(t.querySelector("."+i.options.classPrefix+"currenttime").parentNode,i.options.classPrefix+"currenttime-container");var r=a.default.createElement("div");r.className=i.options.classPrefix+"time "+i.options.classPrefix+"duration-container",r.innerHTML=''+(0,s.secondsToTimeCode)(i.options.duration,i.options.alwaysShowHours,i.options.showTimecodeFrameCount,i.options.framesPerSecond,i.options.secondsDecimalLength,i.options.timeFormat)+"",i.addControlElement(r,"duration")}i.updateDurationCallback=function(){i.controlsAreVisible&&e.updateDuration()},o.addEventListener("timeupdate",i.updateDurationCallback)},cleanduration:function(e,t,n,o){o.removeEventListener("timeupdate",e.updateDurationCallback)},updateCurrent:function(){var e=this,t=e.getCurrentTime();isNaN(t)&&(t=0);var n=(0,s.secondsToTimeCode)(t,e.options.alwaysShowHours,e.options.showTimecodeFrameCount,e.options.framesPerSecond,e.options.secondsDecimalLength,e.options.timeFormat);5
      ',o.captions.style.display="none",t.insertBefore(o.captions,t.firstChild),o.captionsText=o.captions.querySelector("."+i.options.classPrefix+"captions-text"),o.captionsButton=L.default.createElement("div"),o.captionsButton.className=i.options.classPrefix+"button "+i.options.classPrefix+"captions-button",o.captionsButton.innerHTML='
      ",i.addControlElement(o.captionsButton,"tracks"),o.captionsButton.querySelector("."+i.options.classPrefix+"captions-selector-input").disabled=!1,o.chaptersButton=L.default.createElement("div"),o.chaptersButton.className=i.options.classPrefix+"button "+i.options.classPrefix+"chapters-button",o.chaptersButton.innerHTML='
        ';for(var u=0,c=0;c"},checkForTracks:function(){var e=this,t=!1;if(e.options.hideCaptionsButtonWhenEmpty){for(var n=0,o=e.tracks.length;n";for(var o=r.chaptersButton.querySelectorAll('input[type="radio"]'),i=r.chaptersButton.querySelectorAll("."+r.options.classPrefix+"chapters-selector-label"),a=0,s=o.length;a>1].start,a=e[i].stop,r<=t&&t ((?:[0-9]{1,2}:)?[0-9]{2}:[0-9]{2}([,.][0-9]{3})?)(.*)$/,parse:function(e){for(var t=e.split(/\r?\n/),n=[],o=void 0,i=void 0,r=void 0,a=0,s=t.length;a$1"),n.push({identifier:r,start:0===(0,m.convertSMPTEtoSeconds)(o[1])?.2:(0,m.convertSMPTEtoSeconds)(o[1]),stop:(0,m.convertSMPTEtoSeconds)(o[3]),text:i,settings:o[5]})}r=""}return n}},dfxp:{parse:function(e){var t=L.default.adoptNode((new DOMParser).parseFromString(e,"application/xml").documentElement).querySelector("div"),n=t.querySelectorAll("p"),o=L.default.getElementById(t.getAttribute("style")),i=[],r=void 0;if(o){o.removeAttribute("id");var a=o.attributes;if(a.length){r={};for(var s=0,l=a.length;s$1"),i.push(f)}return i}}}},{16:16,2:2,26:26,27:27,30:30,5:5,7:7}],14:[function(e,t,n){"use strict";var x=r(e(2)),o=e(16),i=r(o),w=r(e(5)),P=e(25),T=e(27),C=e(26);function r(e){return e&&e.__esModule?e:{default:e}}Object.assign(o.config,{muteText:null,unmuteText:null,allyVolumeControlText:null,hideVolumeOnTouchDevices:!0,audioVolume:"horizontal",videoVolume:"vertical",startVolume:.8}),Object.assign(i.default.prototype,{buildvolume:function(e,t,n,o){if(!P.IS_ANDROID&&!P.IS_IOS||!this.options.hideVolumeOnTouchDevices){var a=this,s=a.isVideo?a.options.videoVolume:a.options.audioVolume,r=(0,T.isString)(a.options.muteText)?a.options.muteText:w.default.t("mejs.mute"),l=(0,T.isString)(a.options.unmuteText)?a.options.unmuteText:w.default.t("mejs.unmute"),i=(0,T.isString)(a.options.allyVolumeControlText)?a.options.allyVolumeControlText:w.default.t("mejs.volume-help-text"),d=x.default.createElement("div");if(d.className=a.options.classPrefix+"button "+a.options.classPrefix+"volume-button "+a.options.classPrefix+"mute",d.innerHTML="horizontal"===s?'':''+i+'
        ',a.addControlElement(d,"volume"),a.options.keyActions.push({keys:[38],action:function(e){var t=e.getElement(e.container).querySelector("."+a.options.classPrefix+"volume-slider");t&&t.matches(":focus")&&(t.style.display="block"),e.isVideo&&(e.showControls(),e.startControlsTimer());var n=Math.min(e.volume+.1,1);e.setVolume(n),0'+i+'
        ',d.parentNode.insertBefore(u,d.nextSibling)}var c=!1,f=!1,p=!1,m="vertical"===s?a.getElement(a.container).querySelector("."+a.options.classPrefix+"volume-slider"):a.getElement(a.container).querySelector("."+a.options.classPrefix+"horizontal-volume-slider"),h="vertical"===s?a.getElement(a.container).querySelector("."+a.options.classPrefix+"volume-total"):a.getElement(a.container).querySelector("."+a.options.classPrefix+"horizontal-volume-total"),v="vertical"===s?a.getElement(a.container).querySelector("."+a.options.classPrefix+"volume-current"):a.getElement(a.container).querySelector("."+a.options.classPrefix+"horizontal-volume-current"),g="vertical"===s?a.getElement(a.container).querySelector("."+a.options.classPrefix+"volume-handle"):a.getElement(a.container).querySelector("."+a.options.classPrefix+"horizontal-volume-handle"),y=function(e){if(null!==e&&!isNaN(e)&&void 0!==e){if(e=Math.max(0,e),0===(e=Math.min(e,1))){(0,C.removeClass)(d,a.options.classPrefix+"mute"),(0,C.addClass)(d,a.options.classPrefix+"unmute");var t=d.firstElementChild;t.setAttribute("title",l),t.setAttribute("aria-label",l)}else{(0,C.removeClass)(d,a.options.classPrefix+"unmute"),(0,C.addClass)(d,a.options.classPrefix+"mute");var n=d.firstElementChild;n.setAttribute("title",r),n.setAttribute("aria-label",r)}var o=100*e+"%",i=getComputedStyle(g);"vertical"===s?(v.style.bottom=0,v.style.height=o,g.style.bottom=o,g.style.marginBottom=-parseFloat(i.height)/2+"px"):(v.style.left=0,v.style.width=o,g.style.left=o,g.style.marginLeft=-parseFloat(i.width)/2+"px")}},E=function(e){var t=(0,C.offset)(h),n=getComputedStyle(h);p=!0;var o=null;if("vertical"===s){var i=parseFloat(n.height);if(o=(i-(e.pageY-t.top))/i,0===t.top||0===t.left)return}else{var r=parseFloat(n.width);o=(e.pageX-t.left)/r}o=Math.max(0,o),o=Math.min(o,1),y(o),a.setMuted(0===o),a.setVolume(o),e.preventDefault(),e.stopPropagation()},b=function(){a.muted?(y(0),(0,C.removeClass)(d,a.options.classPrefix+"mute"),(0,C.addClass)(d,a.options.classPrefix+"unmute")):(y(o.volume),(0,C.removeClass)(d,a.options.classPrefix+"unmute"),(0,C.addClass)(d,a.options.classPrefix+"mute"))};e.getElement(e.container).addEventListener("keydown",function(e){!!e.target.closest("."+a.options.classPrefix+"container")||"vertical"!==s||(m.style.display="none")}),d.addEventListener("mouseenter",function(e){e.target===d&&(m.style.display="block",f=!0,e.preventDefault(),e.stopPropagation())}),d.addEventListener("focusin",function(){m.style.display="block",f=!0}),d.addEventListener("focusout",function(e){e.relatedTarget&&(!e.relatedTarget||e.relatedTarget.matches("."+a.options.classPrefix+"volume-slider"))||"vertical"!==s||(m.style.display="none")}),d.addEventListener("mouseleave",function(){f=!1,c||"vertical"!==s||(m.style.display="none")}),d.addEventListener("focusout",function(){f=!1}),d.addEventListener("keydown",function(e){if(a.options.enableKeyboard&&a.options.keyActions.length){var t=e.which||e.keyCode||0,n=o.volume;switch(t){case 38:n=Math.min(n+.1,1);break;case 40:n=Math.max(0,n-.1);break;default:return!0}c=!1,y(n),o.setVolume(n),e.preventDefault(),e.stopPropagation()}}),d.querySelector("button").addEventListener("click",function(){o.setMuted(!o.muted);var e=(0,T.createEvent)("volumechange",o);o.dispatchEvent(e)}),m.addEventListener("dragstart",function(){return!1}),m.addEventListener("mouseover",function(){f=!0}),m.addEventListener("focusin",function(){m.style.display="block",f=!0}),m.addEventListener("focusout",function(){f=!1,c||"vertical"!==s||(m.style.display="none")}),m.addEventListener("mousedown",function(e){E(e),a.globalBind("mousemove.vol",function(e){var t=e.target;c&&(t===m||t.closest("vertical"===s?"."+a.options.classPrefix+"volume-slider":"."+a.options.classPrefix+"horizontal-volume-slider"))&&E(e)}),a.globalBind("mouseup.vol",function(){c=!1,f||"vertical"!==s||(m.style.display="none")}),c=!0,e.preventDefault(),e.stopPropagation()}),o.addEventListener("volumechange",function(e){var t;c||b(),t=Math.floor(100*o.volume),m.setAttribute("aria-valuenow",t),m.setAttribute("aria-valuetext",t+"%")});var S=!1;o.addEventListener("rendererready",function(){p||setTimeout(function(){S=!0,(0===e.options.startVolume||o.originalNode.muted)&&o.setMuted(!0),o.setVolume(e.options.startVolume),a.setControlsSize()},250)}),o.addEventListener("loadedmetadata",function(){setTimeout(function(){p||S||((0===e.options.startVolume||o.originalNode.muted)&&o.setMuted(!0),0===e.options.startVolume&&(e.options.startVolume=0),o.setVolume(e.options.startVolume),a.setControlsSize()),S=!1},250)}),(0===e.options.startVolume||o.originalNode.muted)&&(o.setMuted(!0),0===e.options.startVolume&&(e.options.startVolume=0),b()),a.getElement(a.container).addEventListener("controlsresize",function(){b()})}}})},{16:16,2:2,25:25,26:26,27:27,5:5}],15:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});n.EN={"mejs.plural-form":1,"mejs.download-file":"Download File","mejs.install-flash":"You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https://get.adobe.com/flashplayer/","mejs.fullscreen":"Fullscreen","mejs.play":"Play","mejs.pause":"Pause","mejs.time-slider":"Time Slider","mejs.time-help-text":"Use Left/Right Arrow keys to advance one second, Up/Down arrows to advance ten seconds.","mejs.live-broadcast":"Live Broadcast","mejs.volume-help-text":"Use Up/Down Arrow keys to increase or decrease volume.","mejs.unmute":"Unmute","mejs.mute":"Mute","mejs.volume-slider":"Volume Slider","mejs.video-player":"Video Player","mejs.audio-player":"Audio Player","mejs.captions-subtitles":"Captions/Subtitles","mejs.captions-chapters":"Chapters","mejs.none":"None","mejs.afrikaans":"Afrikaans","mejs.albanian":"Albanian","mejs.arabic":"Arabic","mejs.belarusian":"Belarusian","mejs.bulgarian":"Bulgarian","mejs.catalan":"Catalan","mejs.chinese":"Chinese","mejs.chinese-simplified":"Chinese (Simplified)","mejs.chinese-traditional":"Chinese (Traditional)","mejs.croatian":"Croatian","mejs.czech":"Czech","mejs.danish":"Danish","mejs.dutch":"Dutch","mejs.english":"English","mejs.estonian":"Estonian","mejs.filipino":"Filipino","mejs.finnish":"Finnish","mejs.french":"French","mejs.galician":"Galician","mejs.german":"German","mejs.greek":"Greek","mejs.haitian-creole":"Haitian Creole","mejs.hebrew":"Hebrew","mejs.hindi":"Hindi","mejs.hungarian":"Hungarian","mejs.icelandic":"Icelandic","mejs.indonesian":"Indonesian","mejs.irish":"Irish","mejs.italian":"Italian","mejs.japanese":"Japanese","mejs.korean":"Korean","mejs.latvian":"Latvian","mejs.lithuanian":"Lithuanian","mejs.macedonian":"Macedonian","mejs.malay":"Malay","mejs.maltese":"Maltese","mejs.norwegian":"Norwegian","mejs.persian":"Persian","mejs.polish":"Polish","mejs.portuguese":"Portuguese","mejs.romanian":"Romanian","mejs.russian":"Russian","mejs.serbian":"Serbian","mejs.slovak":"Slovak","mejs.slovenian":"Slovenian","mejs.spanish":"Spanish","mejs.swahili":"Swahili","mejs.swedish":"Swedish","mejs.tagalog":"Tagalog","mejs.thai":"Thai","mejs.turkish":"Turkish","mejs.ukrainian":"Ukrainian","mejs.vietnamese":"Vietnamese","mejs.welsh":"Welsh","mejs.yiddish":"Yiddish"}},{}],16:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.config=void 0;var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=function(){function o(e,t){for(var n=0;n
        ',n.getElement(n.container).addEventListener("focus",function(e){if(!n.controlsAreVisible&&!n.hasFocus&&n.controlsEnabled){n.showControls(!0);var t=(0,m.isNodeAfter)(e.relatedTarget,n.getElement(n.container))?"."+n.options.classPrefix+"controls ."+n.options.classPrefix+"button:last-child > button":"."+n.options.classPrefix+"playpause-button > button";n.getElement(n.container).querySelector(t).focus()}}),n.node.parentNode.insertBefore(n.getElement(n.container),n.node),n.options.features.length||n.options.useDefaultControls||(n.getElement(n.container).style.background="transparent",n.getElement(n.container).querySelector("."+n.options.classPrefix+"controls").style.display="none"),n.isVideo&&"fill"===n.options.stretching&&!P.hasClass(n.getElement(n.container).parentNode,n.options.classPrefix+"fill-container")){n.outerContainer=n.media.parentNode;var r=x.default.createElement("div");r.className=n.options.classPrefix+"fill-container",n.getElement(n.container).parentNode.insertBefore(r,n.getElement(n.container)),r.appendChild(n.getElement(n.container))}w.IS_ANDROID&&P.addClass(n.getElement(n.container),n.options.classPrefix+"android"),w.IS_IOS&&P.addClass(n.getElement(n.container),n.options.classPrefix+"ios"),w.IS_IPAD&&P.addClass(n.getElement(n.container),n.options.classPrefix+"ipad"),w.IS_IPHONE&&P.addClass(n.getElement(n.container),n.options.classPrefix+"iphone"),P.addClass(n.getElement(n.container),n.isVideo?n.options.classPrefix+"video":n.options.classPrefix+"audio"),n.getElement(n.container).querySelector("."+n.options.classPrefix+"mediaelement").appendChild(n.node),(n.media.player=n).controls=n.getElement(n.container).querySelector("."+n.options.classPrefix+"controls"),n.layers=n.getElement(n.container).querySelector("."+n.options.classPrefix+"layers");var a=n.isVideo?"video":"audio",s=a.substring(0,1).toUpperCase()+a.substring(1);0=n.width?n.width/n.height:n.height/n.width,n.setPlayerSize(n.width,n.height),e.pluginWidth=n.width,e.pluginHeight=n.height}if(f.default.MepDefaults=e,new d.default(n.media,e,n.mediaFiles),void 0!==n.getElement(n.container)&&n.options.features.length&&n.controlsAreVisible&&!n.options.hideVideoControlsOnLoad){var l=(0,m.createEvent)("controlsshown",n.getElement(n.container));n.getElement(n.container).dispatchEvent(l)}}},{key:"showControls",value:function(e){var i=this;if(e=void 0===e||e,!i.controlsAreVisible&&i.isVideo){if(e)!function(){P.fadeIn(i.getElement(i.controls),200,function(){P.removeClass(i.getElement(i.controls),i.options.classPrefix+"offscreen");var e=(0,m.createEvent)("controlsshown",i.getElement(i.container));i.getElement(i.container).dispatchEvent(e)});for(var n=i.getElement(i.container).querySelectorAll("."+i.options.classPrefix+"control"),e=function(e,t){P.fadeIn(n[e],200,function(){P.removeClass(n[e],i.options.classPrefix+"offscreen")})},t=0,o=n.length;t'),e.message&&(a="

        "+e.message+"

        "),e.urls)for(var d=0,u=e.urls.length;d'+f.default.i18n.t("mejs.download-file")+": "+c.src+""}}a&&o.getElement(o.layers).querySelector("."+o.options.classPrefix+"overlay-error")&&(r.innerHTML=a,o.getElement(o.layers).querySelector("."+o.options.classPrefix+"overlay-error").innerHTML=""+s+r.outerHTML,o.getElement(o.layers).querySelector("."+o.options.classPrefix+"overlay-error").parentNode.style.display="block"),o.controlsEnabled&&o.disableControls()}},{key:"setPlayerSize",value:function(e,t){var n=this;if(!n.options.setDimensions)return!1;switch(void 0!==e&&(n.width=e),void 0!==t&&(n.height=t),n.options.stretching){case"fill":n.isVideo?n.setFillMode():n.setDimensions(n.width,n.height);break;case"responsive":n.setResponsiveMode();break;case"none":n.setDimensions(n.width,n.height);break;default:!0===n.hasFluidMode()?n.setResponsiveMode():n.setDimensions(n.width,n.height)}}},{key:"hasFluidMode",value:function(){var e=this;return-1!==e.height.toString().indexOf("%")||e.node&&e.node.style.maxWidth&&"none"!==e.node.style.maxWidth&&e.node.style.maxWidth!==e.width||e.node&&e.node.currentStyle&&"100%"===e.node.currentStyle.maxWidth}},{key:"setResponsiveMode",value:function(){var o=this,e=function(){for(var t=void 0,n=o.getElement(o.container);n;){try{if(w.IS_FIREFOX&&"html"===n.tagName.toLowerCase()&&S.default.self!==S.default.top&&null!==S.default.frameElement)return S.default.frameElement;t=n.parentElement}catch(e){t=n.parentElement}if(t&&P.visible(t))return t;n=t}return null}(),t=e?getComputedStyle(e,null):getComputedStyle(x.default.body,null),n=o.isVideo?o.node.videoWidth&&0=o.width?o.node.videoWidth/o.node.videoHeight:o.node.videoHeight/o.node.videoWidth:o.initialAspectRatio,(isNaN(e)||e<.01||100=o.width?parseFloat(l/r,10):parseFloat(l*r,10):i,isNaN(s)&&(s=a),0img");a&&(a.style.display="");for(var s=e.getElement(e.container).querySelectorAll("object, embed, iframe, video"),l=e.height,d=e.width,u=i,c=l*i/d,f=d*r/l,p=r,m=i
        ',n.appendChild(r),a.style.display="none",a.className=i.options.classPrefix+"overlay "+i.options.classPrefix+"layer",a.innerHTML='
        ',n.appendChild(a),s.className=i.options.classPrefix+"overlay "+i.options.classPrefix+"layer "+i.options.classPrefix+"overlay-play",s.innerHTML='
        ',s.addEventListener("click",function(){if(i.options.clickToPlayPause){var e=i.getElement(i.container).querySelector("."+i.options.classPrefix+"overlay-button"),t=e.getAttribute("aria-pressed");i.paused?i.play():i.pause(),e.setAttribute("aria-pressed",!!t),i.getElement(i.container).focus()}}),s.addEventListener("keydown",function(e){var t=e.keyCode||e.which||0;if(13===t||w.IS_FIREFOX&&32===t){var n=(0,m.createEvent)("click",s);return s.dispatchEvent(n),!1}}),n.appendChild(s),null!==i.media.rendererName&&(/(youtube|facebook)/i.test(i.media.rendererName)&&!(i.media.originalNode.getAttribute("poster")||t.options.poster||"function"==typeof i.media.renderer.getPosterUrl&&i.media.renderer.getPosterUrl())||w.IS_STOCK_ANDROID||i.media.originalNode.getAttribute("autoplay"))&&(s.style.display="none");var l=!1;o.addEventListener("play",function(){s.style.display="none",r.style.display="none",a.style.display="none",l=!1}),o.addEventListener("playing",function(){s.style.display="none",r.style.display="none",a.style.display="none",l=!1}),o.addEventListener("seeking",function(){s.style.display="none",r.style.display="",l=!1}),o.addEventListener("seeked",function(){s.style.display=i.paused&&!w.IS_STOCK_ANDROID?"":"none",r.style.display="none",l=!1}),o.addEventListener("pause",function(){r.style.display="none",w.IS_STOCK_ANDROID||l||(s.style.display=""),l=!1}),o.addEventListener("waiting",function(){r.style.display="",l=!1}),o.addEventListener("loadeddata",function(){r.style.display="",w.IS_ANDROID&&(o.canplayTimeout=setTimeout(function(){if(x.default.createEvent){var e=x.default.createEvent("HTMLEvents");return e.initEvent("canplay",!0,!0),o.dispatchEvent(e)}},300)),l=!1}),o.addEventListener("canplay",function(){r.style.display="none",clearTimeout(o.canplayTimeout),l=!1}),o.addEventListener("error",function(e){i._handleError(e,i.media,i.node),r.style.display="none",s.style.display="none",l=!0}),o.addEventListener("loadedmetadata",function(){i.controlsEnabled||i.enableControls()}),o.addEventListener("keydown",function(e){i.onkeydown(t,o,e),l=!1})}}},{key:"buildkeyboard",value:function(o,e,t,i){var r=this;r.getElement(r.container).addEventListener("keydown",function(){r.keyboardAction=!0}),r.globalKeydownCallback=function(e){var t=x.default.activeElement.closest("."+r.options.classPrefix+"container"),n=r.media.closest("."+r.options.classPrefix+"container");return r.hasFocus=!(!t||!n||t.id!==n.id),r.onkeydown(o,i,e)},r.globalClickCallback=function(e){r.hasFocus=!!e.target.closest("."+r.options.classPrefix+"container")},r.globalBind("keydown",r.globalKeydownCallback),r.globalBind("click",r.globalClickCallback)}},{key:"onkeydown",value:function(e,t,n){if(e.hasFocus&&e.options.enableKeyboard)for(var o=0,i=e.options.keyActions.length;oimg");(e&&l.node.setAttribute("poster",e.src),delete l.node.autoplay,l.node.setAttribute("src",""),""!==l.media.canPlayType((0,p.getTypeFromFile)(u))&&l.node.setAttribute("src",u),d&&-1t[0]||n[0]===t[0]&&n[1]>t[1]||n[0]===t[0]&&n[1]===t[1]&&n[2]>=t[2]},addPlugin:function(e,t,n,o,i){r.plugins[e]=r.detectPlugin(t,n,o,i)},detectPlugin:function(e,t,n,o){var i=[0,0,0],r=void 0,a=void 0;if(null!==F.NAV.plugins&&void 0!==F.NAV.plugins&&"object"===d(F.NAV.plugins[e])){if((r=F.NAV.plugins[e].description)&&(void 0===F.NAV.mimeTypes||!F.NAV.mimeTypes[t]||F.NAV.mimeTypes[t].enabledPlugin))for(var s=0,l=(i=r.replace(e,"").replace(/^\s+/,"").replace(/\sr/gi,".").split(".")).length;s
        '+N.default.t("mejs.install-flash")+"
        "}else x=['id="__'+r.id+'"','name="__'+r.id+'"','play="true"','loop="false"','quality="high"','bgcolor="#000000"','wmode="transparent"','allowScriptAccess="'+r.options.shimScriptAccess+'"','allowFullScreen="true"','type="application/x-shockwave-flash"','pluginspage="//www.macromedia.com/go/getflashplayer"','src="'+r.options.pluginPath+r.options.filename+'"','flashvars="'+y.join("&")+'"'],E?(x.push('width="'+S+'"'),x.push('height="'+b+'"')):x.push('style="position: fixed; left: -9999em; top: -9999em;"'),r.flashWrapper.innerHTML="";if(r.flashNode=r.flashWrapper.lastChild,r.hide=function(){o=!1,E&&(r.flashNode.style.display="none")},r.show=function(){o=!0,E&&(r.flashNode.style.display="")},r.setSize=function(e,t){r.flashNode.style.width=e+"px",r.flashNode.style.height=t+"px",null!==r.flashApi&&"function"==typeof r.flashApi.fire_setSize&&r.flashApi.fire_setSize(e,t)},r.destroy=function(){r.flashNode.remove()},n&&0":">",'"':"""};return e.replace(/[&<>"]/g,function(e){return t[e]})}function s(o,i){var r=this,a=arguments,s=2x',t.firstChild.href}function d(e){var t=1' + mejsL10n.strings['mejs.download-file'] + ''; } }; if ( 'undefined' === typeof settings.videoShortcodeLibrary || 'mediaelement' === settings.videoShortcodeLibrary ) { selectors.push( '.wp-video-shortcode' ); } if ( 'undefined' === typeof settings.audioShortcodeLibrary || 'mediaelement' === settings.audioShortcodeLibrary ) { selectors.push( '.wp-audio-shortcode' ); } if ( ! selectors.length ) { return; } // Only initialize new media elements. $( selectors.join( ', ' ) ) .not( '.mejs-container' ) .filter(function () { return ! $( this ).parent().hasClass( 'mejs-mediaelement' ); }) .mediaelementplayer( settings ); } return { initialize: initialize }; } /** * @namespace wp.mediaelement * @memberOf wp */ window.wp.mediaelement = new wpMediaElement(); $( window.wp.mediaelement.initialize ); })( window, jQuery ); PK!Ac?""mediaelement/wp-playlist.jsnu[/* global _wpmejsSettings, MediaElementPlayer */ (function ($, _, Backbone) { 'use strict'; /** @namespace wp */ window.wp = window.wp || {}; var WPPlaylistView = Backbone.View.extend(/** @lends WPPlaylistView.prototype */{ /** * @constructs * * @param {Object} options The options to create this playlist view with. * @param {Object} options.metadata The metadata */ initialize : function (options) { this.index = 0; this.settings = {}; this.data = options.metadata || $.parseJSON( this.$('script.wp-playlist-script').html() ); this.playerNode = this.$( this.data.type ); this.tracks = new Backbone.Collection( this.data.tracks ); this.current = this.tracks.first(); if ( 'audio' === this.data.type ) { this.currentTemplate = wp.template( 'wp-playlist-current-item' ); this.currentNode = this.$( '.wp-playlist-current-item' ); } this.renderCurrent(); if ( this.data.tracklist ) { this.itemTemplate = wp.template( 'wp-playlist-item' ); this.playingClass = 'wp-playlist-playing'; this.renderTracks(); } this.playerNode.attr( 'src', this.current.get( 'src' ) ); _.bindAll( this, 'bindPlayer', 'bindResetPlayer', 'setPlayer', 'ended', 'clickTrack' ); if ( ! _.isUndefined( window._wpmejsSettings ) ) { this.settings = _.clone( _wpmejsSettings ); } this.settings.success = this.bindPlayer; this.setPlayer(); }, bindPlayer : function (mejs) { this.mejs = mejs; this.mejs.addEventListener( 'ended', this.ended ); }, bindResetPlayer : function (mejs) { this.bindPlayer( mejs ); this.playCurrentSrc(); }, setPlayer: function (force) { if ( this.player ) { this.player.pause(); this.player.remove(); this.playerNode = this.$( this.data.type ); } if (force) { this.playerNode.attr( 'src', this.current.get( 'src' ) ); this.settings.success = this.bindResetPlayer; } // This is also our bridge to the outside world. this.player = new MediaElementPlayer( this.playerNode.get(0), this.settings ); }, playCurrentSrc : function () { this.renderCurrent(); this.mejs.setSrc( this.playerNode.attr( 'src' ) ); this.mejs.load(); this.mejs.play(); }, renderCurrent : function () { var dimensions, defaultImage = 'wp-includes/images/media/video.png'; if ( 'video' === this.data.type ) { if ( this.data.images && this.current.get( 'image' ) && -1 === this.current.get( 'image' ).src.indexOf( defaultImage ) ) { this.playerNode.attr( 'poster', this.current.get( 'image' ).src ); } dimensions = this.current.get( 'dimensions' ); if ( dimensions && dimensions.resized ) { this.playerNode.attr( dimensions.resized ); } } else { if ( ! this.data.images ) { this.current.set( 'image', false ); } this.currentNode.html( this.currentTemplate( this.current.toJSON() ) ); } }, renderTracks : function () { var self = this, i = 1, tracklist = $( '
        ' ); this.tracks.each(function (model) { if ( ! self.data.images ) { model.set( 'image', false ); } model.set( 'artists', self.data.artists ); model.set( 'index', self.data.tracknumbers ? i : false ); tracklist.append( self.itemTemplate( model.toJSON() ) ); i += 1; }); this.$el.append( tracklist ); this.$( '.wp-playlist-item' ).eq(0).addClass( this.playingClass ); }, events : { 'click .wp-playlist-item' : 'clickTrack', 'click .wp-playlist-next' : 'next', 'click .wp-playlist-prev' : 'prev' }, clickTrack : function (e) { e.preventDefault(); this.index = this.$( '.wp-playlist-item' ).index( e.currentTarget ); this.setCurrent(); }, ended : function () { if ( this.index + 1 < this.tracks.length ) { this.next(); } else { this.index = 0; this.setCurrent(); } }, next : function () { this.index = this.index + 1 >= this.tracks.length ? 0 : this.index + 1; this.setCurrent(); }, prev : function () { this.index = this.index - 1 < 0 ? this.tracks.length - 1 : this.index - 1; this.setCurrent(); }, loadCurrent : function () { var last = this.playerNode.attr( 'src' ) && this.playerNode.attr( 'src' ).split('.').pop(), current = this.current.get( 'src' ).split('.').pop(); this.mejs && this.mejs.pause(); if ( last !== current ) { this.setPlayer( true ); } else { this.playerNode.attr( 'src', this.current.get( 'src' ) ); this.playCurrentSrc(); } }, setCurrent : function () { this.current = this.tracks.at( this.index ); if ( this.data.tracklist ) { this.$( '.wp-playlist-item' ) .removeClass( this.playingClass ) .eq( this.index ) .addClass( this.playingClass ); } this.loadCurrent(); } }); /** * Initialize media playlists in the document. * * Only initializes new playlists not previously-initialized. * * @since 4.9.3 * @return {void} */ function initialize() { $( '.wp-playlist:not(:has(.mejs-container))' ).each( function() { new WPPlaylistView( { el: this } ); } ); } /** * Expose the API publicly on window.wp.playlist. * * @namespace wp.playlist * @since 4.9.3 * @type {object} */ window.wp.playlist = { initialize: initialize }; $( document ).ready( initialize ); window.WPPlaylistView = WPPlaylistView; }(jQuery, _, Backbone)); PK!Յ++.mediaelement/mediaelementplayer-legacy.min.cssnu[.mejs-offscreen{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal}.mejs-container{background:#000;font-family:Helvetica,Arial,serif;position:relative;text-align:left;text-indent:0;vertical-align:top}.mejs-container,.mejs-container *{box-sizing:border-box}.mejs-container video::-webkit-media-controls,.mejs-container video::-webkit-media-controls-panel,.mejs-container video::-webkit-media-controls-panel-container,.mejs-container video::-webkit-media-controls-start-playback-button{-webkit-appearance:none;display:none!important}.mejs-fill-container,.mejs-fill-container .mejs-container{height:100%;width:100%}.mejs-fill-container{background:transparent;margin:0 auto;overflow:hidden;position:relative}.mejs-container:focus{outline:none}.mejs-iframe-overlay{height:100%;position:absolute;width:100%}.mejs-embed,.mejs-embed body{background:#000;height:100%;margin:0;overflow:hidden;padding:0;width:100%}.mejs-fullscreen{overflow:hidden!important}.mejs-container-fullscreen{bottom:0;left:0;overflow:hidden;position:fixed;right:0;top:0;z-index:1000}.mejs-container-fullscreen .mejs-mediaelement,.mejs-container-fullscreen video{height:100%!important;width:100%!important}.mejs-background,.mejs-mediaelement{left:0;position:absolute;top:0}.mejs-mediaelement{height:100%;width:100%;z-index:0}.mejs-poster{background-position:50% 50%;background-repeat:no-repeat;background-size:cover;left:0;position:absolute;top:0;z-index:1}:root .mejs-poster-img{display:none}.mejs-poster-img{border:0;padding:0}.mejs-overlay{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;left:0;position:absolute;top:0}.mejs-layer{z-index:1}.mejs-overlay-play{cursor:pointer}.mejs-overlay-button{background:url(mejs-controls.svg) no-repeat;background-position:0 -39px;height:80px;width:80px}.mejs-overlay:hover>.mejs-overlay-button{background-position:-80px -39px}.mejs-overlay-loading{height:80px;width:80px}.mejs-overlay-loading-bg-img{-webkit-animation:a 1s linear infinite;animation:a 1s linear infinite;background:transparent url(mejs-controls.svg) -160px -40px no-repeat;display:block;height:80px;width:80px;z-index:1}@-webkit-keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.mejs-controls{bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:40px;left:0;list-style-type:none;margin:0;padding:0 10px;position:absolute;width:100%;z-index:3}.mejs-controls:not([style*="display: none"]){background:rgba(255,0,0,.7);background:-webkit-linear-gradient(transparent,rgba(0,0,0,.35));background:linear-gradient(transparent,rgba(0,0,0,.35))}.mejs-button,.mejs-time,.mejs-time-rail{font-size:10px;height:40px;line-height:10px;margin:0;width:32px}.mejs-button>button{background:transparent url(mejs-controls.svg);border:0;cursor:pointer;display:block;font-size:0;height:20px;line-height:0;margin:10px 6px;overflow:hidden;padding:0;position:absolute;text-decoration:none;width:20px}.mejs-button>button:focus{outline:1px dotted #999}.mejs-container-keyboard-inactive [role=slider],.mejs-container-keyboard-inactive [role=slider]:focus,.mejs-container-keyboard-inactive a,.mejs-container-keyboard-inactive a:focus,.mejs-container-keyboard-inactive button,.mejs-container-keyboard-inactive button:focus{outline:0}.mejs-time{box-sizing:content-box;color:#fff;font-size:11px;font-weight:700;height:24px;overflow:hidden;padding:16px 6px 0;text-align:center;width:auto}.mejs-play>button{background-position:0 0}.mejs-pause>button{background-position:-20px 0}.mejs-replay>button{background-position:-160px 0}.mejs-time-rail{direction:ltr;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;height:40px;margin:0 10px;padding-top:10px;position:relative}.mejs-time-buffering,.mejs-time-current,.mejs-time-float,.mejs-time-float-corner,.mejs-time-float-current,.mejs-time-hovered,.mejs-time-loaded,.mejs-time-marker,.mejs-time-total{border-radius:2px;cursor:pointer;display:block;height:10px;position:absolute}.mejs-time-total{background:hsla(0,0%,100%,.3);margin:5px 0 0;width:100%}.mejs-time-buffering{-webkit-animation:b 2s linear infinite;animation:b 2s linear infinite;background:-webkit-linear-gradient(135deg,hsla(0,0%,100%,.4) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 75%,transparent 0,transparent);background:linear-gradient(-45deg,hsla(0,0%,100%,.4) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 75%,transparent 0,transparent);background-size:15px 15px;width:100%}@-webkit-keyframes b{0%{background-position:0 0}to{background-position:30px 0}}@keyframes b{0%{background-position:0 0}to{background-position:30px 0}}.mejs-time-loaded{background:hsla(0,0%,100%,.3)}.mejs-time-current,.mejs-time-handle-content{background:hsla(0,0%,100%,.9)}.mejs-time-hovered{background:hsla(0,0%,100%,.5);z-index:10}.mejs-time-hovered.negative{background:rgba(0,0,0,.2)}.mejs-time-buffering,.mejs-time-current,.mejs-time-hovered,.mejs-time-loaded{left:0;-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;-webkit-transition:all .15s ease-in;transition:all .15s ease-in;width:100%}.mejs-time-buffering{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1)}.mejs-time-hovered{-webkit-transition:height .1s cubic-bezier(.44,0,1,1);transition:height .1s cubic-bezier(.44,0,1,1)}.mejs-time-hovered.no-hover{-webkit-transform:scaleX(0)!important;-ms-transform:scaleX(0)!important;transform:scaleX(0)!important}.mejs-time-handle,.mejs-time-handle-content{border:4px solid transparent;cursor:pointer;left:0;position:absolute;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);z-index:11}.mejs-time-handle-content{border:4px solid hsla(0,0%,100%,.9);border-radius:50%;height:10px;left:-7px;top:-4px;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);width:10px}.mejs-time-rail .mejs-time-handle-content:active,.mejs-time-rail .mejs-time-handle-content:focus,.mejs-time-rail:hover .mejs-time-handle-content{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.mejs-time-float{background:#eee;border:1px solid #333;bottom:100%;color:#111;display:none;height:17px;margin-bottom:9px;position:absolute;text-align:center;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:36px}.mejs-time-float-current{display:block;left:0;margin:2px;text-align:center;width:30px}.mejs-time-float-corner{border:5px solid #eee;border-color:#eee transparent transparent;border-radius:0;display:block;height:0;left:50%;line-height:0;position:absolute;top:100%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:0}.mejs-long-video .mejs-time-float{margin-left:-23px;width:64px}.mejs-long-video .mejs-time-float-current{width:60px}.mejs-broadcast{color:#fff;height:10px;position:absolute;top:15px;width:100%}.mejs-fullscreen-button>button{background-position:-80px 0}.mejs-unfullscreen>button{background-position:-100px 0}.mejs-mute>button{background-position:-60px 0}.mejs-unmute>button{background-position:-40px 0}.mejs-volume-button{position:relative}.mejs-volume-button>.mejs-volume-slider{-webkit-backface-visibility:hidden;background:rgba(50,50,50,.7);border-radius:0;bottom:100%;display:none;height:115px;left:50%;margin:0;position:absolute;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:25px;z-index:1}.mejs-volume-button:hover{border-radius:0 0 4px 4px}.mejs-volume-total{background:hsla(0,0%,100%,.5);height:100px;left:50%;margin:0;position:absolute;top:8px;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:2px}.mejs-volume-current{left:0;margin:0;width:100%}.mejs-volume-current,.mejs-volume-handle{background:hsla(0,0%,100%,.9);position:absolute}.mejs-volume-handle{border-radius:1px;cursor:ns-resize;height:6px;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:16px}.mejs-horizontal-volume-slider{display:block;height:36px;position:relative;vertical-align:middle;width:56px}.mejs-horizontal-volume-total{background:rgba(50,50,50,.8);height:8px;top:16px;width:50px}.mejs-horizontal-volume-current,.mejs-horizontal-volume-total{border-radius:2px;font-size:1px;left:0;margin:0;padding:0;position:absolute}.mejs-horizontal-volume-current{background:hsla(0,0%,100%,.8);height:100%;top:0;width:100%}.mejs-horizontal-volume-handle{display:none}.mejs-captions-button,.mejs-chapters-button{position:relative}.mejs-captions-button>button{background-position:-140px 0}.mejs-chapters-button>button{background-position:-180px 0}.mejs-captions-button>.mejs-captions-selector,.mejs-chapters-button>.mejs-chapters-selector{background:rgba(50,50,50,.7);border:1px solid transparent;border-radius:0;bottom:100%;margin-right:-43px;overflow:hidden;padding:0;position:absolute;right:50%;visibility:visible;width:86px}.mejs-chapters-button>.mejs-chapters-selector{margin-right:-55px;width:110px}.mejs-captions-selector-list,.mejs-chapters-selector-list{list-style-type:none!important;margin:0;overflow:hidden;padding:0}.mejs-captions-selector-list-item,.mejs-chapters-selector-list-item{color:#fff;cursor:pointer;display:block;list-style-type:none!important;margin:0 0 6px;overflow:hidden;padding:0}.mejs-captions-selector-list-item:hover,.mejs-chapters-selector-list-item:hover{background-color:#c8c8c8!important;background-color:hsla(0,0%,100%,.4)!important}.mejs-captions-selector-input,.mejs-chapters-selector-input{clear:both;float:left;left:-1000px;margin:3px 3px 0 5px;position:absolute}.mejs-captions-selector-label,.mejs-chapters-selector-label{cursor:pointer;float:left;font-size:10px;line-height:15px;padding:4px 10px 0;width:100%}.mejs-captions-selected,.mejs-chapters-selected{color:#21f8f8}.mejs-captions-translations{font-size:10px;margin:0 0 5px}.mejs-captions-layer{bottom:0;color:#fff;font-size:16px;left:0;line-height:20px;position:absolute;text-align:center}.mejs-captions-layer a{color:#fff;text-decoration:underline}.mejs-captions-layer[lang=ar]{font-size:20px;font-weight:400}.mejs-captions-position{bottom:15px;left:0;position:absolute;width:100%}.mejs-captions-position-hover{bottom:35px}.mejs-captions-text,.mejs-captions-text *{background:hsla(0,0%,8%,.5);box-shadow:5px 0 0 hsla(0,0%,8%,.5),-5px 0 0 hsla(0,0%,8%,.5);padding:0;white-space:pre-wrap}.mejs-container.mejs-hide-cues video::-webkit-media-text-track-container{display:none}.mejs-overlay-error{position:relative}.mejs-overlay-error>img{left:0;max-width:100%;position:absolute;top:0;z-index:-1}.mejs-cannotplay,.mejs-cannotplay a{color:#fff;font-size:.8em}.mejs-cannotplay{position:relative}.mejs-cannotplay a,.mejs-cannotplay p{display:inline-block;padding:0 15px;width:100%}PK!5%u u mediaelement/wp-playlist.min.jsnu[!function(r,e,i){"use strict";window.wp=window.wp||{};var t=i.View.extend({initialize:function(t){this.index=0,this.settings={},this.data=t.metadata||r.parseJSON(this.$("script.wp-playlist-script").html()),this.playerNode=this.$(this.data.type),this.tracks=new i.Collection(this.data.tracks),this.current=this.tracks.first(),"audio"===this.data.type&&(this.currentTemplate=wp.template("wp-playlist-current-item"),this.currentNode=this.$(".wp-playlist-current-item")),this.renderCurrent(),this.data.tracklist&&(this.itemTemplate=wp.template("wp-playlist-item"),this.playingClass="wp-playlist-playing",this.renderTracks()),this.playerNode.attr("src",this.current.get("src")),e.bindAll(this,"bindPlayer","bindResetPlayer","setPlayer","ended","clickTrack"),e.isUndefined(window._wpmejsSettings)||(this.settings=e.clone(_wpmejsSettings)),this.settings.success=this.bindPlayer,this.setPlayer()},bindPlayer:function(t){this.mejs=t,this.mejs.addEventListener("ended",this.ended)},bindResetPlayer:function(t){this.bindPlayer(t),this.playCurrentSrc()},setPlayer:function(t){this.player&&(this.player.pause(),this.player.remove(),this.playerNode=this.$(this.data.type)),t&&(this.playerNode.attr("src",this.current.get("src")),this.settings.success=this.bindResetPlayer),this.player=new MediaElementPlayer(this.playerNode.get(0),this.settings)},playCurrentSrc:function(){this.renderCurrent(),this.mejs.setSrc(this.playerNode.attr("src")),this.mejs.load(),this.mejs.play()},renderCurrent:function(){var t;"video"===this.data.type?(this.data.images&&this.current.get("image")&&-1===this.current.get("image").src.indexOf("wp-includes/images/media/video.png")&&this.playerNode.attr("poster",this.current.get("image").src),(t=this.current.get("dimensions"))&&t.resized&&this.playerNode.attr(t.resized)):(this.data.images||this.current.set("image",!1),this.currentNode.html(this.currentTemplate(this.current.toJSON())))},renderTracks:function(){var e=this,i=1,s=r('
        ');this.tracks.each(function(t){e.data.images||t.set("image",!1),t.set("artists",e.data.artists),t.set("index",!!e.data.tracknumbers&&i),s.append(e.itemTemplate(t.toJSON())),i+=1}),this.$el.append(s),this.$(".wp-playlist-item").eq(0).addClass(this.playingClass)},events:{"click .wp-playlist-item":"clickTrack","click .wp-playlist-next":"next","click .wp-playlist-prev":"prev"},clickTrack:function(t){t.preventDefault(),this.index=this.$(".wp-playlist-item").index(t.currentTarget),this.setCurrent()},ended:function(){this.index+1=this.tracks.length?0:this.index+1,this.setCurrent()},prev:function(){this.index=this.index-1<0?this.tracks.length-1:this.index-1,this.setCurrent()},loadCurrent:function(){var t=this.playerNode.attr("src")&&this.playerNode.attr("src").split(".").pop(),e=this.current.get("src").split(".").pop();this.mejs&&this.mejs.pause(),t!==e?this.setPlayer(!0):(this.playerNode.attr("src",this.current.get("src")),this.playCurrentSrc())},setCurrent:function(){this.current=this.tracks.at(this.index),this.data.tracklist&&this.$(".wp-playlist-item").removeClass(this.playingClass).eq(this.index).addClass(this.playingClass),this.loadCurrent()}});function s(){r(".wp-playlist:not(:has(.mejs-container))").each(function(){new t({el:this})})}window.wp.playlist={initialize:s},r(document).ready(s),window.WPPlaylistView=t}(jQuery,_,Backbone);PK!BC*ZZ$mediaelement/wp-mediaelement.min.cssnu[.mejs-container{clear:both;max-width:100%}.mejs-container *{font-family:Helvetica,Arial}.mejs-container,.mejs-container .mejs-controls,.mejs-embed,.mejs-embed body{background:#222}.mejs-time{font-weight:400;word-wrap:normal}.mejs-controls a.mejs-horizontal-volume-slider{display:table}.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current,.mejs-controls .mejs-time-rail .mejs-time-loaded{background:#fff}.mejs-controls .mejs-time-rail .mejs-time-current{background:#0073aa}.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total,.mejs-controls .mejs-time-rail .mejs-time-total{background:rgba(255,255,255,.33)}.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current,.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total,.mejs-controls .mejs-time-rail span{border-radius:0}.mejs-overlay-loading{background:0 0}.mejs-controls button:hover{border:none;-webkit-box-shadow:none;box-shadow:none}.me-cannotplay{width:auto!important}.media-embed-details .wp-audio-shortcode{display:inline-block;max-width:400px}.audio-details .embed-media-settings{overflow:visible}.media-embed-details .embed-media-settings .setting span:not(.button-group){max-width:400px;width:auto}.media-embed-details .embed-media-settings .checkbox-setting span{display:inline-block}.media-embed-details .embed-media-settings{padding-top:0;top:28px}.media-embed-details .instructions{padding:16px 0;max-width:600px}.media-embed-details .setting .remove-setting,.media-embed-details .setting p{color:#a00;font-size:10px;text-transform:uppercase}.media-embed-details .setting .remove-setting{padding:5px 0}.media-embed-details .setting a:hover{color:#dc3232}.media-embed-details .embed-media-settings .checkbox-setting{float:none;margin:0 0 10px}.wp-video{max-width:100%;height:auto}.wp_attachment_holder .wp-audio-shortcode,.wp_attachment_holder .wp-video{margin-top:18px}.wp-video-shortcode video,video.wp-video-shortcode{max-width:100%;display:inline-block}.video-details .wp-video-holder{width:100%;max-width:640px}.wp-playlist{border:1px solid #ccc;padding:10px;margin:12px 0 18px;font-size:14px;line-height:1.5}.wp-admin .wp-playlist{margin:0 0 18px}.wp-playlist video{display:inline-block;max-width:100%}.wp-playlist audio{display:none;max-width:100%;width:400px}.wp-playlist .mejs-container{margin:0;max-width:100%}.wp-playlist .mejs-controls .mejs-button button{outline:0}.wp-playlist-light{background:#fff;color:#000}.wp-playlist-dark{color:#fff;background:#000}.wp-playlist-caption{display:block;max-width:88%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.5}.wp-playlist-item .wp-playlist-caption{text-decoration:none;color:#000;max-width:-webkit-calc(100% - 40px);max-width:calc(100% - 40px)}.wp-playlist-item-meta{display:block;font-size:14px;line-height:1.5}.wp-playlist-item-title{font-size:14px;line-height:1.5}.wp-playlist-item-album{font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-playlist-item-artist{font-size:12px;text-transform:uppercase}.wp-playlist-item-length{position:absolute;right:3px;top:0;font-size:14px;line-height:1.5}.rtl .wp-playlist-item-length{left:3px;right:auto}.wp-playlist-tracks{margin-top:10px}.wp-playlist-item{position:relative;cursor:pointer;padding:0 3px;border-bottom:1px solid #ccc}.wp-playlist-item:last-child{border-bottom:0}.wp-playlist-light .wp-playlist-caption{color:#333}.wp-playlist-dark .wp-playlist-caption{color:#ddd}.wp-playlist-playing{font-weight:700;background:#f7f7f7}.wp-playlist-light .wp-playlist-playing{background:#fff;color:#000}.wp-playlist-dark .wp-playlist-playing{background:#000;color:#fff}.wp-playlist-current-item{overflow:hidden;margin-bottom:10px;height:60px}.wp-playlist .wp-playlist-current-item img{float:left;max-width:60px;height:auto;margin-right:10px;padding:0;border:0}.rtl .wp-playlist .wp-playlist-current-item img{float:right;margin-left:10px;margin-right:0}.wp-playlist-current-item .wp-playlist-item-artist,.wp-playlist-current-item .wp-playlist-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-audio-playlist .me-cannotplay span{padding:5px 15px}PK!$XSS#mediaelement/wp-mediaelement.min.jsnu[!function(e,n){e.wp=e.wp||{},e.wp.mediaelement=new function(){var t={};return{initialize:function(){var e=[];(t="undefined"!=typeof _wpmejsSettings?n.extend(!0,{},_wpmejsSettings):t).classPrefix="mejs-",t.success=t.success||function(e){var t,n;e.rendererName&&-1!==e.rendererName.indexOf("flash")&&(t=e.attributes.autoplay&&"false"!==e.attributes.autoplay,n=e.attributes.loop&&"false"!==e.attributes.loop,t&&e.addEventListener("canplay",function(){e.play()},!1),n)&&e.addEventListener("ended",function(){e.play()},!1)},t.customError=function(e,t){if(-1!==e.rendererName.indexOf("flash")||-1!==e.rendererName.indexOf("flv"))return''+mejsL10n.strings["mejs.download-file"]+""},void 0!==t.videoShortcodeLibrary&&"mediaelement"!==t.videoShortcodeLibrary||e.push(".wp-video-shortcode"),void 0!==t.audioShortcodeLibrary&&"mediaelement"!==t.audioShortcodeLibrary||e.push(".wp-audio-shortcode"),e.length&&n(e.join(", ")).not(".mejs-container").filter(function(){return!n(this).parent().hasClass("mejs-mediaelement")}).mediaelementplayer(t)}}},n(e.wp.mediaelement.initialize)}(window,jQuery);PK! wp-api.jsnu[/** * @output wp-includes/js/wp-api.js */ (function( window, undefined ) { 'use strict'; /** * Initialize the WP_API. */ function WP_API() { /** @namespace wp.api.models */ this.models = {}; /** @namespace wp.api.collections */ this.collections = {}; /** @namespace wp.api.views */ this.views = {}; } /** @namespace wp */ window.wp = window.wp || {}; /** @namespace wp.api */ wp.api = wp.api || new WP_API(); wp.api.versionString = wp.api.versionString || 'wp/v2/'; // Alias _includes to _.contains, ensuring it is available if lodash is used. if ( ! _.isFunction( _.includes ) && _.isFunction( _.contains ) ) { _.includes = _.contains; } })( window ); (function( window, undefined ) { 'use strict'; var pad, r; /** @namespace wp */ window.wp = window.wp || {}; /** @namespace wp.api */ wp.api = wp.api || {}; /** @namespace wp.api.utils */ wp.api.utils = wp.api.utils || {}; /** * Determine model based on API route. * * @param {string} route The API route. * * @return {Backbone Model} The model found at given route. Undefined if not found. */ wp.api.getModelByRoute = function( route ) { return _.find( wp.api.models, function( model ) { return model.prototype.route && route === model.prototype.route.index; } ); }; /** * Determine collection based on API route. * * @param {string} route The API route. * * @return {Backbone Model} The collection found at given route. Undefined if not found. */ wp.api.getCollectionByRoute = function( route ) { return _.find( wp.api.collections, function( collection ) { return collection.prototype.route && route === collection.prototype.route.index; } ); }; /** * ECMAScript 5 shim, adapted from MDN. * @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString */ if ( ! Date.prototype.toISOString ) { pad = function( number ) { r = String( number ); if ( 1 === r.length ) { r = '0' + r; } return r; }; Date.prototype.toISOString = function() { return this.getUTCFullYear() + '-' + pad( this.getUTCMonth() + 1 ) + '-' + pad( this.getUTCDate() ) + 'T' + pad( this.getUTCHours() ) + ':' + pad( this.getUTCMinutes() ) + ':' + pad( this.getUTCSeconds() ) + '.' + String( ( this.getUTCMilliseconds() / 1000 ).toFixed( 3 ) ).slice( 2, 5 ) + 'Z'; }; } /** * Parse date into ISO8601 format. * * @param {Date} date. */ wp.api.utils.parseISO8601 = function( date ) { var timestamp, struct, i, k, minutesOffset = 0, numericKeys = [ 1, 4, 5, 6, 7, 10, 11 ]; /* * ES5 §15.9.4.2 states that the string should attempt to be parsed as a Date Time String Format string * before falling back to any implementation-specific date parsing, so that’s what we do, even if native * implementations could be faster. */ // 1 YYYY 2 MM 3 DD 4 HH 5 mm 6 ss 7 msec 8 Z 9 ± 10 tzHH 11 tzmm if ( ( struct = /^(\d{4}|[+\-]\d{6})(?:-(\d{2})(?:-(\d{2}))?)?(?:T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{3}))?)?(?:(Z)|([+\-])(\d{2})(?::(\d{2}))?)?)?$/.exec( date ) ) ) { // Avoid NaN timestamps caused by “undefined” values being passed to Date.UTC. for ( i = 0; ( k = numericKeys[i] ); ++i ) { struct[k] = +struct[k] || 0; } // Allow undefined days and months. struct[2] = ( +struct[2] || 1 ) - 1; struct[3] = +struct[3] || 1; if ( 'Z' !== struct[8] && undefined !== struct[9] ) { minutesOffset = struct[10] * 60 + struct[11]; if ( '+' === struct[9] ) { minutesOffset = 0 - minutesOffset; } } timestamp = Date.UTC( struct[1], struct[2], struct[3], struct[4], struct[5] + minutesOffset, struct[6], struct[7] ); } else { timestamp = Date.parse ? Date.parse( date ) : NaN; } return timestamp; }; /** * Helper function for getting the root URL. * @return {[type]} [description] */ wp.api.utils.getRootUrl = function() { return window.location.origin ? window.location.origin + '/' : window.location.protocol + '//' + window.location.host + '/'; }; /** * Helper for capitalizing strings. */ wp.api.utils.capitalize = function( str ) { if ( _.isUndefined( str ) ) { return str; } return str.charAt( 0 ).toUpperCase() + str.slice( 1 ); }; /** * Helper function that capitalizes the first word and camel cases any words starting * after dashes, removing the dashes. */ wp.api.utils.capitalizeAndCamelCaseDashes = function( str ) { if ( _.isUndefined( str ) ) { return str; } str = wp.api.utils.capitalize( str ); return wp.api.utils.camelCaseDashes( str ); }; /** * Helper function to camel case the letter after dashes, removing the dashes. */ wp.api.utils.camelCaseDashes = function( str ) { return str.replace( /-([a-z])/g, function( g ) { return g[ 1 ].toUpperCase(); } ); }; /** * Extract a route part based on negative index. * * @param {string} route The endpoint route. * @param {number} part The number of parts from the end of the route to retrieve. Default 1. * Example route `/a/b/c`: part 1 is `c`, part 2 is `b`, part 3 is `a`. * @param {string} [versionString] Version string, defaults to `wp.api.versionString`. * @param {boolean} [reverse] Whether to reverse the order when extracting the route part. Optional, default false. */ wp.api.utils.extractRoutePart = function( route, part, versionString, reverse ) { var routeParts; part = part || 1; versionString = versionString || wp.api.versionString; // Remove versions string from route to avoid returning it. if ( 0 === route.indexOf( '/' + versionString ) ) { route = route.substr( versionString.length + 1 ); } routeParts = route.split( '/' ); if ( reverse ) { routeParts = routeParts.reverse(); } if ( _.isUndefined( routeParts[ --part ] ) ) { return ''; } return routeParts[ part ]; }; /** * Extract a parent name from a passed route. * * @param {string} route The route to extract a name from. */ wp.api.utils.extractParentName = function( route ) { var name, lastSlash = route.lastIndexOf( '_id>[\\d]+)/' ); if ( lastSlash < 0 ) { return ''; } name = route.substr( 0, lastSlash - 1 ); name = name.split( '/' ); name.pop(); name = name.pop(); return name; }; /** * Add args and options to a model prototype from a route's endpoints. * * @param {Array} routeEndpoints Array of route endpoints. * @param {Object} modelInstance An instance of the model (or collection) * to add the args to. */ wp.api.utils.decorateFromRoute = function( routeEndpoints, modelInstance ) { /** * Build the args based on route endpoint data. */ _.each( routeEndpoints, function( routeEndpoint ) { // Add post and edit endpoints as model args. if ( _.includes( routeEndpoint.methods, 'POST' ) || _.includes( routeEndpoint.methods, 'PUT' ) ) { // Add any non-empty args, merging them into the args object. if ( ! _.isEmpty( routeEndpoint.args ) ) { // Set as default if no args yet. if ( _.isEmpty( modelInstance.prototype.args ) ) { modelInstance.prototype.args = routeEndpoint.args; } else { // We already have args, merge these new args in. modelInstance.prototype.args = _.extend( modelInstance.prototype.args, routeEndpoint.args ); } } } else { // Add GET method as model options. if ( _.includes( routeEndpoint.methods, 'GET' ) ) { // Add any non-empty args, merging them into the defaults object. if ( ! _.isEmpty( routeEndpoint.args ) ) { // Set as default if no defaults yet. if ( _.isEmpty( modelInstance.prototype.options ) ) { modelInstance.prototype.options = routeEndpoint.args; } else { // We already have options, merge these new args in. modelInstance.prototype.options = _.extend( modelInstance.prototype.options, routeEndpoint.args ); } } } } } ); }; /** * Add mixins and helpers to models depending on their defaults. * * @param {Backbone Model} model The model to attach helpers and mixins to. * @param {string} modelClassName The classname of the constructed model. * @param {Object} loadingObjects An object containing the models and collections we are building. */ wp.api.utils.addMixinsAndHelpers = function( model, modelClassName, loadingObjects ) { var hasDate = false, /** * Array of parseable dates. * * @type {string[]}. */ parseableDates = [ 'date', 'modified', 'date_gmt', 'modified_gmt' ], /** * Mixin for all content that is time stamped. * * This mixin converts between mysql timestamps and JavaScript Dates when syncing a model * to or from the server. For example, a date stored as `2015-12-27T21:22:24` on the server * gets expanded to `Sun Dec 27 2015 14:22:24 GMT-0700 (MST)` when the model is fetched. * * @type {{toJSON: toJSON, parse: parse}}. */ TimeStampedMixin = { /** * Prepare a JavaScript Date for transmitting to the server. * * This helper function accepts a field and Date object. It converts the passed Date * to an ISO string and sets that on the model field. * * @param {Date} date A JavaScript date object. WordPress expects dates in UTC. * @param {string} field The date field to set. One of 'date', 'date_gmt', 'date_modified' * or 'date_modified_gmt'. Optional, defaults to 'date'. */ setDate: function( date, field ) { var theField = field || 'date'; // Don't alter non-parsable date fields. if ( _.indexOf( parseableDates, theField ) < 0 ) { return false; } this.set( theField, date.toISOString() ); }, /** * Get a JavaScript Date from the passed field. * * WordPress returns 'date' and 'date_modified' in the timezone of the server as well as * UTC dates as 'date_gmt' and 'date_modified_gmt'. Draft posts do not include UTC dates. * * @param {string} field The date field to set. One of 'date', 'date_gmt', 'date_modified' * or 'date_modified_gmt'. Optional, defaults to 'date'. */ getDate: function( field ) { var theField = field || 'date', theISODate = this.get( theField ); // Only get date fields and non-null values. if ( _.indexOf( parseableDates, theField ) < 0 || _.isNull( theISODate ) ) { return false; } return new Date( wp.api.utils.parseISO8601( theISODate ) ); } }, /** * Build a helper function to retrieve related model. * * @param {string} parentModel The parent model. * @param {number} modelId The model ID if the object to request * @param {string} modelName The model name to use when constructing the model. * @param {string} embedSourcePoint Where to check the embedded object for _embed data. * @param {string} embedCheckField Which model field to check to see if the model has data. * * @return {Deferred.promise} A promise which resolves to the constructed model. */ buildModelGetter = function( parentModel, modelId, modelName, embedSourcePoint, embedCheckField ) { var getModel, embeddedObjects, attributes, deferred; deferred = jQuery.Deferred(); embeddedObjects = parentModel.get( '_embedded' ) || {}; // Verify that we have a valid object id. if ( ! _.isNumber( modelId ) || 0 === modelId ) { deferred.reject(); return deferred; } // If we have embedded object data, use that when constructing the getModel. if ( embeddedObjects[ embedSourcePoint ] ) { attributes = _.findWhere( embeddedObjects[ embedSourcePoint ], { id: modelId } ); } // Otherwise use the modelId. if ( ! attributes ) { attributes = { id: modelId }; } // Create the new getModel model. getModel = new wp.api.models[ modelName ]( attributes ); if ( ! getModel.get( embedCheckField ) ) { getModel.fetch( { success: function( getModel ) { deferred.resolve( getModel ); }, error: function( getModel, response ) { deferred.reject( response ); } } ); } else { // Resolve with the embedded model. deferred.resolve( getModel ); } // Return a promise. return deferred.promise(); }, /** * Build a helper to retrieve a collection. * * @param {string} parentModel The parent model. * @param {string} collectionName The name to use when constructing the collection. * @param {string} embedSourcePoint Where to check the embedded object for _embed data. * @param {string} embedIndex An additional optional index for the _embed data. * * @return {Deferred.promise} A promise which resolves to the constructed collection. */ buildCollectionGetter = function( parentModel, collectionName, embedSourcePoint, embedIndex ) { /** * Returns a promise that resolves to the requested collection * * Uses the embedded data if available, otherwise fetches the * data from the server. * * @return {Deferred.promise} promise Resolves to a wp.api.collections[ collectionName ] * collection. */ var postId, embeddedObjects, getObjects, classProperties = '', properties = '', deferred = jQuery.Deferred(); postId = parentModel.get( 'id' ); embeddedObjects = parentModel.get( '_embedded' ) || {}; // Verify that we have a valid post ID. if ( ! _.isNumber( postId ) || 0 === postId ) { deferred.reject(); return deferred; } // If we have embedded getObjects data, use that when constructing the getObjects. if ( ! _.isUndefined( embedSourcePoint ) && ! _.isUndefined( embeddedObjects[ embedSourcePoint ] ) ) { // Some embeds also include an index offset, check for that. if ( _.isUndefined( embedIndex ) ) { // Use the embed source point directly. properties = embeddedObjects[ embedSourcePoint ]; } else { // Add the index to the embed source point. properties = embeddedObjects[ embedSourcePoint ][ embedIndex ]; } } else { // Otherwise use the postId. classProperties = { parent: postId }; } // Create the new getObjects collection. getObjects = new wp.api.collections[ collectionName ]( properties, classProperties ); // If we didn’t have embedded getObjects, fetch the getObjects data. if ( _.isUndefined( getObjects.models[0] ) ) { getObjects.fetch( { success: function( getObjects ) { // Add a helper 'parent_post' attribute onto the model. setHelperParentPost( getObjects, postId ); deferred.resolve( getObjects ); }, error: function( getModel, response ) { deferred.reject( response ); } } ); } else { // Add a helper 'parent_post' attribute onto the model. setHelperParentPost( getObjects, postId ); deferred.resolve( getObjects ); } // Return a promise. return deferred.promise(); }, /** * Set the model post parent. */ setHelperParentPost = function( collection, postId ) { // Attach post_parent id to the collection. _.each( collection.models, function( model ) { model.set( 'parent_post', postId ); } ); }, /** * Add a helper function to handle post Meta. */ MetaMixin = { /** * Get meta by key for a post. * * @param {string} key The meta key. * * @return {Object} The post meta value. */ getMeta: function( key ) { var metas = this.get( 'meta' ); return metas[ key ]; }, /** * Get all meta key/values for a post. * * @return {Object} The post metas, as a key value pair object. */ getMetas: function() { return this.get( 'meta' ); }, /** * Set a group of meta key/values for a post. * * @param {Object} meta The post meta to set, as key/value pairs. */ setMetas: function( meta ) { var metas = this.get( 'meta' ); _.extend( metas, meta ); this.set( 'meta', metas ); }, /** * Set a single meta value for a post, by key. * * @param {string} key The meta key. * @param {Object} value The meta value. */ setMeta: function( key, value ) { var metas = this.get( 'meta' ); metas[ key ] = value; this.set( 'meta', metas ); } }, /** * Add a helper function to handle post Revisions. */ RevisionsMixin = { getRevisions: function() { return buildCollectionGetter( this, 'PostRevisions' ); } }, /** * Add a helper function to handle post Tags. */ TagsMixin = { /** * Get the tags for a post. * * @return {Deferred.promise} promise Resolves to an array of tags. */ getTags: function() { var tagIds = this.get( 'tags' ), tags = new wp.api.collections.Tags(); // Resolve with an empty array if no tags. if ( _.isEmpty( tagIds ) ) { return jQuery.Deferred().resolve( [] ); } return tags.fetch( { data: { include: tagIds } } ); }, /** * Set the tags for a post. * * Accepts an array of tag slugs, or a Tags collection. * * @param {Array|Backbone.Collection} tags The tags to set on the post. * */ setTags: function( tags ) { var allTags, newTag, self = this, newTags = []; if ( _.isString( tags ) ) { return false; } // If this is an array of slugs, build a collection. if ( _.isArray( tags ) ) { // Get all the tags. allTags = new wp.api.collections.Tags(); allTags.fetch( { data: { per_page: 100 }, success: function( alltags ) { // Find the passed tags and set them up. _.each( tags, function( tag ) { newTag = new wp.api.models.Tag( alltags.findWhere( { slug: tag } ) ); // Tie the new tag to the post. newTag.set( 'parent_post', self.get( 'id' ) ); // Add the new tag to the collection. newTags.push( newTag ); } ); tags = new wp.api.collections.Tags( newTags ); self.setTagsWithCollection( tags ); } } ); } else { this.setTagsWithCollection( tags ); } }, /** * Set the tags for a post. * * Accepts a Tags collection. * * @param {Array|Backbone.Collection} tags The tags to set on the post. * */ setTagsWithCollection: function( tags ) { // Pluck out the category IDs. this.set( 'tags', tags.pluck( 'id' ) ); return this.save(); } }, /** * Add a helper function to handle post Categories. */ CategoriesMixin = { /** * Get a the categories for a post. * * @return {Deferred.promise} promise Resolves to an array of categories. */ getCategories: function() { var categoryIds = this.get( 'categories' ), categories = new wp.api.collections.Categories(); // Resolve with an empty array if no categories. if ( _.isEmpty( categoryIds ) ) { return jQuery.Deferred().resolve( [] ); } return categories.fetch( { data: { include: categoryIds } } ); }, /** * Set the categories for a post. * * Accepts an array of category slugs, or a Categories collection. * * @param {Array|Backbone.Collection} categories The categories to set on the post. * */ setCategories: function( categories ) { var allCategories, newCategory, self = this, newCategories = []; if ( _.isString( categories ) ) { return false; } // If this is an array of slugs, build a collection. if ( _.isArray( categories ) ) { // Get all the categories. allCategories = new wp.api.collections.Categories(); allCategories.fetch( { data: { per_page: 100 }, success: function( allcats ) { // Find the passed categories and set them up. _.each( categories, function( category ) { newCategory = new wp.api.models.Category( allcats.findWhere( { slug: category } ) ); // Tie the new category to the post. newCategory.set( 'parent_post', self.get( 'id' ) ); // Add the new category to the collection. newCategories.push( newCategory ); } ); categories = new wp.api.collections.Categories( newCategories ); self.setCategoriesWithCollection( categories ); } } ); } else { this.setCategoriesWithCollection( categories ); } }, /** * Set the categories for a post. * * Accepts Categories collection. * * @param {Array|Backbone.Collection} categories The categories to set on the post. * */ setCategoriesWithCollection: function( categories ) { // Pluck out the category IDs. this.set( 'categories', categories.pluck( 'id' ) ); return this.save(); } }, /** * Add a helper function to retrieve the author user model. */ AuthorMixin = { getAuthorUser: function() { return buildModelGetter( this, this.get( 'author' ), 'User', 'author', 'name' ); } }, /** * Add a helper function to retrieve the featured media. */ FeaturedMediaMixin = { getFeaturedMedia: function() { return buildModelGetter( this, this.get( 'featured_media' ), 'Media', 'wp:featuredmedia', 'source_url' ); } }; // Exit if we don't have valid model defaults. if ( _.isUndefined( model.prototype.args ) ) { return model; } // Go thru the parsable date fields, if our model contains any of them it gets the TimeStampedMixin. _.each( parseableDates, function( theDateKey ) { if ( ! _.isUndefined( model.prototype.args[ theDateKey ] ) ) { hasDate = true; } } ); // Add the TimeStampedMixin for models that contain a date field. if ( hasDate ) { model = model.extend( TimeStampedMixin ); } // Add the AuthorMixin for models that contain an author. if ( ! _.isUndefined( model.prototype.args.author ) ) { model = model.extend( AuthorMixin ); } // Add the FeaturedMediaMixin for models that contain a featured_media. if ( ! _.isUndefined( model.prototype.args.featured_media ) ) { model = model.extend( FeaturedMediaMixin ); } // Add the CategoriesMixin for models that support categories collections. if ( ! _.isUndefined( model.prototype.args.categories ) ) { model = model.extend( CategoriesMixin ); } // Add the MetaMixin for models that support meta. if ( ! _.isUndefined( model.prototype.args.meta ) ) { model = model.extend( MetaMixin ); } // Add the TagsMixin for models that support tags collections. if ( ! _.isUndefined( model.prototype.args.tags ) ) { model = model.extend( TagsMixin ); } // Add the RevisionsMixin for models that support revisions collections. if ( ! _.isUndefined( loadingObjects.collections[ modelClassName + 'Revisions' ] ) ) { model = model.extend( RevisionsMixin ); } return model; }; })( window ); /* global wpApiSettings:false */ // Suppress warning about parse function's unused "options" argument: /* jshint unused:false */ (function() { 'use strict'; var wpApiSettings = window.wpApiSettings || {}, trashableTypes = [ 'Comment', 'Media', 'Comment', 'Post', 'Page', 'Status', 'Taxonomy', 'Type' ]; /** * Backbone base model for all models. */ wp.api.WPApiBaseModel = Backbone.Model.extend( /** @lends WPApiBaseModel.prototype */ { // Initialize the model. initialize: function() { /** * Types that don't support trashing require passing ?force=true to delete. * */ if ( -1 === _.indexOf( trashableTypes, this.name ) ) { this.requireForceForDelete = true; } }, /** * Set nonce header before every Backbone sync. * * @param {string} method. * @param {Backbone.Model} model. * @param {{beforeSend}, *} options. * @return {*}. */ sync: function( method, model, options ) { var beforeSend; options = options || {}; // Remove date_gmt if null. if ( _.isNull( model.get( 'date_gmt' ) ) ) { model.unset( 'date_gmt' ); } // Remove slug if empty. if ( _.isEmpty( model.get( 'slug' ) ) ) { model.unset( 'slug' ); } if ( _.isFunction( model.nonce ) && ! _.isEmpty( model.nonce() ) ) { beforeSend = options.beforeSend; // @todo Enable option for jsonp endpoints. // options.dataType = 'jsonp'; // Include the nonce with requests. options.beforeSend = function( xhr ) { xhr.setRequestHeader( 'X-WP-Nonce', model.nonce() ); if ( beforeSend ) { return beforeSend.apply( this, arguments ); } }; // Update the nonce when a new nonce is returned with the response. options.complete = function( xhr ) { var returnedNonce = xhr.getResponseHeader( 'X-WP-Nonce' ); if ( returnedNonce && _.isFunction( model.nonce ) && model.nonce() !== returnedNonce ) { model.endpointModel.set( 'nonce', returnedNonce ); } }; } // Add '?force=true' to use delete method when required. if ( this.requireForceForDelete && 'delete' === method ) { model.url = model.url() + '?force=true'; } return Backbone.sync( method, model, options ); }, /** * Save is only allowed when the PUT OR POST methods are available for the endpoint. */ save: function( attrs, options ) { // Do we have the put method, then execute the save. if ( _.includes( this.methods, 'PUT' ) || _.includes( this.methods, 'POST' ) ) { // Proxy the call to the original save function. return Backbone.Model.prototype.save.call( this, attrs, options ); } else { // Otherwise bail, disallowing action. return false; } }, /** * Delete is only allowed when the DELETE method is available for the endpoint. */ destroy: function( options ) { // Do we have the DELETE method, then execute the destroy. if ( _.includes( this.methods, 'DELETE' ) ) { // Proxy the call to the original save function. return Backbone.Model.prototype.destroy.call( this, options ); } else { // Otherwise bail, disallowing action. return false; } } } ); /** * API Schema model. Contains meta information about the API. */ wp.api.models.Schema = wp.api.WPApiBaseModel.extend( /** @lends Schema.prototype */ { defaults: { _links: {}, namespace: null, routes: {} }, initialize: function( attributes, options ) { var model = this; options = options || {}; wp.api.WPApiBaseModel.prototype.initialize.call( model, attributes, options ); model.apiRoot = options.apiRoot || wpApiSettings.root; model.versionString = options.versionString || wpApiSettings.versionString; }, url: function() { return this.apiRoot + this.versionString; } } ); })(); ( function() { 'use strict'; var wpApiSettings = window.wpApiSettings || {}; /** * Contains basic collection functionality such as pagination. */ wp.api.WPApiBaseCollection = Backbone.Collection.extend( /** @lends BaseCollection.prototype */ { /** * Setup default state. */ initialize: function( models, options ) { this.state = { data: {}, currentPage: null, totalPages: null, totalObjects: null }; if ( _.isUndefined( options ) ) { this.parent = ''; } else { this.parent = options.parent; } }, /** * Extend Backbone.Collection.sync to add nince and pagination support. * * Set nonce header before every Backbone sync. * * @param {string} method. * @param {Backbone.Model} model. * @param {{success}, *} options. * @return {*}. */ sync: function( method, model, options ) { var beforeSend, success, self = this; options = options || {}; if ( _.isFunction( model.nonce ) && ! _.isEmpty( model.nonce() ) ) { beforeSend = options.beforeSend; // Include the nonce with requests. options.beforeSend = function( xhr ) { xhr.setRequestHeader( 'X-WP-Nonce', model.nonce() ); if ( beforeSend ) { return beforeSend.apply( self, arguments ); } }; // Update the nonce when a new nonce is returned with the response. options.complete = function( xhr ) { var returnedNonce = xhr.getResponseHeader( 'X-WP-Nonce' ); if ( returnedNonce && _.isFunction( model.nonce ) && model.nonce() !== returnedNonce ) { model.endpointModel.set( 'nonce', returnedNonce ); } }; } // When reading, add pagination data. if ( 'read' === method ) { if ( options.data ) { self.state.data = _.clone( options.data ); delete self.state.data.page; } else { self.state.data = options.data = {}; } if ( 'undefined' === typeof options.data.page ) { self.state.currentPage = null; self.state.totalPages = null; self.state.totalObjects = null; } else { self.state.currentPage = options.data.page - 1; } success = options.success; options.success = function( data, textStatus, request ) { if ( ! _.isUndefined( request ) ) { self.state.totalPages = parseInt( request.getResponseHeader( 'x-wp-totalpages' ), 10 ); self.state.totalObjects = parseInt( request.getResponseHeader( 'x-wp-total' ), 10 ); } if ( null === self.state.currentPage ) { self.state.currentPage = 1; } else { self.state.currentPage++; } if ( success ) { return success.apply( this, arguments ); } }; } // Continue by calling Backbone's sync. return Backbone.sync( method, model, options ); }, /** * Fetches the next page of objects if a new page exists. * * @param {data: {page}} options. * @return {*}. */ more: function( options ) { options = options || {}; options.data = options.data || {}; _.extend( options.data, this.state.data ); if ( 'undefined' === typeof options.data.page ) { if ( ! this.hasMore() ) { return false; } if ( null === this.state.currentPage || this.state.currentPage <= 1 ) { options.data.page = 2; } else { options.data.page = this.state.currentPage + 1; } } return this.fetch( options ); }, /** * Returns true if there are more pages of objects available. * * @return {null|boolean} */ hasMore: function() { if ( null === this.state.totalPages || null === this.state.totalObjects || null === this.state.currentPage ) { return null; } else { return ( this.state.currentPage < this.state.totalPages ); } } } ); } )(); ( function() { 'use strict'; var Endpoint, initializedDeferreds = {}, wpApiSettings = window.wpApiSettings || {}; /** @namespace wp */ window.wp = window.wp || {}; /** @namespace wp.api */ wp.api = wp.api || {}; // If wpApiSettings is unavailable, try the default. if ( _.isEmpty( wpApiSettings ) ) { wpApiSettings.root = window.location.origin + '/wp-json/'; } Endpoint = Backbone.Model.extend(/** @lends Endpoint.prototype */{ defaults: { apiRoot: wpApiSettings.root, versionString: wp.api.versionString, nonce: null, schema: null, models: {}, collections: {} }, /** * Initialize the Endpoint model. */ initialize: function() { var model = this, deferred; Backbone.Model.prototype.initialize.apply( model, arguments ); deferred = jQuery.Deferred(); model.schemaConstructed = deferred.promise(); model.schemaModel = new wp.api.models.Schema( null, { apiRoot: model.get( 'apiRoot' ), versionString: model.get( 'versionString' ), nonce: model.get( 'nonce' ) } ); // When the model loads, resolve the promise. model.schemaModel.once( 'change', function() { model.constructFromSchema(); deferred.resolve( model ); } ); if ( model.get( 'schema' ) ) { // Use schema supplied as model attribute. model.schemaModel.set( model.schemaModel.parse( model.get( 'schema' ) ) ); } else if ( ! _.isUndefined( sessionStorage ) && ( _.isUndefined( wpApiSettings.cacheSchema ) || wpApiSettings.cacheSchema ) && sessionStorage.getItem( 'wp-api-schema-model' + model.get( 'apiRoot' ) + model.get( 'versionString' ) ) ) { // Used a cached copy of the schema model if available. model.schemaModel.set( model.schemaModel.parse( JSON.parse( sessionStorage.getItem( 'wp-api-schema-model' + model.get( 'apiRoot' ) + model.get( 'versionString' ) ) ) ) ); } else { model.schemaModel.fetch( { /** * When the server returns the schema model data, store the data in a sessionCache so we don't * have to retrieve it again for this session. Then, construct the models and collections based * on the schema model data. * * @ignore */ success: function( newSchemaModel ) { // Store a copy of the schema model in the session cache if available. if ( ! _.isUndefined( sessionStorage ) && ( _.isUndefined( wpApiSettings.cacheSchema ) || wpApiSettings.cacheSchema ) ) { try { sessionStorage.setItem( 'wp-api-schema-model' + model.get( 'apiRoot' ) + model.get( 'versionString' ), JSON.stringify( newSchemaModel ) ); } catch ( error ) { // Fail silently, fixes errors in safari private mode. } } }, // Log the error condition. error: function( err ) { window.console.log( err ); } } ); } }, constructFromSchema: function() { var routeModel = this, modelRoutes, collectionRoutes, schemaRoot, loadingObjects, /** * Set up the model and collection name mapping options. As the schema is built, the * model and collection names will be adjusted if they are found in the mapping object. * * Localizing a variable wpApiSettings.mapping will over-ride the default mapping options. * */ mapping = wpApiSettings.mapping || { models: { 'Categories': 'Category', 'Comments': 'Comment', 'Pages': 'Page', 'PagesMeta': 'PageMeta', 'PagesRevisions': 'PageRevision', 'Posts': 'Post', 'PostsCategories': 'PostCategory', 'PostsRevisions': 'PostRevision', 'PostsTags': 'PostTag', 'Schema': 'Schema', 'Statuses': 'Status', 'Tags': 'Tag', 'Taxonomies': 'Taxonomy', 'Types': 'Type', 'Users': 'User' }, collections: { 'PagesMeta': 'PageMeta', 'PagesRevisions': 'PageRevisions', 'PostsCategories': 'PostCategories', 'PostsMeta': 'PostMeta', 'PostsRevisions': 'PostRevisions', 'PostsTags': 'PostTags' } }, modelEndpoints = routeModel.get( 'modelEndpoints' ), modelRegex = new RegExp( '(?:.*[+)]|\/(' + modelEndpoints.join( '|' ) + '))$' ); /** * Iterate thru the routes, picking up models and collections to build. Builds two arrays, * one for models and one for collections. */ modelRoutes = []; collectionRoutes = []; schemaRoot = routeModel.get( 'apiRoot' ).replace( wp.api.utils.getRootUrl(), '' ); loadingObjects = {}; /** * Tracking objects for models and collections. */ loadingObjects.models = {}; loadingObjects.collections = {}; _.each( routeModel.schemaModel.get( 'routes' ), function( route, index ) { // Skip the schema root if included in the schema. if ( index !== routeModel.get( ' versionString' ) && index !== schemaRoot && index !== ( '/' + routeModel.get( 'versionString' ).slice( 0, -1 ) ) ) { // Single items end with a regex, or a special case word. if ( modelRegex.test( index ) ) { modelRoutes.push( { index: index, route: route } ); } else { // Collections end in a name. collectionRoutes.push( { index: index, route: route } ); } } } ); /** * Construct the models. * * Base the class name on the route endpoint. */ _.each( modelRoutes, function( modelRoute ) { // Extract the name and any parent from the route. var modelClassName, routeName = wp.api.utils.extractRoutePart( modelRoute.index, 2, routeModel.get( 'versionString' ), true ), parentName = wp.api.utils.extractRoutePart( modelRoute.index, 1, routeModel.get( 'versionString' ), false ), routeEnd = wp.api.utils.extractRoutePart( modelRoute.index, 1, routeModel.get( 'versionString' ), true ); // Clear the parent part of the rouite if its actually the version string. if ( parentName === routeModel.get( 'versionString' ) ) { parentName = ''; } // Handle the special case of the 'me' route. if ( 'me' === routeEnd ) { routeName = 'me'; } // If the model has a parent in its route, add that to its class name. if ( '' !== parentName && parentName !== routeName ) { modelClassName = wp.api.utils.capitalizeAndCamelCaseDashes( parentName ) + wp.api.utils.capitalizeAndCamelCaseDashes( routeName ); modelClassName = mapping.models[ modelClassName ] || modelClassName; loadingObjects.models[ modelClassName ] = wp.api.WPApiBaseModel.extend( { // Return a constructed url based on the parent and id. url: function() { var url = routeModel.get( 'apiRoot' ) + routeModel.get( 'versionString' ) + parentName + '/' + ( ( _.isUndefined( this.get( 'parent' ) ) || 0 === this.get( 'parent' ) ) ? ( _.isUndefined( this.get( 'parent_post' ) ) ? '' : this.get( 'parent_post' ) + '/' ) : this.get( 'parent' ) + '/' ) + routeName; if ( ! _.isUndefined( this.get( 'id' ) ) ) { url += '/' + this.get( 'id' ); } return url; }, // Track nonces on the Endpoint 'routeModel'. nonce: function() { return routeModel.get( 'nonce' ); }, endpointModel: routeModel, // Include a reference to the original route object. route: modelRoute, // Include a reference to the original class name. name: modelClassName, // Include the array of route methods for easy reference. methods: modelRoute.route.methods, // Include the array of route endpoints for easy reference. endpoints: modelRoute.route.endpoints } ); } else { // This is a model without a parent in its route. modelClassName = wp.api.utils.capitalizeAndCamelCaseDashes( routeName ); modelClassName = mapping.models[ modelClassName ] || modelClassName; loadingObjects.models[ modelClassName ] = wp.api.WPApiBaseModel.extend( { // Function that returns a constructed url based on the ID. url: function() { var url = routeModel.get( 'apiRoot' ) + routeModel.get( 'versionString' ) + ( ( 'me' === routeName ) ? 'users/me' : routeName ); if ( ! _.isUndefined( this.get( 'id' ) ) ) { url += '/' + this.get( 'id' ); } return url; }, // Track nonces at the Endpoint level. nonce: function() { return routeModel.get( 'nonce' ); }, endpointModel: routeModel, // Include a reference to the original route object. route: modelRoute, // Include a reference to the original class name. name: modelClassName, // Include the array of route methods for easy reference. methods: modelRoute.route.methods, // Include the array of route endpoints for easy reference. endpoints: modelRoute.route.endpoints } ); } // Add defaults to the new model, pulled form the endpoint. wp.api.utils.decorateFromRoute( modelRoute.route.endpoints, loadingObjects.models[ modelClassName ], routeModel.get( 'versionString' ) ); } ); /** * Construct the collections. * * Base the class name on the route endpoint. */ _.each( collectionRoutes, function( collectionRoute ) { // Extract the name and any parent from the route. var collectionClassName, modelClassName, routeName = collectionRoute.index.slice( collectionRoute.index.lastIndexOf( '/' ) + 1 ), parentName = wp.api.utils.extractRoutePart( collectionRoute.index, 1, routeModel.get( 'versionString' ), false ); // If the collection has a parent in its route, add that to its class name. if ( '' !== parentName && parentName !== routeName && routeModel.get( 'versionString' ) !== parentName ) { collectionClassName = wp.api.utils.capitalizeAndCamelCaseDashes( parentName ) + wp.api.utils.capitalizeAndCamelCaseDashes( routeName ); modelClassName = mapping.models[ collectionClassName ] || collectionClassName; collectionClassName = mapping.collections[ collectionClassName ] || collectionClassName; loadingObjects.collections[ collectionClassName ] = wp.api.WPApiBaseCollection.extend( { // Function that returns a constructed url passed on the parent. url: function() { return routeModel.get( 'apiRoot' ) + routeModel.get( 'versionString' ) + parentName + '/' + ( ( _.isUndefined( this.parent ) || '' === this.parent ) ? ( _.isUndefined( this.get( 'parent_post' ) ) ? '' : this.get( 'parent_post' ) + '/' ) : this.parent + '/' ) + routeName; }, // Specify the model that this collection contains. model: function( attrs, options ) { return new loadingObjects.models[ modelClassName ]( attrs, options ); }, // Track nonces at the Endpoint level. nonce: function() { return routeModel.get( 'nonce' ); }, endpointModel: routeModel, // Include a reference to the original class name. name: collectionClassName, // Include a reference to the original route object. route: collectionRoute, // Include the array of route methods for easy reference. methods: collectionRoute.route.methods } ); } else { // This is a collection without a parent in its route. collectionClassName = wp.api.utils.capitalizeAndCamelCaseDashes( routeName ); modelClassName = mapping.models[ collectionClassName ] || collectionClassName; collectionClassName = mapping.collections[ collectionClassName ] || collectionClassName; loadingObjects.collections[ collectionClassName ] = wp.api.WPApiBaseCollection.extend( { // For the url of a root level collection, use a string. url: function() { return routeModel.get( 'apiRoot' ) + routeModel.get( 'versionString' ) + routeName; }, // Specify the model that this collection contains. model: function( attrs, options ) { return new loadingObjects.models[ modelClassName ]( attrs, options ); }, // Track nonces at the Endpoint level. nonce: function() { return routeModel.get( 'nonce' ); }, endpointModel: routeModel, // Include a reference to the original class name. name: collectionClassName, // Include a reference to the original route object. route: collectionRoute, // Include the array of route methods for easy reference. methods: collectionRoute.route.methods } ); } // Add defaults to the new model, pulled form the endpoint. wp.api.utils.decorateFromRoute( collectionRoute.route.endpoints, loadingObjects.collections[ collectionClassName ] ); } ); // Add mixins and helpers for each of the models. _.each( loadingObjects.models, function( model, index ) { loadingObjects.models[ index ] = wp.api.utils.addMixinsAndHelpers( model, index, loadingObjects ); } ); // Set the routeModel models and collections. routeModel.set( 'models', loadingObjects.models ); routeModel.set( 'collections', loadingObjects.collections ); } } ); wp.api.endpoints = new Backbone.Collection(); /** * Initialize the wp-api, optionally passing the API root. * * @param {Object} [args] * @param {string} [args.nonce] The nonce. Optional, defaults to wpApiSettings.nonce. * @param {string} [args.apiRoot] The api root. Optional, defaults to wpApiSettings.root. * @param {string} [args.versionString] The version string. Optional, defaults to wpApiSettings.root. * @param {Object} [args.schema] The schema. Optional, will be fetched from API if not provided. */ wp.api.init = function( args ) { var endpoint, attributes = {}, deferred, promise; args = args || {}; attributes.nonce = _.isString( args.nonce ) ? args.nonce : ( wpApiSettings.nonce || '' ); attributes.apiRoot = args.apiRoot || wpApiSettings.root || '/wp-json'; attributes.versionString = args.versionString || wpApiSettings.versionString || 'wp/v2/'; attributes.schema = args.schema || null; attributes.modelEndpoints = args.modelEndpoints || [ 'me', 'settings' ]; if ( ! attributes.schema && attributes.apiRoot === wpApiSettings.root && attributes.versionString === wpApiSettings.versionString ) { attributes.schema = wpApiSettings.schema; } if ( ! initializedDeferreds[ attributes.apiRoot + attributes.versionString ] ) { // Look for an existing copy of this endpoint. endpoint = wp.api.endpoints.findWhere( { 'apiRoot': attributes.apiRoot, 'versionString': attributes.versionString } ); if ( ! endpoint ) { endpoint = new Endpoint( attributes ); } deferred = jQuery.Deferred(); promise = deferred.promise(); endpoint.schemaConstructed.done( function( resolvedEndpoint ) { wp.api.endpoints.add( resolvedEndpoint ); // Map the default endpoints, extending any already present items (including Schema model). wp.api.models = _.extend( wp.api.models, resolvedEndpoint.get( 'models' ) ); wp.api.collections = _.extend( wp.api.collections, resolvedEndpoint.get( 'collections' ) ); deferred.resolve( resolvedEndpoint ); } ); initializedDeferreds[ attributes.apiRoot + attributes.versionString ] = promise; } return initializedDeferreds[ attributes.apiRoot + attributes.versionString ]; }; /** * Construct the default endpoints and add to an endpoints collection. */ // The wp.api.init function returns a promise that will resolve with the endpoint once it is ready. wp.api.loadPromise = wp.api.init(); } )(); PK!:customize-loader.jsnu[/** * @output wp-includes/js/customize-loader.js */ /* global _wpCustomizeLoaderSettings */ /** * Expose a public API that allows the customizer to be * loaded on any page. * * @namespace wp */ window.wp = window.wp || {}; (function( exports, $ ){ var api = wp.customize, Loader; $.extend( $.support, { history: !! ( window.history && history.pushState ), hashchange: ('onhashchange' in window) && (document.documentMode === undefined || document.documentMode > 7) }); /** * Allows the Customizer to be overlayed on any page. * * By default, any element in the body with the load-customize class will open * an iframe overlay with the URL specified. * * e.g. Open Customizer * * @memberOf wp.customize * * @class * @augments wp.customize.Events */ Loader = $.extend( {}, api.Events,/** @lends wp.customize.Loader.prototype */{ /** * Setup the Loader; triggered on document#ready. */ initialize: function() { this.body = $( document.body ); // Ensure the loader is supported. // Check for settings, postMessage support, and whether we require CORS support. if ( ! Loader.settings || ! $.support.postMessage || ( ! $.support.cors && Loader.settings.isCrossDomain ) ) { return; } this.window = $( window ); this.element = $( '
        ' ).appendTo( this.body ); // Bind events for opening and closing the overlay. this.bind( 'open', this.overlay.show ); this.bind( 'close', this.overlay.hide ); // Any element in the body with the `load-customize` class opens // the Customizer. $('#wpbody').on( 'click', '.load-customize', function( event ) { event.preventDefault(); // Store a reference to the link that opened the Customizer. Loader.link = $(this); // Load the theme. Loader.open( Loader.link.attr('href') ); }); // Add navigation listeners. if ( $.support.history ) { this.window.on( 'popstate', Loader.popstate ); } if ( $.support.hashchange ) { this.window.on( 'hashchange', Loader.hashchange ); this.window.triggerHandler( 'hashchange' ); } }, popstate: function( e ) { var state = e.originalEvent.state; if ( state && state.customize ) { Loader.open( state.customize ); } else if ( Loader.active ) { Loader.close(); } }, hashchange: function() { var hash = window.location.toString().split('#')[1]; if ( hash && 0 === hash.indexOf( 'wp_customize=on' ) ) { Loader.open( Loader.settings.url + '?' + hash ); } if ( ! hash && ! $.support.history ) { Loader.close(); } }, beforeunload: function () { if ( ! Loader.saved() ) { return Loader.settings.l10n.saveAlert; } }, /** * Open the Customizer overlay for a specific URL. * * @param string src URL to load in the Customizer. */ open: function( src ) { if ( this.active ) { return; } // Load the full page on mobile devices. if ( Loader.settings.browser.mobile ) { return window.location = src; } // Store the document title prior to opening the Live Preview. this.originalDocumentTitle = document.title; this.active = true; this.body.addClass('customize-loading'); /* * Track the dirtiness state (whether the drafted changes have been published) * of the Customizer in the iframe. This is used to decide whether to display * an AYS alert if the user tries to close the window before saving changes. */ this.saved = new api.Value( true ); this.iframe = $( '
        "); jQuery("#TB_overlay").on( 'click', tb_remove ); } }else{//all others if(document.getElementById("TB_overlay") === null){ jQuery("body").append("
        "); jQuery("#TB_overlay").on( 'click', tb_remove ); jQuery( 'body' ).addClass( 'modal-open' ); } } if(tb_detectMacXFF()){ jQuery("#TB_overlay").addClass("TB_overlayMacFFBGHack");//use png overlay so hide flash }else{ jQuery("#TB_overlay").addClass("TB_overlayBG");//use background and opacity } if(caption===null){caption="";} jQuery("body").append("
        ");//add loader to the page jQuery('#TB_load').show();//show loader var baseURL; if(url.indexOf("?")!==-1){ //ff there is a query string involved baseURL = url.substr(0, url.indexOf("?")); }else{ baseURL = url; } var urlString = /\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$|\.webp$/; var urlType = baseURL.toLowerCase().match(urlString); if(urlType == '.jpg' || urlType == '.jpeg' || urlType == '.png' || urlType == '.gif' || urlType == '.bmp' || urlType == '.webp' ){//code to show images TB_PrevCaption = ""; TB_PrevURL = ""; TB_PrevHTML = ""; TB_NextCaption = ""; TB_NextURL = ""; TB_NextHTML = ""; TB_imageCount = ""; TB_FoundURL = false; if(imageGroup){ TB_TempArray = jQuery("a[rel="+imageGroup+"]").get(); for (TB_Counter = 0; ((TB_Counter < TB_TempArray.length) && (TB_NextHTML === "")); TB_Counter++) { var urlTypeTemp = TB_TempArray[TB_Counter].href.toLowerCase().match(urlString); if (!(TB_TempArray[TB_Counter].href == url)) { if (TB_FoundURL) { TB_NextCaption = TB_TempArray[TB_Counter].title; TB_NextURL = TB_TempArray[TB_Counter].href; TB_NextHTML = "  "+thickboxL10n.next+""; } else { TB_PrevCaption = TB_TempArray[TB_Counter].title; TB_PrevURL = TB_TempArray[TB_Counter].href; TB_PrevHTML = "  "+thickboxL10n.prev+""; } } else { TB_FoundURL = true; TB_imageCount = thickboxL10n.image + ' ' + (TB_Counter + 1) + ' ' + thickboxL10n.of + ' ' + (TB_TempArray.length); } } } imgPreloader = new Image(); imgPreloader.onload = function(){ imgPreloader.onload = null; // Resizing large images - original by Christian Montoya edited by me. var pagesize = tb_getPageSize(); var x = pagesize[0] - 150; var y = pagesize[1] - 150; var imageWidth = imgPreloader.width; var imageHeight = imgPreloader.height; if (imageWidth > x) { imageHeight = imageHeight * (x / imageWidth); imageWidth = x; if (imageHeight > y) { imageWidth = imageWidth * (y / imageHeight); imageHeight = y; } } else if (imageHeight > y) { imageWidth = imageWidth * (y / imageHeight); imageHeight = y; if (imageWidth > x) { imageHeight = imageHeight * (x / imageWidth); imageWidth = x; } } // End Resizing TB_WIDTH = imageWidth + 30; TB_HEIGHT = imageHeight + 60; jQuery("#TB_window").append(""+thickboxL10n.close+""+caption+"" + "
        "+caption+"
        " + TB_imageCount + TB_PrevHTML + TB_NextHTML + "
        "); jQuery("#TB_closeWindowButton").on( 'click', tb_remove ); if (!(TB_PrevHTML === "")) { function goPrev(){ if(jQuery(document).off("click",goPrev)){jQuery(document).off("click",goPrev);} jQuery("#TB_window").remove(); jQuery("body").append("
        "); tb_show(TB_PrevCaption, TB_PrevURL, imageGroup); return false; } jQuery("#TB_prev").on( 'click', goPrev ); } if (!(TB_NextHTML === "")) { function goNext(){ jQuery("#TB_window").remove(); jQuery("body").append("
        "); tb_show(TB_NextCaption, TB_NextURL, imageGroup); return false; } jQuery("#TB_next").on( 'click', goNext ); } jQuery(document).on('keydown.thickbox', function(e){ if ( e.which == 27 ){ // close tb_remove(); } else if ( e.which == 190 ){ // display previous image if(!(TB_NextHTML == "")){ jQuery(document).off('thickbox'); goNext(); } } else if ( e.which == 188 ){ // display next image if(!(TB_PrevHTML == "")){ jQuery(document).off('thickbox'); goPrev(); } } return false; }); tb_position(); jQuery("#TB_load").remove(); jQuery("#TB_ImageOff").on( 'click', tb_remove ); jQuery("#TB_window").css({'visibility':'visible'}); //for safari using css instead of show }; imgPreloader.src = url; }else{//code to show html var queryString = url.replace(/^[^\?]+\??/,''); var params = tb_parseQuery( queryString ); TB_WIDTH = (params['width']*1) + 30 || 630; //defaults to 630 if no parameters were added to URL TB_HEIGHT = (params['height']*1) + 40 || 440; //defaults to 440 if no parameters were added to URL ajaxContentW = TB_WIDTH - 30; ajaxContentH = TB_HEIGHT - 45; if(url.indexOf('TB_iframe') != -1){// either iframe or ajax window urlNoQuery = url.split('TB_'); jQuery("#TB_iframeContent").remove(); if(params['modal'] != "true"){//iframe no modal jQuery("#TB_window").append("
        "+caption+"
        "); }else{//iframe modal jQuery("#TB_overlay").off(); jQuery("#TB_window").append(""); } }else{// not an iframe, ajax if(jQuery("#TB_window").css("visibility") != "visible"){ if(params['modal'] != "true"){//ajax no modal jQuery("#TB_window").append("
        "+caption+"
        "); }else{//ajax modal jQuery("#TB_overlay").off(); jQuery("#TB_window").append("
        "); } }else{//this means the window is already up, we are just loading new content via ajax jQuery("#TB_ajaxContent")[0].style.width = ajaxContentW +"px"; jQuery("#TB_ajaxContent")[0].style.height = ajaxContentH +"px"; jQuery("#TB_ajaxContent")[0].scrollTop = 0; jQuery("#TB_ajaxWindowTitle").html(caption); } } jQuery("#TB_closeWindowButton").on( 'click', tb_remove ); if(url.indexOf('TB_inline') != -1){ jQuery("#TB_ajaxContent").append(jQuery('#' + params['inlineId']).children()); jQuery("#TB_window").on('tb_unload', function () { jQuery('#' + params['inlineId']).append( jQuery("#TB_ajaxContent").children() ); // move elements back when you're finished }); tb_position(); jQuery("#TB_load").remove(); jQuery("#TB_window").css({'visibility':'visible'}); }else if(url.indexOf('TB_iframe') != -1){ tb_position(); jQuery("#TB_load").remove(); jQuery("#TB_window").css({'visibility':'visible'}); }else{ var load_url = url; load_url += -1 === url.indexOf('?') ? '?' : '&'; jQuery("#TB_ajaxContent").load(load_url += "random=" + (new Date().getTime()),function(){//to do a post change this load method tb_position(); jQuery("#TB_load").remove(); tb_init("#TB_ajaxContent a.thickbox"); jQuery("#TB_window").css({'visibility':'visible'}); }); } } if(!params['modal']){ jQuery(document).on('keydown.thickbox', function(e){ if ( e.which == 27 ){ // close tb_remove(); return false; } }); } $closeBtn = jQuery( '#TB_closeWindowButton' ); /* * If the native Close button icon is visible, move focus on the button * (e.g. in the Network Admin Themes screen). * In other admin screens is hidden and replaced by a different icon. */ if ( $closeBtn.find( '.tb-close-icon' ).is( ':visible' ) ) { $closeBtn.trigger( 'focus' ); } } catch(e) { //nothing here } } //helper functions below function tb_showIframe(){ jQuery("#TB_load").remove(); jQuery("#TB_window").css({'visibility':'visible'}).trigger( 'thickbox:iframe:loaded' ); } function tb_remove() { jQuery("#TB_imageOff").off("click"); jQuery("#TB_closeWindowButton").off("click"); jQuery( '#TB_window' ).fadeOut( 'fast', function() { jQuery( '#TB_window, #TB_overlay, #TB_HideSelect' ).trigger( 'tb_unload' ).off().remove(); jQuery( 'body' ).trigger( 'thickbox:removed' ); }); jQuery( 'body' ).removeClass( 'modal-open' ); jQuery("#TB_load").remove(); if (typeof document.body.style.maxHeight == "undefined") {//if IE 6 jQuery("body","html").css({height: "auto", width: "auto"}); jQuery("html").css("overflow",""); } jQuery(document).off('.thickbox'); return false; } function tb_position() { var isIE6 = typeof document.body.style.maxHeight === "undefined"; jQuery("#TB_window").css({marginLeft: '-' + parseInt((TB_WIDTH / 2),10) + 'px', width: TB_WIDTH + 'px'}); if ( ! isIE6 ) { // take away IE6 jQuery("#TB_window").css({marginTop: '-' + parseInt((TB_HEIGHT / 2),10) + 'px'}); } } function tb_parseQuery ( query ) { var Params = {}; if ( ! query ) {return Params;}// return empty object var Pairs = query.split(/[;&]/); for ( var i = 0; i < Pairs.length; i++ ) { var KeyVal = Pairs[i].split('='); if ( ! KeyVal || KeyVal.length != 2 ) {continue;} var key = unescape( KeyVal[0] ); var val = unescape( KeyVal[1] ); val = val.replace(/\+/g, ' '); Params[key] = val; } return Params; } function tb_getPageSize(){ var de = document.documentElement; var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth; var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight; arrayPageSize = [w,h]; return arrayPageSize; } function tb_detectMacXFF() { var userAgent = navigator.userAgent.toLowerCase(); if (userAgent.indexOf('mac') != -1 && userAgent.indexOf('firefox')!=-1) { return true; } } PK!dNc c thickbox/thickbox.cssnu[#TB_overlay { background: #000; opacity: 0.7; filter: alpha(opacity=70); position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 100050; /* Above DFW. */ } #TB_window { position: fixed; background-color: #fff; z-index: 100050; /* Above DFW. */ visibility: hidden; text-align: left; top: 50%; left: 50%; -webkit-box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 ); box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 ); } #TB_window img#TB_Image { display: block; margin: 15px 0 0 15px; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; border-top: 1px solid #666; border-left: 1px solid #666; } #TB_caption{ height: 25px; padding: 7px 30px 10px 25px; float: left; } #TB_closeWindow { height: 25px; padding: 11px 25px 10px 0; float: right; } #TB_closeWindowButton { position: absolute; left: auto; right: 0; width: 29px; height: 29px; border: 0; padding: 0; background: none; cursor: pointer; outline: none; -webkit-transition: color .1s ease-in-out, background .1s ease-in-out; transition: color .1s ease-in-out, background .1s ease-in-out; } #TB_ajaxWindowTitle { float: left; font-weight: 600; line-height: 29px; overflow: hidden; padding: 0 29px 0 10px; text-overflow: ellipsis; white-space: nowrap; width: calc( 100% - 39px ); } #TB_title { background: #fcfcfc; border-bottom: 1px solid #ddd; height: 29px; } #TB_ajaxContent { clear: both; padding: 2px 15px 15px 15px; overflow: auto; text-align: left; line-height: 1.4em; } #TB_ajaxContent.TB_modal { padding: 15px; } #TB_ajaxContent p { padding: 5px 0px 5px 0px; } #TB_load { position: fixed; display: none; z-index: 100050; top: 50%; left: 50%; background-color: #E8E8E8; border: 1px solid #555; margin: -45px 0 0 -125px; padding: 40px 15px 15px; } #TB_HideSelect { z-index: 99; position: fixed; top: 0; left: 0; background-color: #fff; border: none; filter: alpha(opacity=0); opacity: 0; height: 100%; width: 100%; } #TB_iframeContent { clear: both; border: none; } .tb-close-icon { display: block; color: #666; text-align: center; line-height: 29px; width: 29px; height: 29px; position: absolute; top: 0; right: 0; } .tb-close-icon:before { content: "\f158"; font: normal 20px/29px dashicons; speak: never; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } #TB_closeWindowButton:hover .tb-close-icon, #TB_closeWindowButton:focus .tb-close-icon { color: #006799; } #TB_closeWindowButton:focus .tb-close-icon { -webkit-box-shadow: 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, .8); box-shadow: 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, .8); } PK!H>plupload/moxie.jsnu[;var MXI_DEBUG = false; /** * mOxie - multi-runtime File API & XMLHttpRequest L2 Polyfill * v1.3.5 * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing * * Date: 2016-05-15 */ /** * Compiled inline version. (Library mode) */ /** * Modified for WordPress, Silverlight and Flash runtimes support was removed. * See https://core.trac.wordpress.org/ticket/41755. */ /*jshint smarttabs:true, undef:true, latedef:true, curly:true, bitwise:true, camelcase:true */ /*globals $code */ (function(exports, undefined) { "use strict"; var modules = {}; function require(ids, callback) { var module, defs = []; for (var i = 0; i < ids.length; ++i) { module = modules[ids[i]] || resolve(ids[i]); if (!module) { throw 'module definition dependecy not found: ' + ids[i]; } defs.push(module); } callback.apply(null, defs); } function define(id, dependencies, definition) { if (typeof id !== 'string') { throw 'invalid module definition, module id must be defined and be a string'; } if (dependencies === undefined) { throw 'invalid module definition, dependencies must be specified'; } if (definition === undefined) { throw 'invalid module definition, definition function must be specified'; } require(dependencies, function() { modules[id] = definition.apply(null, arguments); }); } function defined(id) { return !!modules[id]; } function resolve(id) { var target = exports; var fragments = id.split(/[.\/]/); for (var fi = 0; fi < fragments.length; ++fi) { if (!target[fragments[fi]]) { return; } target = target[fragments[fi]]; } return target; } function expose(ids) { for (var i = 0; i < ids.length; i++) { var target = exports; var id = ids[i]; var fragments = id.split(/[.\/]/); for (var fi = 0; fi < fragments.length - 1; ++fi) { if (target[fragments[fi]] === undefined) { target[fragments[fi]] = {}; } target = target[fragments[fi]]; } target[fragments[fragments.length - 1]] = modules[id]; } } // Included from: src/javascript/core/utils/Basic.js /** * Basic.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ define('moxie/core/utils/Basic', [], function() { /** Gets the true type of the built-in object (better version of typeof). @author Angus Croll (http://javascriptweblog.wordpress.com/) @method typeOf @for Utils @static @param {Object} o Object to check. @return {String} Object [[Class]] */ var typeOf = function(o) { var undef; if (o === undef) { return 'undefined'; } else if (o === null) { return 'null'; } else if (o.nodeType) { return 'node'; } // the snippet below is awesome, however it fails to detect null, undefined and arguments types in IE lte 8 return ({}).toString.call(o).match(/\s([a-z|A-Z]+)/)[1].toLowerCase(); }; /** Extends the specified object with another object. @method extend @static @param {Object} target Object to extend. @param {Object} [obj]* Multiple objects to extend with. @return {Object} Same as target, the extended object. */ var extend = function(target) { var undef; each(arguments, function(arg, i) { if (i > 0) { each(arg, function(value, key) { if (value !== undef) { if (typeOf(target[key]) === typeOf(value) && !!~inArray(typeOf(value), ['array', 'object'])) { extend(target[key], value); } else { target[key] = value; } } }); } }); return target; }; /** Executes the callback function for each item in array/object. If you return false in the callback it will break the loop. @method each @static @param {Object} obj Object to iterate. @param {function} callback Callback function to execute for each item. */ var each = function(obj, callback) { var length, key, i, undef; if (obj) { if (typeOf(obj.length) === 'number') { // it might be Array, FileList or even arguments object // Loop array items for (i = 0, length = obj.length; i < length; i++) { if (callback(obj[i], i) === false) { return; } } } else if (typeOf(obj) === 'object') { // Loop object items for (key in obj) { if (obj.hasOwnProperty(key)) { if (callback(obj[key], key) === false) { return; } } } } } }; /** Checks if object is empty. @method isEmptyObj @static @param {Object} o Object to check. @return {Boolean} */ var isEmptyObj = function(obj) { var prop; if (!obj || typeOf(obj) !== 'object') { return true; } for (prop in obj) { return false; } return true; }; /** Recieve an array of functions (usually async) to call in sequence, each function receives a callback as first argument that it should call, when it completes. Finally, after everything is complete, main callback is called. Passing truthy value to the callback as a first argument will interrupt the sequence and invoke main callback immediately. @method inSeries @static @param {Array} queue Array of functions to call in sequence @param {Function} cb Main callback that is called in the end, or in case of error */ var inSeries = function(queue, cb) { var i = 0, length = queue.length; if (typeOf(cb) !== 'function') { cb = function() {}; } if (!queue || !queue.length) { cb(); } function callNext(i) { if (typeOf(queue[i]) === 'function') { queue[i](function(error) { /*jshint expr:true */ ++i < length && !error ? callNext(i) : cb(error); }); } } callNext(i); }; /** Recieve an array of functions (usually async) to call in parallel, each function receives a callback as first argument that it should call, when it completes. After everything is complete, main callback is called. Passing truthy value to the callback as a first argument will interrupt the process and invoke main callback immediately. @method inParallel @static @param {Array} queue Array of functions to call in sequence @param {Function} cb Main callback that is called in the end, or in case of error */ var inParallel = function(queue, cb) { var count = 0, num = queue.length, cbArgs = new Array(num); each(queue, function(fn, i) { fn(function(error) { if (error) { return cb(error); } var args = [].slice.call(arguments); args.shift(); // strip error - undefined or not cbArgs[i] = args; count++; if (count === num) { cbArgs.unshift(null); cb.apply(this, cbArgs); } }); }); }; /** Find an element in array and return it's index if present, otherwise return -1. @method inArray @static @param {Mixed} needle Element to find @param {Array} array @return {Int} Index of the element, or -1 if not found */ var inArray = function(needle, array) { if (array) { if (Array.prototype.indexOf) { return Array.prototype.indexOf.call(array, needle); } for (var i = 0, length = array.length; i < length; i++) { if (array[i] === needle) { return i; } } } return -1; }; /** Returns elements of first array if they are not present in second. And false - otherwise. @private @method arrayDiff @param {Array} needles @param {Array} array @return {Array|Boolean} */ var arrayDiff = function(needles, array) { var diff = []; if (typeOf(needles) !== 'array') { needles = [needles]; } if (typeOf(array) !== 'array') { array = [array]; } for (var i in needles) { if (inArray(needles[i], array) === -1) { diff.push(needles[i]); } } return diff.length ? diff : false; }; /** Find intersection of two arrays. @private @method arrayIntersect @param {Array} array1 @param {Array} array2 @return {Array} Intersection of two arrays or null if there is none */ var arrayIntersect = function(array1, array2) { var result = []; each(array1, function(item) { if (inArray(item, array2) !== -1) { result.push(item); } }); return result.length ? result : null; }; /** Forces anything into an array. @method toArray @static @param {Object} obj Object with length field. @return {Array} Array object containing all items. */ var toArray = function(obj) { var i, arr = []; for (i = 0; i < obj.length; i++) { arr[i] = obj[i]; } return arr; }; /** Generates an unique ID. The only way a user would be able to get the same ID is if the two persons at the same exact millisecond manage to get the same 5 random numbers between 0-65535; it also uses a counter so each ID is guaranteed to be unique for the given page. It is more probable for the earth to be hit with an asteroid. @method guid @static @param {String} prefix to prepend (by default 'o' will be prepended). @method guid @return {String} Virtually unique id. */ var guid = (function() { var counter = 0; return function(prefix) { var guid = new Date().getTime().toString(32), i; for (i = 0; i < 5; i++) { guid += Math.floor(Math.random() * 65535).toString(32); } return (prefix || 'o_') + guid + (counter++).toString(32); }; }()); /** Trims white spaces around the string @method trim @static @param {String} str @return {String} */ var trim = function(str) { if (!str) { return str; } return String.prototype.trim ? String.prototype.trim.call(str) : str.toString().replace(/^\s*/, '').replace(/\s*$/, ''); }; /** Parses the specified size string into a byte value. For example 10kb becomes 10240. @method parseSizeStr @static @param {String/Number} size String to parse or number to just pass through. @return {Number} Size in bytes. */ var parseSizeStr = function(size) { if (typeof(size) !== 'string') { return size; } var muls = { t: 1099511627776, g: 1073741824, m: 1048576, k: 1024 }, mul; size = /^([0-9\.]+)([tmgk]?)$/.exec(size.toLowerCase().replace(/[^0-9\.tmkg]/g, '')); mul = size[2]; size = +size[1]; if (muls.hasOwnProperty(mul)) { size *= muls[mul]; } return Math.floor(size); }; /** * Pseudo sprintf implementation - simple way to replace tokens with specified values. * * @param {String} str String with tokens * @return {String} String with replaced tokens */ var sprintf = function(str) { var args = [].slice.call(arguments, 1); return str.replace(/%[a-z]/g, function() { var value = args.shift(); return typeOf(value) !== 'undefined' ? value : ''; }); }; return { guid: guid, typeOf: typeOf, extend: extend, each: each, isEmptyObj: isEmptyObj, inSeries: inSeries, inParallel: inParallel, inArray: inArray, arrayDiff: arrayDiff, arrayIntersect: arrayIntersect, toArray: toArray, trim: trim, sprintf: sprintf, parseSizeStr: parseSizeStr }; }); // Included from: src/javascript/core/utils/Env.js /** * Env.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ define("moxie/core/utils/Env", [ "moxie/core/utils/Basic" ], function(Basic) { /** * UAParser.js v0.7.7 * Lightweight JavaScript-based User-Agent string parser * https://github.com/faisalman/ua-parser-js * * Copyright © 2012-2015 Faisal Salman * Dual licensed under GPLv2 & MIT */ var UAParser = (function (undefined) { ////////////// // Constants ///////////// var EMPTY = '', UNKNOWN = '?', FUNC_TYPE = 'function', UNDEF_TYPE = 'undefined', OBJ_TYPE = 'object', MAJOR = 'major', MODEL = 'model', NAME = 'name', TYPE = 'type', VENDOR = 'vendor', VERSION = 'version', ARCHITECTURE= 'architecture', CONSOLE = 'console', MOBILE = 'mobile', TABLET = 'tablet'; /////////// // Helper ////////// var util = { has : function (str1, str2) { return str2.toLowerCase().indexOf(str1.toLowerCase()) !== -1; }, lowerize : function (str) { return str.toLowerCase(); } }; /////////////// // Map helper ////////////// var mapper = { rgx : function () { // loop through all regexes maps for (var result, i = 0, j, k, p, q, matches, match, args = arguments; i < args.length; i += 2) { var regex = args[i], // even sequence (0,2,4,..) props = args[i + 1]; // odd sequence (1,3,5,..) // construct object barebones if (typeof(result) === UNDEF_TYPE) { result = {}; for (p in props) { q = props[p]; if (typeof(q) === OBJ_TYPE) { result[q[0]] = undefined; } else { result[q] = undefined; } } } // try matching uastring with regexes for (j = k = 0; j < regex.length; j++) { matches = regex[j].exec(this.getUA()); if (!!matches) { for (p = 0; p < props.length; p++) { match = matches[++k]; q = props[p]; // check if given property is actually array if (typeof(q) === OBJ_TYPE && q.length > 0) { if (q.length == 2) { if (typeof(q[1]) == FUNC_TYPE) { // assign modified match result[q[0]] = q[1].call(this, match); } else { // assign given value, ignore regex match result[q[0]] = q[1]; } } else if (q.length == 3) { // check whether function or regex if (typeof(q[1]) === FUNC_TYPE && !(q[1].exec && q[1].test)) { // call function (usually string mapper) result[q[0]] = match ? q[1].call(this, match, q[2]) : undefined; } else { // sanitize match using given regex result[q[0]] = match ? match.replace(q[1], q[2]) : undefined; } } else if (q.length == 4) { result[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : undefined; } } else { result[q] = match ? match : undefined; } } break; } } if(!!matches) break; // break the loop immediately if match found } return result; }, str : function (str, map) { for (var i in map) { // check if array if (typeof(map[i]) === OBJ_TYPE && map[i].length > 0) { for (var j = 0; j < map[i].length; j++) { if (util.has(map[i][j], str)) { return (i === UNKNOWN) ? undefined : i; } } } else if (util.has(map[i], str)) { return (i === UNKNOWN) ? undefined : i; } } return str; } }; /////////////// // String map ////////////// var maps = { browser : { oldsafari : { major : { '1' : ['/8', '/1', '/3'], '2' : '/4', '?' : '/' }, version : { '1.0' : '/8', '1.2' : '/1', '1.3' : '/3', '2.0' : '/412', '2.0.2' : '/416', '2.0.3' : '/417', '2.0.4' : '/419', '?' : '/' } } }, device : { sprint : { model : { 'Evo Shift 4G' : '7373KT' }, vendor : { 'HTC' : 'APA', 'Sprint' : 'Sprint' } } }, os : { windows : { version : { 'ME' : '4.90', 'NT 3.11' : 'NT3.51', 'NT 4.0' : 'NT4.0', '2000' : 'NT 5.0', 'XP' : ['NT 5.1', 'NT 5.2'], 'Vista' : 'NT 6.0', '7' : 'NT 6.1', '8' : 'NT 6.2', '8.1' : 'NT 6.3', 'RT' : 'ARM' } } } }; ////////////// // Regex map ///////////// var regexes = { browser : [[ // Presto based /(opera\smini)\/([\w\.-]+)/i, // Opera Mini /(opera\s[mobiletab]+).+version\/([\w\.-]+)/i, // Opera Mobi/Tablet /(opera).+version\/([\w\.]+)/i, // Opera > 9.80 /(opera)[\/\s]+([\w\.]+)/i // Opera < 9.80 ], [NAME, VERSION], [ /\s(opr)\/([\w\.]+)/i // Opera Webkit ], [[NAME, 'Opera'], VERSION], [ // Mixed /(kindle)\/([\w\.]+)/i, // Kindle /(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?([\w\.]+)*/i, // Lunascape/Maxthon/Netfront/Jasmine/Blazer // Trident based /(avant\s|iemobile|slim|baidu)(?:browser)?[\/\s]?([\w\.]*)/i, // Avant/IEMobile/SlimBrowser/Baidu /(?:ms|\()(ie)\s([\w\.]+)/i, // Internet Explorer // Webkit/KHTML based /(rekonq)\/([\w\.]+)*/i, // Rekonq /(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi)\/([\w\.-]+)/i // Chromium/Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron ], [NAME, VERSION], [ /(trident).+rv[:\s]([\w\.]+).+like\sgecko/i // IE11 ], [[NAME, 'IE'], VERSION], [ /(edge)\/((\d+)?[\w\.]+)/i // Microsoft Edge ], [NAME, VERSION], [ /(yabrowser)\/([\w\.]+)/i // Yandex ], [[NAME, 'Yandex'], VERSION], [ /(comodo_dragon)\/([\w\.]+)/i // Comodo Dragon ], [[NAME, /_/g, ' '], VERSION], [ /(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?([\w\.]+)/i, // Chrome/OmniWeb/Arora/Tizen/Nokia /(uc\s?browser|qqbrowser)[\/\s]?([\w\.]+)/i // UCBrowser/QQBrowser ], [NAME, VERSION], [ /(dolfin)\/([\w\.]+)/i // Dolphin ], [[NAME, 'Dolphin'], VERSION], [ /((?:android.+)crmo|crios)\/([\w\.]+)/i // Chrome for Android/iOS ], [[NAME, 'Chrome'], VERSION], [ /XiaoMi\/MiuiBrowser\/([\w\.]+)/i // MIUI Browser ], [VERSION, [NAME, 'MIUI Browser']], [ /android.+version\/([\w\.]+)\s+(?:mobile\s?safari|safari)/i // Android Browser ], [VERSION, [NAME, 'Android Browser']], [ /FBAV\/([\w\.]+);/i // Facebook App for iOS ], [VERSION, [NAME, 'Facebook']], [ /version\/([\w\.]+).+?mobile\/\w+\s(safari)/i // Mobile Safari ], [VERSION, [NAME, 'Mobile Safari']], [ /version\/([\w\.]+).+?(mobile\s?safari|safari)/i // Safari & Safari Mobile ], [VERSION, NAME], [ /webkit.+?(mobile\s?safari|safari)(\/[\w\.]+)/i // Safari < 3.0 ], [NAME, [VERSION, mapper.str, maps.browser.oldsafari.version]], [ /(konqueror)\/([\w\.]+)/i, // Konqueror /(webkit|khtml)\/([\w\.]+)/i ], [NAME, VERSION], [ // Gecko based /(navigator|netscape)\/([\w\.-]+)/i // Netscape ], [[NAME, 'Netscape'], VERSION], [ /(swiftfox)/i, // Swiftfox /(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?([\w\.\+]+)/i, // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror /(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix)\/([\w\.-]+)/i, // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix /(mozilla)\/([\w\.]+).+rv\:.+gecko\/\d+/i, // Mozilla // Other /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf)[\/\s]?([\w\.]+)/i, // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf /(links)\s\(([\w\.]+)/i, // Links /(gobrowser)\/?([\w\.]+)*/i, // GoBrowser /(ice\s?browser)\/v?([\w\._]+)/i, // ICE Browser /(mosaic)[\/\s]([\w\.]+)/i // Mosaic ], [NAME, VERSION] ], engine : [[ /windows.+\sedge\/([\w\.]+)/i // EdgeHTML ], [VERSION, [NAME, 'EdgeHTML']], [ /(presto)\/([\w\.]+)/i, // Presto /(webkit|trident|netfront|netsurf|amaya|lynx|w3m)\/([\w\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m /(khtml|tasman|links)[\/\s]\(?([\w\.]+)/i, // KHTML/Tasman/Links /(icab)[\/\s]([23]\.[\d\.]+)/i // iCab ], [NAME, VERSION], [ /rv\:([\w\.]+).*(gecko)/i // Gecko ], [VERSION, NAME] ], os : [[ // Windows based /microsoft\s(windows)\s(vista|xp)/i // Windows (iTunes) ], [NAME, VERSION], [ /(windows)\snt\s6\.2;\s(arm)/i, // Windows RT /(windows\sphone(?:\sos)*|windows\smobile|windows)[\s\/]?([ntce\d\.\s]+\w)/i ], [NAME, [VERSION, mapper.str, maps.os.windows.version]], [ /(win(?=3|9|n)|win\s9x\s)([nt\d\.]+)/i ], [[NAME, 'Windows'], [VERSION, mapper.str, maps.os.windows.version]], [ // Mobile/Embedded OS /\((bb)(10);/i // BlackBerry 10 ], [[NAME, 'BlackBerry'], VERSION], [ /(blackberry)\w*\/?([\w\.]+)*/i, // Blackberry /(tizen)[\/\s]([\w\.]+)/i, // Tizen /(android|webos|palm\os|qnx|bada|rim\stablet\sos|meego|contiki)[\/\s-]?([\w\.]+)*/i, // Android/WebOS/Palm/QNX/Bada/RIM/MeeGo/Contiki /linux;.+(sailfish);/i // Sailfish OS ], [NAME, VERSION], [ /(symbian\s?os|symbos|s60(?=;))[\/\s-]?([\w\.]+)*/i // Symbian ], [[NAME, 'Symbian'], VERSION], [ /\((series40);/i // Series 40 ], [NAME], [ /mozilla.+\(mobile;.+gecko.+firefox/i // Firefox OS ], [[NAME, 'Firefox OS'], VERSION], [ // Console /(nintendo|playstation)\s([wids3portablevu]+)/i, // Nintendo/Playstation // GNU/Linux based /(mint)[\/\s\(]?(\w+)*/i, // Mint /(mageia|vectorlinux)[;\s]/i, // Mageia/VectorLinux /(joli|[kxln]?ubuntu|debian|[open]*suse|gentoo|arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk|linpus)[\/\s-]?([\w\.-]+)*/i, // Joli/Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware // Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus /(hurd|linux)\s?([\w\.]+)*/i, // Hurd/Linux /(gnu)\s?([\w\.]+)*/i // GNU ], [NAME, VERSION], [ /(cros)\s[\w]+\s([\w\.]+\w)/i // Chromium OS ], [[NAME, 'Chromium OS'], VERSION],[ // Solaris /(sunos)\s?([\w\.]+\d)*/i // Solaris ], [[NAME, 'Solaris'], VERSION], [ // BSD based /\s([frentopc-]{0,4}bsd|dragonfly)\s?([\w\.]+)*/i // FreeBSD/NetBSD/OpenBSD/PC-BSD/DragonFly ], [NAME, VERSION],[ /(ip[honead]+)(?:.*os\s*([\w]+)*\slike\smac|;\sopera)/i // iOS ], [[NAME, 'iOS'], [VERSION, /_/g, '.']], [ /(mac\sos\sx)\s?([\w\s\.]+\w)*/i, /(macintosh|mac(?=_powerpc)\s)/i // Mac OS ], [[NAME, 'Mac OS'], [VERSION, /_/g, '.']], [ // Other /((?:open)?solaris)[\/\s-]?([\w\.]+)*/i, // Solaris /(haiku)\s(\w+)/i, // Haiku /(aix)\s((\d)(?=\.|\)|\s)[\w\.]*)*/i, // AIX /(plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos|openvms)/i, // Plan9/Minix/BeOS/OS2/AmigaOS/MorphOS/RISCOS/OpenVMS /(unix)\s?([\w\.]+)*/i // UNIX ], [NAME, VERSION] ] }; ///////////////// // Constructor //////////////// var UAParser = function (uastring) { var ua = uastring || ((window && window.navigator && window.navigator.userAgent) ? window.navigator.userAgent : EMPTY); this.getBrowser = function () { return mapper.rgx.apply(this, regexes.browser); }; this.getEngine = function () { return mapper.rgx.apply(this, regexes.engine); }; this.getOS = function () { return mapper.rgx.apply(this, regexes.os); }; this.getResult = function() { return { ua : this.getUA(), browser : this.getBrowser(), engine : this.getEngine(), os : this.getOS() }; }; this.getUA = function () { return ua; }; this.setUA = function (uastring) { ua = uastring; return this; }; this.setUA(ua); }; return UAParser; })(); function version_compare(v1, v2, operator) { // From: http://phpjs.org/functions // + original by: Philippe Jausions (http://pear.php.net/user/jausions) // + original by: Aidan Lister (http://aidanlister.com/) // + reimplemented by: Kankrelune (http://www.webfaktory.info/) // + improved by: Brett Zamir (http://brett-zamir.me) // + improved by: Scott Baker // + improved by: Theriault // * example 1: version_compare('8.2.5rc', '8.2.5a'); // * returns 1: 1 // * example 2: version_compare('8.2.50', '8.2.52', '<'); // * returns 2: true // * example 3: version_compare('5.3.0-dev', '5.3.0'); // * returns 3: -1 // * example 4: version_compare('4.1.0.52','4.01.0.51'); // * returns 4: 1 // Important: compare must be initialized at 0. var i = 0, x = 0, compare = 0, // vm maps textual PHP versions to negatives so they're less than 0. // PHP currently defines these as CASE-SENSITIVE. It is important to // leave these as negatives so that they can come before numerical versions // and as if no letters were there to begin with. // (1alpha is < 1 and < 1.1 but > 1dev1) // If a non-numerical value can't be mapped to this table, it receives // -7 as its value. vm = { 'dev': -6, 'alpha': -5, 'a': -5, 'beta': -4, 'b': -4, 'RC': -3, 'rc': -3, '#': -2, 'p': 1, 'pl': 1 }, // This function will be called to prepare each version argument. // It replaces every _, -, and + with a dot. // It surrounds any nonsequence of numbers/dots with dots. // It replaces sequences of dots with a single dot. // version_compare('4..0', '4.0') == 0 // Important: A string of 0 length needs to be converted into a value // even less than an unexisting value in vm (-7), hence [-8]. // It's also important to not strip spaces because of this. // version_compare('', ' ') == 1 prepVersion = function (v) { v = ('' + v).replace(/[_\-+]/g, '.'); v = v.replace(/([^.\d]+)/g, '.$1.').replace(/\.{2,}/g, '.'); return (!v.length ? [-8] : v.split('.')); }, // This converts a version component to a number. // Empty component becomes 0. // Non-numerical component becomes a negative number. // Numerical component becomes itself as an integer. numVersion = function (v) { return !v ? 0 : (isNaN(v) ? vm[v] || -7 : parseInt(v, 10)); }; v1 = prepVersion(v1); v2 = prepVersion(v2); x = Math.max(v1.length, v2.length); for (i = 0; i < x; i++) { if (v1[i] == v2[i]) { continue; } v1[i] = numVersion(v1[i]); v2[i] = numVersion(v2[i]); if (v1[i] < v2[i]) { compare = -1; break; } else if (v1[i] > v2[i]) { compare = 1; break; } } if (!operator) { return compare; } // Important: operator is CASE-SENSITIVE. // "No operator" seems to be treated as "<." // Any other values seem to make the function return null. switch (operator) { case '>': case 'gt': return (compare > 0); case '>=': case 'ge': return (compare >= 0); case '<=': case 'le': return (compare <= 0); case '==': case '=': case 'eq': return (compare === 0); case '<>': case '!=': case 'ne': return (compare !== 0); case '': case '<': case 'lt': return (compare < 0); default: return null; } } var can = (function() { var caps = { define_property: (function() { /* // currently too much extra code required, not exactly worth it try { // as of IE8, getters/setters are supported only on DOM elements var obj = {}; if (Object.defineProperty) { Object.defineProperty(obj, 'prop', { enumerable: true, configurable: true }); return true; } } catch(ex) {} if (Object.prototype.__defineGetter__ && Object.prototype.__defineSetter__) { return true; }*/ return false; }()), create_canvas: (function() { // On the S60 and BB Storm, getContext exists, but always returns undefined // so we actually have to call getContext() to verify // github.com/Modernizr/Modernizr/issues/issue/97/ var el = document.createElement('canvas'); return !!(el.getContext && el.getContext('2d')); }()), return_response_type: function(responseType) { try { if (Basic.inArray(responseType, ['', 'text', 'document']) !== -1) { return true; } else if (window.XMLHttpRequest) { var xhr = new XMLHttpRequest(); xhr.open('get', '/'); // otherwise Gecko throws an exception if ('responseType' in xhr) { xhr.responseType = responseType; // as of 23.0.1271.64, Chrome switched from throwing exception to merely logging it to the console (why? o why?) if (xhr.responseType !== responseType) { return false; } return true; } } } catch (ex) {} return false; }, // ideas for this heavily come from Modernizr (http://modernizr.com/) use_data_uri: (function() { var du = new Image(); du.onload = function() { caps.use_data_uri = (du.width === 1 && du.height === 1); }; setTimeout(function() { du.src = "data:image/gif;base64,R0lGODlhAQABAIAAAP8AAAAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw=="; }, 1); return false; }()), use_data_uri_over32kb: function() { // IE8 return caps.use_data_uri && (Env.browser !== 'IE' || Env.version >= 9); }, use_data_uri_of: function(bytes) { return (caps.use_data_uri && bytes < 33000 || caps.use_data_uri_over32kb()); }, use_fileinput: function() { if (navigator.userAgent.match(/(Android (1.0|1.1|1.5|1.6|2.0|2.1))|(Windows Phone (OS 7|8.0))|(XBLWP)|(ZuneWP)|(w(eb)?OSBrowser)|(webOS)|(Kindle\/(1.0|2.0|2.5|3.0))/)) { return false; } var el = document.createElement('input'); el.setAttribute('type', 'file'); return !el.disabled; } }; return function(cap) { var args = [].slice.call(arguments); args.shift(); // shift of cap return Basic.typeOf(caps[cap]) === 'function' ? caps[cap].apply(this, args) : !!caps[cap]; }; }()); var uaResult = new UAParser().getResult(); var Env = { can: can, uaParser: UAParser, browser: uaResult.browser.name, version: uaResult.browser.version, os: uaResult.os.name, // everybody intuitively types it in a lowercase for some reason osVersion: uaResult.os.version, verComp: version_compare, global_event_dispatcher: "moxie.core.EventTarget.instance.dispatchEvent" }; // for backward compatibility // @deprecated Use `Env.os` instead Env.OS = Env.os; if (MXI_DEBUG) { Env.debug = { runtime: true, events: false }; Env.log = function() { function logObj(data) { // TODO: this should recursively print out the object in a pretty way console.appendChild(document.createTextNode(data + "\n")); } var data = arguments[0]; if (Basic.typeOf(data) === 'string') { data = Basic.sprintf.apply(this, arguments); } if (window && window.console && window.console.log) { window.console.log(data); } else if (document) { var console = document.getElementById('moxie-console'); if (!console) { console = document.createElement('pre'); console.id = 'moxie-console'; //console.style.display = 'none'; document.body.appendChild(console); } if (Basic.inArray(Basic.typeOf(data), ['object', 'array']) !== -1) { logObj(data); } else { console.appendChild(document.createTextNode(data + "\n")); } } }; } return Env; }); // Included from: src/javascript/core/I18n.js /** * I18n.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ define("moxie/core/I18n", [ "moxie/core/utils/Basic" ], function(Basic) { var i18n = {}; return { /** * Extends the language pack object with new items. * * @param {Object} pack Language pack items to add. * @return {Object} Extended language pack object. */ addI18n: function(pack) { return Basic.extend(i18n, pack); }, /** * Translates the specified string by checking for the english string in the language pack lookup. * * @param {String} str String to look for. * @return {String} Translated string or the input string if it wasn't found. */ translate: function(str) { return i18n[str] || str; }, /** * Shortcut for translate function * * @param {String} str String to look for. * @return {String} Translated string or the input string if it wasn't found. */ _: function(str) { return this.translate(str); }, /** * Pseudo sprintf implementation - simple way to replace tokens with specified values. * * @param {String} str String with tokens * @return {String} String with replaced tokens */ sprintf: function(str) { var args = [].slice.call(arguments, 1); return str.replace(/%[a-z]/g, function() { var value = args.shift(); return Basic.typeOf(value) !== 'undefined' ? value : ''; }); } }; }); // Included from: src/javascript/core/utils/Mime.js /** * Mime.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ define("moxie/core/utils/Mime", [ "moxie/core/utils/Basic", "moxie/core/I18n" ], function(Basic, I18n) { var mimeData = "" + "application/msword,doc dot," + "application/pdf,pdf," + "application/pgp-signature,pgp," + "application/postscript,ps ai eps," + "application/rtf,rtf," + "application/vnd.ms-excel,xls xlb," + "application/vnd.ms-powerpoint,ppt pps pot," + "application/zip,zip," + "application/x-shockwave-flash,swf swfl," + "application/vnd.openxmlformats-officedocument.wordprocessingml.document,docx," + "application/vnd.openxmlformats-officedocument.wordprocessingml.template,dotx," + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,xlsx," + "application/vnd.openxmlformats-officedocument.presentationml.presentation,pptx," + "application/vnd.openxmlformats-officedocument.presentationml.template,potx," + "application/vnd.openxmlformats-officedocument.presentationml.slideshow,ppsx," + "application/x-javascript,js," + "application/json,json," + "audio/mpeg,mp3 mpga mpega mp2," + "audio/x-wav,wav," + "audio/x-m4a,m4a," + "audio/ogg,oga ogg," + "audio/aiff,aiff aif," + "audio/flac,flac," + "audio/aac,aac," + "audio/ac3,ac3," + "audio/x-ms-wma,wma," + "image/bmp,bmp," + "image/gif,gif," + "image/jpeg,jpg jpeg jpe," + "image/photoshop,psd," + "image/png,png," + "image/svg+xml,svg svgz," + "image/tiff,tiff tif," + "text/plain,asc txt text diff log," + "text/html,htm html xhtml," + "text/css,css," + "text/csv,csv," + "text/rtf,rtf," + "video/mpeg,mpeg mpg mpe m2v," + "video/quicktime,qt mov," + "video/mp4,mp4," + "video/x-m4v,m4v," + "video/x-flv,flv," + "video/x-ms-wmv,wmv," + "video/avi,avi," + "video/webm,webm," + "video/3gpp,3gpp 3gp," + "video/3gpp2,3g2," + "video/vnd.rn-realvideo,rv," + "video/ogg,ogv," + "video/x-matroska,mkv," + "application/vnd.oasis.opendocument.formula-template,otf," + "application/octet-stream,exe"; var Mime = { mimes: {}, extensions: {}, // Parses the default mime types string into a mimes and extensions lookup maps addMimeType: function (mimeData) { var items = mimeData.split(/,/), i, ii, ext; for (i = 0; i < items.length; i += 2) { ext = items[i + 1].split(/ /); // extension to mime lookup for (ii = 0; ii < ext.length; ii++) { this.mimes[ext[ii]] = items[i]; } // mime to extension lookup this.extensions[items[i]] = ext; } }, extList2mimes: function (filters, addMissingExtensions) { var self = this, ext, i, ii, type, mimes = []; // convert extensions to mime types list for (i = 0; i < filters.length; i++) { ext = filters[i].extensions.split(/\s*,\s*/); for (ii = 0; ii < ext.length; ii++) { // if there's an asterisk in the list, then accept attribute is not required if (ext[ii] === '*') { return []; } type = self.mimes[ext[ii]]; if (type && Basic.inArray(type, mimes) === -1) { mimes.push(type); } // future browsers should filter by extension, finally if (addMissingExtensions && /^\w+$/.test(ext[ii])) { mimes.push('.' + ext[ii]); } else if (!type) { // if we have no type in our map, then accept all return []; } } } return mimes; }, mimes2exts: function(mimes) { var self = this, exts = []; Basic.each(mimes, function(mime) { if (mime === '*') { exts = []; return false; } // check if this thing looks like mime type var m = mime.match(/^(\w+)\/(\*|\w+)$/); if (m) { if (m[2] === '*') { // wildcard mime type detected Basic.each(self.extensions, function(arr, mime) { if ((new RegExp('^' + m[1] + '/')).test(mime)) { [].push.apply(exts, self.extensions[mime]); } }); } else if (self.extensions[mime]) { [].push.apply(exts, self.extensions[mime]); } } }); return exts; }, mimes2extList: function(mimes) { var accept = [], exts = []; if (Basic.typeOf(mimes) === 'string') { mimes = Basic.trim(mimes).split(/\s*,\s*/); } exts = this.mimes2exts(mimes); accept.push({ title: I18n.translate('Files'), extensions: exts.length ? exts.join(',') : '*' }); // save original mimes string accept.mimes = mimes; return accept; }, getFileExtension: function(fileName) { var matches = fileName && fileName.match(/\.([^.]+)$/); if (matches) { return matches[1].toLowerCase(); } return ''; }, getFileMime: function(fileName) { return this.mimes[this.getFileExtension(fileName)] || ''; } }; Mime.addMimeType(mimeData); return Mime; }); // Included from: src/javascript/core/utils/Dom.js /** * Dom.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ define('moxie/core/utils/Dom', ['moxie/core/utils/Env'], function(Env) { /** Get DOM Element by it's id. @method get @for Utils @param {String} id Identifier of the DOM Element @return {DOMElement} */ var get = function(id) { if (typeof id !== 'string') { return id; } return document.getElementById(id); }; /** Checks if specified DOM element has specified class. @method hasClass @static @param {Object} obj DOM element like object to add handler to. @param {String} name Class name */ var hasClass = function(obj, name) { if (!obj.className) { return false; } var regExp = new RegExp("(^|\\s+)"+name+"(\\s+|$)"); return regExp.test(obj.className); }; /** Adds specified className to specified DOM element. @method addClass @static @param {Object} obj DOM element like object to add handler to. @param {String} name Class name */ var addClass = function(obj, name) { if (!hasClass(obj, name)) { obj.className = !obj.className ? name : obj.className.replace(/\s+$/, '') + ' ' + name; } }; /** Removes specified className from specified DOM element. @method removeClass @static @param {Object} obj DOM element like object to add handler to. @param {String} name Class name */ var removeClass = function(obj, name) { if (obj.className) { var regExp = new RegExp("(^|\\s+)"+name+"(\\s+|$)"); obj.className = obj.className.replace(regExp, function($0, $1, $2) { return $1 === ' ' && $2 === ' ' ? ' ' : ''; }); } }; /** Returns a given computed style of a DOM element. @method getStyle @static @param {Object} obj DOM element like object. @param {String} name Style you want to get from the DOM element */ var getStyle = function(obj, name) { if (obj.currentStyle) { return obj.currentStyle[name]; } else if (window.getComputedStyle) { return window.getComputedStyle(obj, null)[name]; } }; /** Returns the absolute x, y position of an Element. The position will be returned in a object with x, y fields. @method getPos @static @param {Element} node HTML element or element id to get x, y position from. @param {Element} root Optional root element to stop calculations at. @return {object} Absolute position of the specified element object with x, y fields. */ var getPos = function(node, root) { var x = 0, y = 0, parent, doc = document, nodeRect, rootRect; node = node; root = root || doc.body; // Returns the x, y cordinate for an element on IE 6 and IE 7 function getIEPos(node) { var bodyElm, rect, x = 0, y = 0; if (node) { rect = node.getBoundingClientRect(); bodyElm = doc.compatMode === "CSS1Compat" ? doc.documentElement : doc.body; x = rect.left + bodyElm.scrollLeft; y = rect.top + bodyElm.scrollTop; } return { x : x, y : y }; } // Use getBoundingClientRect on IE 6 and IE 7 but not on IE 8 in standards mode if (node && node.getBoundingClientRect && Env.browser === 'IE' && (!doc.documentMode || doc.documentMode < 8)) { nodeRect = getIEPos(node); rootRect = getIEPos(root); return { x : nodeRect.x - rootRect.x, y : nodeRect.y - rootRect.y }; } parent = node; while (parent && parent != root && parent.nodeType) { x += parent.offsetLeft || 0; y += parent.offsetTop || 0; parent = parent.offsetParent; } parent = node.parentNode; while (parent && parent != root && parent.nodeType) { x -= parent.scrollLeft || 0; y -= parent.scrollTop || 0; parent = parent.parentNode; } return { x : x, y : y }; }; /** Returns the size of the specified node in pixels. @method getSize @static @param {Node} node Node to get the size of. @return {Object} Object with a w and h property. */ var getSize = function(node) { return { w : node.offsetWidth || node.clientWidth, h : node.offsetHeight || node.clientHeight }; }; return { get: get, hasClass: hasClass, addClass: addClass, removeClass: removeClass, getStyle: getStyle, getPos: getPos, getSize: getSize }; }); // Included from: src/javascript/core/Exceptions.js /** * Exceptions.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ define('moxie/core/Exceptions', [ 'moxie/core/utils/Basic' ], function(Basic) { function _findKey(obj, value) { var key; for (key in obj) { if (obj[key] === value) { return key; } } return null; } return { RuntimeError: (function() { var namecodes = { NOT_INIT_ERR: 1, NOT_SUPPORTED_ERR: 9, JS_ERR: 4 }; function RuntimeError(code) { this.code = code; this.name = _findKey(namecodes, code); this.message = this.name + ": RuntimeError " + this.code; } Basic.extend(RuntimeError, namecodes); RuntimeError.prototype = Error.prototype; return RuntimeError; }()), OperationNotAllowedException: (function() { function OperationNotAllowedException(code) { this.code = code; this.name = 'OperationNotAllowedException'; } Basic.extend(OperationNotAllowedException, { NOT_ALLOWED_ERR: 1 }); OperationNotAllowedException.prototype = Error.prototype; return OperationNotAllowedException; }()), ImageError: (function() { var namecodes = { WRONG_FORMAT: 1, MAX_RESOLUTION_ERR: 2, INVALID_META_ERR: 3 }; function ImageError(code) { this.code = code; this.name = _findKey(namecodes, code); this.message = this.name + ": ImageError " + this.code; } Basic.extend(ImageError, namecodes); ImageError.prototype = Error.prototype; return ImageError; }()), FileException: (function() { var namecodes = { NOT_FOUND_ERR: 1, SECURITY_ERR: 2, ABORT_ERR: 3, NOT_READABLE_ERR: 4, ENCODING_ERR: 5, NO_MODIFICATION_ALLOWED_ERR: 6, INVALID_STATE_ERR: 7, SYNTAX_ERR: 8 }; function FileException(code) { this.code = code; this.name = _findKey(namecodes, code); this.message = this.name + ": FileException " + this.code; } Basic.extend(FileException, namecodes); FileException.prototype = Error.prototype; return FileException; }()), DOMException: (function() { var namecodes = { INDEX_SIZE_ERR: 1, DOMSTRING_SIZE_ERR: 2, HIERARCHY_REQUEST_ERR: 3, WRONG_DOCUMENT_ERR: 4, INVALID_CHARACTER_ERR: 5, NO_DATA_ALLOWED_ERR: 6, NO_MODIFICATION_ALLOWED_ERR: 7, NOT_FOUND_ERR: 8, NOT_SUPPORTED_ERR: 9, INUSE_ATTRIBUTE_ERR: 10, INVALID_STATE_ERR: 11, SYNTAX_ERR: 12, INVALID_MODIFICATION_ERR: 13, NAMESPACE_ERR: 14, INVALID_ACCESS_ERR: 15, VALIDATION_ERR: 16, TYPE_MISMATCH_ERR: 17, SECURITY_ERR: 18, NETWORK_ERR: 19, ABORT_ERR: 20, URL_MISMATCH_ERR: 21, QUOTA_EXCEEDED_ERR: 22, TIMEOUT_ERR: 23, INVALID_NODE_TYPE_ERR: 24, DATA_CLONE_ERR: 25 }; function DOMException(code) { this.code = code; this.name = _findKey(namecodes, code); this.message = this.name + ": DOMException " + this.code; } Basic.extend(DOMException, namecodes); DOMException.prototype = Error.prototype; return DOMException; }()), EventException: (function() { function EventException(code) { this.code = code; this.name = 'EventException'; } Basic.extend(EventException, { UNSPECIFIED_EVENT_TYPE_ERR: 0 }); EventException.prototype = Error.prototype; return EventException; }()) }; }); // Included from: src/javascript/core/EventTarget.js /** * EventTarget.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ define('moxie/core/EventTarget', [ 'moxie/core/utils/Env', 'moxie/core/Exceptions', 'moxie/core/utils/Basic' ], function(Env, x, Basic) { /** Parent object for all event dispatching components and objects @class EventTarget @constructor EventTarget */ function EventTarget() { // hash of event listeners by object uid var eventpool = {}; Basic.extend(this, { /** Unique id of the event dispatcher, usually overriden by children @property uid @type String */ uid: null, /** Can be called from within a child in order to acquire uniqie id in automated manner @method init */ init: function() { if (!this.uid) { this.uid = Basic.guid('uid_'); } }, /** Register a handler to a specific event dispatched by the object @method addEventListener @param {String} type Type or basically a name of the event to subscribe to @param {Function} fn Callback function that will be called when event happens @param {Number} [priority=0] Priority of the event handler - handlers with higher priorities will be called first @param {Object} [scope=this] A scope to invoke event handler in */ addEventListener: function(type, fn, priority, scope) { var self = this, list; // without uid no event handlers can be added, so make sure we got one if (!this.hasOwnProperty('uid')) { this.uid = Basic.guid('uid_'); } type = Basic.trim(type); if (/\s/.test(type)) { // multiple event types were passed for one handler Basic.each(type.split(/\s+/), function(type) { self.addEventListener(type, fn, priority, scope); }); return; } type = type.toLowerCase(); priority = parseInt(priority, 10) || 0; list = eventpool[this.uid] && eventpool[this.uid][type] || []; list.push({fn : fn, priority : priority, scope : scope || this}); if (!eventpool[this.uid]) { eventpool[this.uid] = {}; } eventpool[this.uid][type] = list; }, /** Check if any handlers were registered to the specified event @method hasEventListener @param {String} type Type or basically a name of the event to check @return {Mixed} Returns a handler if it was found and false, if - not */ hasEventListener: function(type) { var list = type ? eventpool[this.uid] && eventpool[this.uid][type] : eventpool[this.uid]; return list ? list : false; }, /** Unregister the handler from the event, or if former was not specified - unregister all handlers @method removeEventListener @param {String} type Type or basically a name of the event @param {Function} [fn] Handler to unregister */ removeEventListener: function(type, fn) { type = type.toLowerCase(); var list = eventpool[this.uid] && eventpool[this.uid][type], i; if (list) { if (fn) { for (i = list.length - 1; i >= 0; i--) { if (list[i].fn === fn) { list.splice(i, 1); break; } } } else { list = []; } // delete event list if it has become empty if (!list.length) { delete eventpool[this.uid][type]; // and object specific entry in a hash if it has no more listeners attached if (Basic.isEmptyObj(eventpool[this.uid])) { delete eventpool[this.uid]; } } } }, /** Remove all event handlers from the object @method removeAllEventListeners */ removeAllEventListeners: function() { if (eventpool[this.uid]) { delete eventpool[this.uid]; } }, /** Dispatch the event @method dispatchEvent @param {String/Object} Type of event or event object to dispatch @param {Mixed} [...] Variable number of arguments to be passed to a handlers @return {Boolean} true by default and false if any handler returned false */ dispatchEvent: function(type) { var uid, list, args, tmpEvt, evt = {}, result = true, undef; if (Basic.typeOf(type) !== 'string') { // we can't use original object directly (because of Silverlight) tmpEvt = type; if (Basic.typeOf(tmpEvt.type) === 'string') { type = tmpEvt.type; if (tmpEvt.total !== undef && tmpEvt.loaded !== undef) { // progress event evt.total = tmpEvt.total; evt.loaded = tmpEvt.loaded; } evt.async = tmpEvt.async || false; } else { throw new x.EventException(x.EventException.UNSPECIFIED_EVENT_TYPE_ERR); } } // check if event is meant to be dispatched on an object having specific uid if (type.indexOf('::') !== -1) { (function(arr) { uid = arr[0]; type = arr[1]; }(type.split('::'))); } else { uid = this.uid; } type = type.toLowerCase(); list = eventpool[uid] && eventpool[uid][type]; if (list) { // sort event list by prority list.sort(function(a, b) { return b.priority - a.priority; }); args = [].slice.call(arguments); // first argument will be pseudo-event object args.shift(); evt.type = type; args.unshift(evt); if (MXI_DEBUG && Env.debug.events) { Env.log("Event '%s' fired on %u", evt.type, uid); } // Dispatch event to all listeners var queue = []; Basic.each(list, function(handler) { // explicitly set the target, otherwise events fired from shims do not get it args[0].target = handler.scope; // if event is marked as async, detach the handler if (evt.async) { queue.push(function(cb) { setTimeout(function() { cb(handler.fn.apply(handler.scope, args) === false); }, 1); }); } else { queue.push(function(cb) { cb(handler.fn.apply(handler.scope, args) === false); // if handler returns false stop propagation }); } }); if (queue.length) { Basic.inSeries(queue, function(err) { result = !err; }); } } return result; }, /** Alias for addEventListener @method bind @protected */ bind: function() { this.addEventListener.apply(this, arguments); }, /** Alias for removeEventListener @method unbind @protected */ unbind: function() { this.removeEventListener.apply(this, arguments); }, /** Alias for removeAllEventListeners @method unbindAll @protected */ unbindAll: function() { this.removeAllEventListeners.apply(this, arguments); }, /** Alias for dispatchEvent @method trigger @protected */ trigger: function() { return this.dispatchEvent.apply(this, arguments); }, /** Handle properties of on[event] type. @method handleEventProps @private */ handleEventProps: function(dispatches) { var self = this; this.bind(dispatches.join(' '), function(e) { var prop = 'on' + e.type.toLowerCase(); if (Basic.typeOf(this[prop]) === 'function') { this[prop].apply(this, arguments); } }); // object must have defined event properties, even if it doesn't make use of them Basic.each(dispatches, function(prop) { prop = 'on' + prop.toLowerCase(prop); if (Basic.typeOf(self[prop]) === 'undefined') { self[prop] = null; } }); } }); } EventTarget.instance = new EventTarget(); return EventTarget; }); // Included from: src/javascript/runtime/Runtime.js /** * Runtime.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ define('moxie/runtime/Runtime', [ "moxie/core/utils/Env", "moxie/core/utils/Basic", "moxie/core/utils/Dom", "moxie/core/EventTarget" ], function(Env, Basic, Dom, EventTarget) { var runtimeConstructors = {}, runtimes = {}; /** Common set of methods and properties for every runtime instance @class Runtime @param {Object} options @param {String} type Sanitized name of the runtime @param {Object} [caps] Set of capabilities that differentiate specified runtime @param {Object} [modeCaps] Set of capabilities that do require specific operational mode @param {String} [preferredMode='browser'] Preferred operational mode to choose if no required capabilities were requested */ function Runtime(options, type, caps, modeCaps, preferredMode) { /** Dispatched when runtime is initialized and ready. Results in RuntimeInit on a connected component. @event Init */ /** Dispatched when runtime fails to initialize. Results in RuntimeError on a connected component. @event Error */ var self = this , _shim , _uid = Basic.guid(type + '_') , defaultMode = preferredMode || 'browser' ; options = options || {}; // register runtime in private hash runtimes[_uid] = this; /** Default set of capabilities, which can be redifined later by specific runtime @private @property caps @type Object */ caps = Basic.extend({ // Runtime can: // provide access to raw binary data of the file access_binary: false, // provide access to raw binary data of the image (image extension is optional) access_image_binary: false, // display binary data as thumbs for example display_media: false, // make cross-domain requests do_cors: false, // accept files dragged and dropped from the desktop drag_and_drop: false, // filter files in selection dialog by their extensions filter_by_extension: true, // resize image (and manipulate it raw data of any file in general) resize_image: false, // periodically report how many bytes of total in the file were uploaded (loaded) report_upload_progress: false, // provide access to the headers of http response return_response_headers: false, // support response of specific type, which should be passed as an argument // e.g. runtime.can('return_response_type', 'blob') return_response_type: false, // return http status code of the response return_status_code: true, // send custom http header with the request send_custom_headers: false, // pick up the files from a dialog select_file: false, // select whole folder in file browse dialog select_folder: false, // select multiple files at once in file browse dialog select_multiple: true, // send raw binary data, that is generated after image resizing or manipulation of other kind send_binary_string: false, // send cookies with http request and therefore retain session send_browser_cookies: true, // send data formatted as multipart/form-data send_multipart: true, // slice the file or blob to smaller parts slice_blob: false, // upload file without preloading it to memory, stream it out directly from disk stream_upload: false, // programmatically trigger file browse dialog summon_file_dialog: false, // upload file of specific size, size should be passed as argument // e.g. runtime.can('upload_filesize', '500mb') upload_filesize: true, // initiate http request with specific http method, method should be passed as argument // e.g. runtime.can('use_http_method', 'put') use_http_method: true }, caps); // default to the mode that is compatible with preferred caps if (options.preferred_caps) { defaultMode = Runtime.getMode(modeCaps, options.preferred_caps, defaultMode); } if (MXI_DEBUG && Env.debug.runtime) { Env.log("\tdefault mode: %s", defaultMode); } // small extension factory here (is meant to be extended with actual extensions constructors) _shim = (function() { var objpool = {}; return { exec: function(uid, comp, fn, args) { if (_shim[comp]) { if (!objpool[uid]) { objpool[uid] = { context: this, instance: new _shim[comp]() }; } if (objpool[uid].instance[fn]) { return objpool[uid].instance[fn].apply(this, args); } } }, removeInstance: function(uid) { delete objpool[uid]; }, removeAllInstances: function() { var self = this; Basic.each(objpool, function(obj, uid) { if (Basic.typeOf(obj.instance.destroy) === 'function') { obj.instance.destroy.call(obj.context); } self.removeInstance(uid); }); } }; }()); // public methods Basic.extend(this, { /** Specifies whether runtime instance was initialized or not @property initialized @type {Boolean} @default false */ initialized: false, // shims require this flag to stop initialization retries /** Unique ID of the runtime @property uid @type {String} */ uid: _uid, /** Runtime type (e.g. flash, html5, etc) @property type @type {String} */ type: type, /** Runtime (not native one) may operate in browser or client mode. @property mode @private @type {String|Boolean} current mode or false, if none possible */ mode: Runtime.getMode(modeCaps, (options.required_caps), defaultMode), /** id of the DOM container for the runtime (if available) @property shimid @type {String} */ shimid: _uid + '_container', /** Number of connected clients. If equal to zero, runtime can be destroyed @property clients @type {Number} */ clients: 0, /** Runtime initialization options @property options @type {Object} */ options: options, /** Checks if the runtime has specific capability @method can @param {String} cap Name of capability to check @param {Mixed} [value] If passed, capability should somehow correlate to the value @param {Object} [refCaps] Set of capabilities to check the specified cap against (defaults to internal set) @return {Boolean} true if runtime has such capability and false, if - not */ can: function(cap, value) { var refCaps = arguments[2] || caps; // if cap var is a comma-separated list of caps, convert it to object (key/value) if (Basic.typeOf(cap) === 'string' && Basic.typeOf(value) === 'undefined') { cap = Runtime.parseCaps(cap); } if (Basic.typeOf(cap) === 'object') { for (var key in cap) { if (!this.can(key, cap[key], refCaps)) { return false; } } return true; } // check the individual cap if (Basic.typeOf(refCaps[cap]) === 'function') { return refCaps[cap].call(this, value); } else { return (value === refCaps[cap]); } }, /** Returns container for the runtime as DOM element @method getShimContainer @return {DOMElement} */ getShimContainer: function() { var container, shimContainer = Dom.get(this.shimid); // if no container for shim, create one if (!shimContainer) { container = this.options.container ? Dom.get(this.options.container) : document.body; // create shim container and insert it at an absolute position into the outer container shimContainer = document.createElement('div'); shimContainer.id = this.shimid; shimContainer.className = 'moxie-shim moxie-shim-' + this.type; Basic.extend(shimContainer.style, { position: 'absolute', top: '0px', left: '0px', width: '1px', height: '1px', overflow: 'hidden' }); container.appendChild(shimContainer); container = null; } return shimContainer; }, /** Returns runtime as DOM element (if appropriate) @method getShim @return {DOMElement} */ getShim: function() { return _shim; }, /** Invokes a method within the runtime itself (might differ across the runtimes) @method shimExec @param {Mixed} [] @protected @return {Mixed} Depends on the action and component */ shimExec: function(component, action) { var args = [].slice.call(arguments, 2); return self.getShim().exec.call(this, this.uid, component, action, args); }, /** Operaional interface that is used by components to invoke specific actions on the runtime (is invoked in the scope of component) @method exec @param {Mixed} []* @protected @return {Mixed} Depends on the action and component */ exec: function(component, action) { // this is called in the context of component, not runtime var args = [].slice.call(arguments, 2); if (self[component] && self[component][action]) { return self[component][action].apply(this, args); } return self.shimExec.apply(this, arguments); }, /** Destroys the runtime (removes all events and deletes DOM structures) @method destroy */ destroy: function() { if (!self) { return; // obviously already destroyed } var shimContainer = Dom.get(this.shimid); if (shimContainer) { shimContainer.parentNode.removeChild(shimContainer); } if (_shim) { _shim.removeAllInstances(); } this.unbindAll(); delete runtimes[this.uid]; this.uid = null; // mark this runtime as destroyed _uid = self = _shim = shimContainer = null; } }); // once we got the mode, test against all caps if (this.mode && options.required_caps && !this.can(options.required_caps)) { this.mode = false; } } /** Default order to try different runtime types @property order @type String @static */ Runtime.order = 'html5,html4'; /** Retrieves runtime from private hash by it's uid @method getRuntime @private @static @param {String} uid Unique identifier of the runtime @return {Runtime|Boolean} Returns runtime, if it exists and false, if - not */ Runtime.getRuntime = function(uid) { return runtimes[uid] ? runtimes[uid] : false; }; /** Register constructor for the Runtime of new (or perhaps modified) type @method addConstructor @static @param {String} type Runtime type (e.g. flash, html5, etc) @param {Function} construct Constructor for the Runtime type */ Runtime.addConstructor = function(type, constructor) { constructor.prototype = EventTarget.instance; runtimeConstructors[type] = constructor; }; /** Get the constructor for the specified type. method getConstructor @static @param {String} type Runtime type (e.g. flash, html5, etc) @return {Function} Constructor for the Runtime type */ Runtime.getConstructor = function(type) { return runtimeConstructors[type] || null; }; /** Get info about the runtime (uid, type, capabilities) @method getInfo @static @param {String} uid Unique identifier of the runtime @return {Mixed} Info object or null if runtime doesn't exist */ Runtime.getInfo = function(uid) { var runtime = Runtime.getRuntime(uid); if (runtime) { return { uid: runtime.uid, type: runtime.type, mode: runtime.mode, can: function() { return runtime.can.apply(runtime, arguments); } }; } return null; }; /** Convert caps represented by a comma-separated string to the object representation. @method parseCaps @static @param {String} capStr Comma-separated list of capabilities @return {Object} */ Runtime.parseCaps = function(capStr) { var capObj = {}; if (Basic.typeOf(capStr) !== 'string') { return capStr || {}; } Basic.each(capStr.split(','), function(key) { capObj[key] = true; // we assume it to be - true }); return capObj; }; /** Test the specified runtime for specific capabilities. @method can @static @param {String} type Runtime type (e.g. flash, html5, etc) @param {String|Object} caps Set of capabilities to check @return {Boolean} Result of the test */ Runtime.can = function(type, caps) { var runtime , constructor = Runtime.getConstructor(type) , mode ; if (constructor) { runtime = new constructor({ required_caps: caps }); mode = runtime.mode; runtime.destroy(); return !!mode; } return false; }; /** Figure out a runtime that supports specified capabilities. @method thatCan @static @param {String|Object} caps Set of capabilities to check @param {String} [runtimeOrder] Comma-separated list of runtimes to check against @return {String} Usable runtime identifier or null */ Runtime.thatCan = function(caps, runtimeOrder) { var types = (runtimeOrder || Runtime.order).split(/\s*,\s*/); for (var i in types) { if (Runtime.can(types[i], caps)) { return types[i]; } } return null; }; /** Figure out an operational mode for the specified set of capabilities. @method getMode @static @param {Object} modeCaps Set of capabilities that depend on particular runtime mode @param {Object} [requiredCaps] Supplied set of capabilities to find operational mode for @param {String|Boolean} [defaultMode='browser'] Default mode to use @return {String|Boolean} Compatible operational mode */ Runtime.getMode = function(modeCaps, requiredCaps, defaultMode) { var mode = null; if (Basic.typeOf(defaultMode) === 'undefined') { // only if not specified defaultMode = 'browser'; } if (requiredCaps && !Basic.isEmptyObj(modeCaps)) { // loop over required caps and check if they do require the same mode Basic.each(requiredCaps, function(value, cap) { if (modeCaps.hasOwnProperty(cap)) { var capMode = modeCaps[cap](value); // make sure we always have an array if (typeof(capMode) === 'string') { capMode = [capMode]; } if (!mode) { mode = capMode; } else if (!(mode = Basic.arrayIntersect(mode, capMode))) { // if cap requires conflicting mode - runtime cannot fulfill required caps if (MXI_DEBUG && Env.debug.runtime) { Env.log("\t\t%c: %v (conflicting mode requested: %s)", cap, value, capMode); } return (mode = false); } } if (MXI_DEBUG && Env.debug.runtime) { Env.log("\t\t%c: %v (compatible modes: %s)", cap, value, mode); } }); if (mode) { return Basic.inArray(defaultMode, mode) !== -1 ? defaultMode : mode[0]; } else if (mode === false) { return false; } } return defaultMode; }; /** Capability check that always returns true @private @static @return {True} */ Runtime.capTrue = function() { return true; }; /** Capability check that always returns false @private @static @return {False} */ Runtime.capFalse = function() { return false; }; /** Evaluate the expression to boolean value and create a function that always returns it. @private @static @param {Mixed} expr Expression to evaluate @return {Function} Function returning the result of evaluation */ Runtime.capTest = function(expr) { return function() { return !!expr; }; }; return Runtime; }); // Included from: src/javascript/runtime/RuntimeClient.js /** * RuntimeClient.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ define('moxie/runtime/RuntimeClient', [ 'moxie/core/utils/Env', 'moxie/core/Exceptions', 'moxie/core/utils/Basic', 'moxie/runtime/Runtime' ], function(Env, x, Basic, Runtime) { /** Set of methods and properties, required by a component to acquire ability to connect to a runtime @class RuntimeClient */ return function RuntimeClient() { var runtime; Basic.extend(this, { /** Connects to the runtime specified by the options. Will either connect to existing runtime or create a new one. Increments number of clients connected to the specified runtime. @private @method connectRuntime @param {Mixed} options Can be a runtme uid or a set of key-value pairs defining requirements and pre-requisites */ connectRuntime: function(options) { var comp = this, ruid; function initialize(items) { var type, constructor; // if we ran out of runtimes if (!items.length) { comp.trigger('RuntimeError', new x.RuntimeError(x.RuntimeError.NOT_INIT_ERR)); runtime = null; return; } type = items.shift().toLowerCase(); constructor = Runtime.getConstructor(type); if (!constructor) { initialize(items); return; } if (MXI_DEBUG && Env.debug.runtime) { Env.log("Trying runtime: %s", type); Env.log(options); } // try initializing the runtime runtime = new constructor(options); runtime.bind('Init', function() { // mark runtime as initialized runtime.initialized = true; if (MXI_DEBUG && Env.debug.runtime) { Env.log("Runtime '%s' initialized", runtime.type); } // jailbreak ... setTimeout(function() { runtime.clients++; // this will be triggered on component comp.trigger('RuntimeInit', runtime); }, 1); }); runtime.bind('Error', function() { if (MXI_DEBUG && Env.debug.runtime) { Env.log("Runtime '%s' failed to initialize", runtime.type); } runtime.destroy(); // runtime cannot destroy itself from inside at a right moment, thus we do it here initialize(items); }); /*runtime.bind('Exception', function() { });*/ if (MXI_DEBUG && Env.debug.runtime) { Env.log("\tselected mode: %s", runtime.mode); } // check if runtime managed to pick-up operational mode if (!runtime.mode) { runtime.trigger('Error'); return; } runtime.init(); } // check if a particular runtime was requested if (Basic.typeOf(options) === 'string') { ruid = options; } else if (Basic.typeOf(options.ruid) === 'string') { ruid = options.ruid; } if (ruid) { runtime = Runtime.getRuntime(ruid); if (runtime) { runtime.clients++; return runtime; } else { // there should be a runtime and there's none - weird case throw new x.RuntimeError(x.RuntimeError.NOT_INIT_ERR); } } // initialize a fresh one, that fits runtime list and required features best initialize((options.runtime_order || Runtime.order).split(/\s*,\s*/)); }, /** Disconnects from the runtime. Decrements number of clients connected to the specified runtime. @private @method disconnectRuntime */ disconnectRuntime: function() { if (runtime && --runtime.clients <= 0) { runtime.destroy(); } // once the component is disconnected, it shouldn't have access to the runtime runtime = null; }, /** Returns the runtime to which the client is currently connected. @method getRuntime @return {Runtime} Runtime or null if client is not connected */ getRuntime: function() { if (runtime && runtime.uid) { return runtime; } return runtime = null; // make sure we do not leave zombies rambling around }, /** Handy shortcut to safely invoke runtime extension methods. @private @method exec @return {Mixed} Whatever runtime extension method returns */ exec: function() { if (runtime) { return runtime.exec.apply(this, arguments); } return null; } }); }; }); // Included from: src/javascript/file/FileInput.js /** * FileInput.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ define('moxie/file/FileInput', [ 'moxie/core/utils/Basic', 'moxie/core/utils/Env', 'moxie/core/utils/Mime', 'moxie/core/utils/Dom', 'moxie/core/Exceptions', 'moxie/core/EventTarget', 'moxie/core/I18n', 'moxie/runtime/Runtime', 'moxie/runtime/RuntimeClient' ], function(Basic, Env, Mime, Dom, x, EventTarget, I18n, Runtime, RuntimeClient) { /** Provides a convenient way to create cross-browser file-picker. Generates file selection dialog on click, converts selected files to _File_ objects, to be used in conjunction with _Image_, preloaded in memory with _FileReader_ or uploaded to a server through _XMLHttpRequest_. @class FileInput @constructor @extends EventTarget @uses RuntimeClient @param {Object|String|DOMElement} options If options is string or node, argument is considered as _browse\_button_. @param {String|DOMElement} options.browse_button DOM Element to turn into file picker. @param {Array} [options.accept] Array of mime types to accept. By default accepts all. @param {String} [options.file='file'] Name of the file field (not the filename). @param {Boolean} [options.multiple=false] Enable selection of multiple files. @param {Boolean} [options.directory=false] Turn file input into the folder input (cannot be both at the same time). @param {String|DOMElement} [options.container] DOM Element to use as a container for file-picker. Defaults to parentNode for _browse\_button_. @param {Object|String} [options.required_caps] Set of required capabilities, that chosen runtime must support. @example */ var dispatches = [ /** Dispatched when runtime is connected and file-picker is ready to be used. @event ready @param {Object} event */ 'ready', /** Dispatched right after [ready](#event_ready) event, and whenever [refresh()](#method_refresh) is invoked. Check [corresponding documentation entry](#method_refresh) for more info. @event refresh @param {Object} event */ /** Dispatched when selection of files in the dialog is complete. @event change @param {Object} event */ 'change', 'cancel', // TODO: might be useful /** Dispatched when mouse cursor enters file-picker area. Can be used to style element accordingly. @event mouseenter @param {Object} event */ 'mouseenter', /** Dispatched when mouse cursor leaves file-picker area. Can be used to style element accordingly. @event mouseleave @param {Object} event */ 'mouseleave', /** Dispatched when functional mouse button is pressed on top of file-picker area. @event mousedown @param {Object} event */ 'mousedown', /** Dispatched when functional mouse button is released on top of file-picker area. @event mouseup @param {Object} event */ 'mouseup' ]; function FileInput(options) { if (MXI_DEBUG) { Env.log("Instantiating FileInput..."); } var self = this, container, browseButton, defaults; // if flat argument passed it should be browse_button id if (Basic.inArray(Basic.typeOf(options), ['string', 'node']) !== -1) { options = { browse_button : options }; } // this will help us to find proper default container browseButton = Dom.get(options.browse_button); if (!browseButton) { // browse button is required throw new x.DOMException(x.DOMException.NOT_FOUND_ERR); } // figure out the options defaults = { accept: [{ title: I18n.translate('All Files'), extensions: '*' }], name: 'file', multiple: false, required_caps: false, container: browseButton.parentNode || document.body }; options = Basic.extend({}, defaults, options); // convert to object representation if (typeof(options.required_caps) === 'string') { options.required_caps = Runtime.parseCaps(options.required_caps); } // normalize accept option (could be list of mime types or array of title/extensions pairs) if (typeof(options.accept) === 'string') { options.accept = Mime.mimes2extList(options.accept); } container = Dom.get(options.container); // make sure we have container if (!container) { container = document.body; } // make container relative, if it's not if (Dom.getStyle(container, 'position') === 'static') { container.style.position = 'relative'; } container = browseButton = null; // IE RuntimeClient.call(self); Basic.extend(self, { /** Unique id of the component @property uid @protected @readOnly @type {String} @default UID */ uid: Basic.guid('uid_'), /** Unique id of the connected runtime, if any. @property ruid @protected @type {String} */ ruid: null, /** Unique id of the runtime container. Useful to get hold of it for various manipulations. @property shimid @protected @type {String} */ shimid: null, /** Array of selected mOxie.File objects @property files @type {Array} @default null */ files: null, /** Initializes the file-picker, connects it to runtime and dispatches event ready when done. @method init */ init: function() { self.bind('RuntimeInit', function(e, runtime) { self.ruid = runtime.uid; self.shimid = runtime.shimid; self.bind("Ready", function() { self.trigger("Refresh"); }, 999); // re-position and resize shim container self.bind('Refresh', function() { var pos, size, browseButton, shimContainer; browseButton = Dom.get(options.browse_button); shimContainer = Dom.get(runtime.shimid); // do not use runtime.getShimContainer(), since it will create container if it doesn't exist if (browseButton) { pos = Dom.getPos(browseButton, Dom.get(options.container)); size = Dom.getSize(browseButton); if (shimContainer) { Basic.extend(shimContainer.style, { top : pos.y + 'px', left : pos.x + 'px', width : size.w + 'px', height : size.h + 'px' }); } } shimContainer = browseButton = null; }); runtime.exec.call(self, 'FileInput', 'init', options); }); // runtime needs: options.required_features, options.runtime_order and options.container self.connectRuntime(Basic.extend({}, options, { required_caps: { select_file: true } })); }, /** Disables file-picker element, so that it doesn't react to mouse clicks. @method disable @param {Boolean} [state=true] Disable component if - true, enable if - false */ disable: function(state) { var runtime = this.getRuntime(); if (runtime) { runtime.exec.call(this, 'FileInput', 'disable', Basic.typeOf(state) === 'undefined' ? true : state); } }, /** Reposition and resize dialog trigger to match the position and size of browse_button element. @method refresh */ refresh: function() { self.trigger("Refresh"); }, /** Destroy component. @method destroy */ destroy: function() { var runtime = this.getRuntime(); if (runtime) { runtime.exec.call(this, 'FileInput', 'destroy'); this.disconnectRuntime(); } if (Basic.typeOf(this.files) === 'array') { // no sense in leaving associated files behind Basic.each(this.files, function(file) { file.destroy(); }); } this.files = null; this.unbindAll(); } }); this.handleEventProps(dispatches); } FileInput.prototype = EventTarget.instance; return FileInput; }); // Included from: src/javascript/core/utils/Encode.js /** * Encode.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ define('moxie/core/utils/Encode', [], function() { /** Encode string with UTF-8 @method utf8_encode @for Utils @static @param {String} str String to encode @return {String} UTF-8 encoded string */ var utf8_encode = function(str) { return unescape(encodeURIComponent(str)); }; /** Decode UTF-8 encoded string @method utf8_decode @static @param {String} str String to decode @return {String} Decoded string */ var utf8_decode = function(str_data) { return decodeURIComponent(escape(str_data)); }; /** Decode Base64 encoded string (uses browser's default method if available), from: https://raw.github.com/kvz/phpjs/master/functions/url/base64_decode.js @method atob @static @param {String} data String to decode @return {String} Decoded string */ var atob = function(data, utf8) { if (typeof(window.atob) === 'function') { return utf8 ? utf8_decode(window.atob(data)) : window.atob(data); } // http://kevin.vanzonneveld.net // + original by: Tyler Akins (http://rumkin.com) // + improved by: Thunder.m // + input by: Aman Gupta // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + bugfixed by: Onno Marsman // + bugfixed by: Pellentesque Malesuada // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + input by: Brett Zamir (http://brett-zamir.me) // + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // * example 1: base64_decode('S2V2aW4gdmFuIFpvbm5ldmVsZA=='); // * returns 1: 'Kevin van Zonneveld' // mozilla has this native // - but breaks in 2.0.0.12! //if (typeof this.window.atob == 'function') { // return atob(data); //} var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; var o1, o2, o3, h1, h2, h3, h4, bits, i = 0, ac = 0, dec = "", tmp_arr = []; if (!data) { return data; } data += ''; do { // unpack four hexets into three octets using index points in b64 h1 = b64.indexOf(data.charAt(i++)); h2 = b64.indexOf(data.charAt(i++)); h3 = b64.indexOf(data.charAt(i++)); h4 = b64.indexOf(data.charAt(i++)); bits = h1 << 18 | h2 << 12 | h3 << 6 | h4; o1 = bits >> 16 & 0xff; o2 = bits >> 8 & 0xff; o3 = bits & 0xff; if (h3 == 64) { tmp_arr[ac++] = String.fromCharCode(o1); } else if (h4 == 64) { tmp_arr[ac++] = String.fromCharCode(o1, o2); } else { tmp_arr[ac++] = String.fromCharCode(o1, o2, o3); } } while (i < data.length); dec = tmp_arr.join(''); return utf8 ? utf8_decode(dec) : dec; }; /** Base64 encode string (uses browser's default method if available), from: https://raw.github.com/kvz/phpjs/master/functions/url/base64_encode.js @method btoa @static @param {String} data String to encode @return {String} Base64 encoded string */ var btoa = function(data, utf8) { if (utf8) { data = utf8_encode(data); } if (typeof(window.btoa) === 'function') { return window.btoa(data); } // http://kevin.vanzonneveld.net // + original by: Tyler Akins (http://rumkin.com) // + improved by: Bayron Guevara // + improved by: Thunder.m // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + bugfixed by: Pellentesque Malesuada // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + improved by: Rafał Kukawski (http://kukawski.pl) // * example 1: base64_encode('Kevin van Zonneveld'); // * returns 1: 'S2V2aW4gdmFuIFpvbm5ldmVsZA==' // mozilla has this native // - but breaks in 2.0.0.12! var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; var o1, o2, o3, h1, h2, h3, h4, bits, i = 0, ac = 0, enc = "", tmp_arr = []; if (!data) { return data; } do { // pack three octets into four hexets o1 = data.charCodeAt(i++); o2 = data.charCodeAt(i++); o3 = data.charCodeAt(i++); bits = o1 << 16 | o2 << 8 | o3; h1 = bits >> 18 & 0x3f; h2 = bits >> 12 & 0x3f; h3 = bits >> 6 & 0x3f; h4 = bits & 0x3f; // use hexets to index into b64, and append result to encoded string tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4); } while (i < data.length); enc = tmp_arr.join(''); var r = data.length % 3; return (r ? enc.slice(0, r - 3) : enc) + '==='.slice(r || 3); }; return { utf8_encode: utf8_encode, utf8_decode: utf8_decode, atob: atob, btoa: btoa }; }); // Included from: src/javascript/file/Blob.js /** * Blob.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ define('moxie/file/Blob', [ 'moxie/core/utils/Basic', 'moxie/core/utils/Encode', 'moxie/runtime/RuntimeClient' ], function(Basic, Encode, RuntimeClient) { var blobpool = {}; /** @class Blob @constructor @param {String} ruid Unique id of the runtime, to which this blob belongs to @param {Object} blob Object "Native" blob object, as it is represented in the runtime */ function Blob(ruid, blob) { function _sliceDetached(start, end, type) { var blob, data = blobpool[this.uid]; if (Basic.typeOf(data) !== 'string' || !data.length) { return null; // or throw exception } blob = new Blob(null, { type: type, size: end - start }); blob.detach(data.substr(start, blob.size)); return blob; } RuntimeClient.call(this); if (ruid) { this.connectRuntime(ruid); } if (!blob) { blob = {}; } else if (Basic.typeOf(blob) === 'string') { // dataUrl or binary string blob = { data: blob }; } Basic.extend(this, { /** Unique id of the component @property uid @type {String} */ uid: blob.uid || Basic.guid('uid_'), /** Unique id of the connected runtime, if falsy, then runtime will have to be initialized before this Blob can be used, modified or sent @property ruid @type {String} */ ruid: ruid, /** Size of blob @property size @type {Number} @default 0 */ size: blob.size || 0, /** Mime type of blob @property type @type {String} @default '' */ type: blob.type || '', /** @method slice @param {Number} [start=0] */ slice: function(start, end, type) { if (this.isDetached()) { return _sliceDetached.apply(this, arguments); } return this.getRuntime().exec.call(this, 'Blob', 'slice', this.getSource(), start, end, type); }, /** Returns "native" blob object (as it is represented in connected runtime) or null if not found @method getSource @return {Blob} Returns "native" blob object or null if not found */ getSource: function() { if (!blobpool[this.uid]) { return null; } return blobpool[this.uid]; }, /** Detaches blob from any runtime that it depends on and initialize with standalone value @method detach @protected @param {DOMString} [data=''] Standalone value */ detach: function(data) { if (this.ruid) { this.getRuntime().exec.call(this, 'Blob', 'destroy'); this.disconnectRuntime(); this.ruid = null; } data = data || ''; // if dataUrl, convert to binary string if (data.substr(0, 5) == 'data:') { var base64Offset = data.indexOf(';base64,'); this.type = data.substring(5, base64Offset); data = Encode.atob(data.substring(base64Offset + 8)); } this.size = data.length; blobpool[this.uid] = data; }, /** Checks if blob is standalone (detached of any runtime) @method isDetached @protected @return {Boolean} */ isDetached: function() { return !this.ruid && Basic.typeOf(blobpool[this.uid]) === 'string'; }, /** Destroy Blob and free any resources it was using @method destroy */ destroy: function() { this.detach(); delete blobpool[this.uid]; } }); if (blob.data) { this.detach(blob.data); // auto-detach if payload has been passed } else { blobpool[this.uid] = blob; } } return Blob; }); // Included from: src/javascript/file/File.js /** * File.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ define('moxie/file/File', [ 'moxie/core/utils/Basic', 'moxie/core/utils/Mime', 'moxie/file/Blob' ], function(Basic, Mime, Blob) { /** @class File @extends Blob @constructor @param {String} ruid Unique id of the runtime, to which this blob belongs to @param {Object} file Object "Native" file object, as it is represented in the runtime */ function File(ruid, file) { if (!file) { // avoid extra errors in case we overlooked something file = {}; } Blob.apply(this, arguments); if (!this.type) { this.type = Mime.getFileMime(file.name); } // sanitize file name or generate new one var name; if (file.name) { name = file.name.replace(/\\/g, '/'); name = name.substr(name.lastIndexOf('/') + 1); } else if (this.type) { var prefix = this.type.split('/')[0]; name = Basic.guid((prefix !== '' ? prefix : 'file') + '_'); if (Mime.extensions[this.type]) { name += '.' + Mime.extensions[this.type][0]; // append proper extension if possible } } Basic.extend(this, { /** File name @property name @type {String} @default UID */ name: name || Basic.guid('file_'), /** Relative path to the file inside a directory @property relativePath @type {String} @default '' */ relativePath: '', /** Date of last modification @property lastModifiedDate @type {String} @default now */ lastModifiedDate: file.lastModifiedDate || (new Date()).toLocaleString() // Thu Aug 23 2012 19:40:00 GMT+0400 (GET) }); } File.prototype = Blob.prototype; return File; }); // Included from: src/javascript/file/FileDrop.js /** * FileDrop.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ define('moxie/file/FileDrop', [ 'moxie/core/I18n', 'moxie/core/utils/Dom', 'moxie/core/Exceptions', 'moxie/core/utils/Basic', 'moxie/core/utils/Env', 'moxie/file/File', 'moxie/runtime/RuntimeClient', 'moxie/core/EventTarget', 'moxie/core/utils/Mime' ], function(I18n, Dom, x, Basic, Env, File, RuntimeClient, EventTarget, Mime) { /** Turn arbitrary DOM element to a drop zone accepting files. Converts selected files to _File_ objects, to be used in conjunction with _Image_, preloaded in memory with _FileReader_ or uploaded to a server through _XMLHttpRequest_. @example
        Drop files here

        @class FileDrop @constructor @extends EventTarget @uses RuntimeClient @param {Object|String} options If options has typeof string, argument is considered as options.drop_zone @param {String|DOMElement} options.drop_zone DOM Element to turn into a drop zone @param {Array} [options.accept] Array of mime types to accept. By default accepts all @param {Object|String} [options.required_caps] Set of required capabilities, that chosen runtime must support */ var dispatches = [ /** Dispatched when runtime is connected and drop zone is ready to accept files. @event ready @param {Object} event */ 'ready', /** Dispatched when dragging cursor enters the drop zone. @event dragenter @param {Object} event */ 'dragenter', /** Dispatched when dragging cursor leaves the drop zone. @event dragleave @param {Object} event */ 'dragleave', /** Dispatched when file is dropped onto the drop zone. @event drop @param {Object} event */ 'drop', /** Dispatched if error occurs. @event error @param {Object} event */ 'error' ]; function FileDrop(options) { if (MXI_DEBUG) { Env.log("Instantiating FileDrop..."); } var self = this, defaults; // if flat argument passed it should be drop_zone id if (typeof(options) === 'string') { options = { drop_zone : options }; } // figure out the options defaults = { accept: [{ title: I18n.translate('All Files'), extensions: '*' }], required_caps: { drag_and_drop: true } }; options = typeof(options) === 'object' ? Basic.extend({}, defaults, options) : defaults; // this will help us to find proper default container options.container = Dom.get(options.drop_zone) || document.body; // make container relative, if it is not if (Dom.getStyle(options.container, 'position') === 'static') { options.container.style.position = 'relative'; } // normalize accept option (could be list of mime types or array of title/extensions pairs) if (typeof(options.accept) === 'string') { options.accept = Mime.mimes2extList(options.accept); } RuntimeClient.call(self); Basic.extend(self, { uid: Basic.guid('uid_'), ruid: null, files: null, init: function() { self.bind('RuntimeInit', function(e, runtime) { self.ruid = runtime.uid; runtime.exec.call(self, 'FileDrop', 'init', options); self.dispatchEvent('ready'); }); // runtime needs: options.required_features, options.runtime_order and options.container self.connectRuntime(options); // throws RuntimeError }, destroy: function() { var runtime = this.getRuntime(); if (runtime) { runtime.exec.call(this, 'FileDrop', 'destroy'); this.disconnectRuntime(); } this.files = null; this.unbindAll(); } }); this.handleEventProps(dispatches); } FileDrop.prototype = EventTarget.instance; return FileDrop; }); // Included from: src/javascript/file/FileReader.js /** * FileReader.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ define('moxie/file/FileReader', [ 'moxie/core/utils/Basic', 'moxie/core/utils/Encode', 'moxie/core/Exceptions', 'moxie/core/EventTarget', 'moxie/file/Blob', 'moxie/runtime/RuntimeClient' ], function(Basic, Encode, x, EventTarget, Blob, RuntimeClient) { /** Utility for preloading o.Blob/o.File objects in memory. By design closely follows [W3C FileReader](http://www.w3.org/TR/FileAPI/#dfn-filereader) interface. Where possible uses native FileReader, where - not falls back to shims. @class FileReader @constructor FileReader @extends EventTarget @uses RuntimeClient */ var dispatches = [ /** Dispatched when the read starts. @event loadstart @param {Object} event */ 'loadstart', /** Dispatched while reading (and decoding) blob, and reporting partial Blob data (progess.loaded/progress.total). @event progress @param {Object} event */ 'progress', /** Dispatched when the read has successfully completed. @event load @param {Object} event */ 'load', /** Dispatched when the read has been aborted. For instance, by invoking the abort() method. @event abort @param {Object} event */ 'abort', /** Dispatched when the read has failed. @event error @param {Object} event */ 'error', /** Dispatched when the request has completed (either in success or failure). @event loadend @param {Object} event */ 'loadend' ]; function FileReader() { RuntimeClient.call(this); Basic.extend(this, { /** UID of the component instance. @property uid @type {String} */ uid: Basic.guid('uid_'), /** Contains current state of FileReader object. Can take values of FileReader.EMPTY, FileReader.LOADING and FileReader.DONE. @property readyState @type {Number} @default FileReader.EMPTY */ readyState: FileReader.EMPTY, /** Result of the successful read operation. @property result @type {String} */ result: null, /** Stores the error of failed asynchronous read operation. @property error @type {DOMError} */ error: null, /** Initiates reading of File/Blob object contents to binary string. @method readAsBinaryString @param {Blob|File} blob Object to preload */ readAsBinaryString: function(blob) { _read.call(this, 'readAsBinaryString', blob); }, /** Initiates reading of File/Blob object contents to dataURL string. @method readAsDataURL @param {Blob|File} blob Object to preload */ readAsDataURL: function(blob) { _read.call(this, 'readAsDataURL', blob); }, /** Initiates reading of File/Blob object contents to string. @method readAsText @param {Blob|File} blob Object to preload */ readAsText: function(blob) { _read.call(this, 'readAsText', blob); }, /** Aborts preloading process. @method abort */ abort: function() { this.result = null; if (Basic.inArray(this.readyState, [FileReader.EMPTY, FileReader.DONE]) !== -1) { return; } else if (this.readyState === FileReader.LOADING) { this.readyState = FileReader.DONE; } this.exec('FileReader', 'abort'); this.trigger('abort'); this.trigger('loadend'); }, /** Destroy component and release resources. @method destroy */ destroy: function() { this.abort(); this.exec('FileReader', 'destroy'); this.disconnectRuntime(); this.unbindAll(); } }); // uid must already be assigned this.handleEventProps(dispatches); this.bind('Error', function(e, err) { this.readyState = FileReader.DONE; this.error = err; }, 999); this.bind('Load', function(e) { this.readyState = FileReader.DONE; }, 999); function _read(op, blob) { var self = this; this.trigger('loadstart'); if (this.readyState === FileReader.LOADING) { this.trigger('error', new x.DOMException(x.DOMException.INVALID_STATE_ERR)); this.trigger('loadend'); return; } // if source is not o.Blob/o.File if (!(blob instanceof Blob)) { this.trigger('error', new x.DOMException(x.DOMException.NOT_FOUND_ERR)); this.trigger('loadend'); return; } this.result = null; this.readyState = FileReader.LOADING; if (blob.isDetached()) { var src = blob.getSource(); switch (op) { case 'readAsText': case 'readAsBinaryString': this.result = src; break; case 'readAsDataURL': this.result = 'data:' + blob.type + ';base64,' + Encode.btoa(src); break; } this.readyState = FileReader.DONE; this.trigger('load'); this.trigger('loadend'); } else { this.connectRuntime(blob.ruid); this.exec('FileReader', 'read', op, blob); } } } /** Initial FileReader state @property EMPTY @type {Number} @final @static @default 0 */ FileReader.EMPTY = 0; /** FileReader switches to this state when it is preloading the source @property LOADING @type {Number} @final @static @default 1 */ FileReader.LOADING = 1; /** Preloading is complete, this is a final state @property DONE @type {Number} @final @static @default 2 */ FileReader.DONE = 2; FileReader.prototype = EventTarget.instance; return FileReader; }); // Included from: src/javascript/core/utils/Url.js /** * Url.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ define('moxie/core/utils/Url', [], function() { /** Parse url into separate components and fill in absent parts with parts from current url, based on https://raw.github.com/kvz/phpjs/master/functions/url/parse_url.js @method parseUrl @for Utils @static @param {String} url Url to parse (defaults to empty string if undefined) @return {Object} Hash containing extracted uri components */ var parseUrl = function(url, currentUrl) { var key = ['source', 'scheme', 'authority', 'userInfo', 'user', 'pass', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'fragment'] , i = key.length , ports = { http: 80, https: 443 } , uri = {} , regex = /^(?:([^:\/?#]+):)?(?:\/\/()(?:(?:()(?:([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?))?()(?:(()(?:(?:[^?#\/]*\/)*)()(?:[^?#]*))(?:\\?([^#]*))?(?:#(.*))?)/ , m = regex.exec(url || '') ; while (i--) { if (m[i]) { uri[key[i]] = m[i]; } } // when url is relative, we set the origin and the path ourselves if (!uri.scheme) { // come up with defaults if (!currentUrl || typeof(currentUrl) === 'string') { currentUrl = parseUrl(currentUrl || document.location.href); } uri.scheme = currentUrl.scheme; uri.host = currentUrl.host; uri.port = currentUrl.port; var path = ''; // for urls without trailing slash we need to figure out the path if (/^[^\/]/.test(uri.path)) { path = currentUrl.path; // if path ends with a filename, strip it if (/\/[^\/]*\.[^\/]*$/.test(path)) { path = path.replace(/\/[^\/]+$/, '/'); } else { // avoid double slash at the end (see #127) path = path.replace(/\/?$/, '/'); } } uri.path = path + (uri.path || ''); // site may reside at domain.com or domain.com/subdir } if (!uri.port) { uri.port = ports[uri.scheme] || 80; } uri.port = parseInt(uri.port, 10); if (!uri.path) { uri.path = "/"; } delete uri.source; return uri; }; /** Resolve url - among other things will turn relative url to absolute @method resolveUrl @static @param {String|Object} url Either absolute or relative, or a result of parseUrl call @return {String} Resolved, absolute url */ var resolveUrl = function(url) { var ports = { // we ignore default ports http: 80, https: 443 } , urlp = typeof(url) === 'object' ? url : parseUrl(url); ; return urlp.scheme + '://' + urlp.host + (urlp.port !== ports[urlp.scheme] ? ':' + urlp.port : '') + urlp.path + (urlp.query ? urlp.query : ''); }; /** Check if specified url has the same origin as the current document @method hasSameOrigin @param {String|Object} url @return {Boolean} */ var hasSameOrigin = function(url) { function origin(url) { return [url.scheme, url.host, url.port].join('/'); } if (typeof url === 'string') { url = parseUrl(url); } return origin(parseUrl()) === origin(url); }; return { parseUrl: parseUrl, resolveUrl: resolveUrl, hasSameOrigin: hasSameOrigin }; }); // Included from: src/javascript/runtime/RuntimeTarget.js /** * RuntimeTarget.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ define('moxie/runtime/RuntimeTarget', [ 'moxie/core/utils/Basic', 'moxie/runtime/RuntimeClient', "moxie/core/EventTarget" ], function(Basic, RuntimeClient, EventTarget) { /** Instance of this class can be used as a target for the events dispatched by shims, when allowing them onto components is for either reason inappropriate @class RuntimeTarget @constructor @protected @extends EventTarget */ function RuntimeTarget() { this.uid = Basic.guid('uid_'); RuntimeClient.call(this); this.destroy = function() { this.disconnectRuntime(); this.unbindAll(); }; } RuntimeTarget.prototype = EventTarget.instance; return RuntimeTarget; }); // Included from: src/javascript/file/FileReaderSync.js /** * FileReaderSync.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ define('moxie/file/FileReaderSync', [ 'moxie/core/utils/Basic', 'moxie/runtime/RuntimeClient', 'moxie/core/utils/Encode' ], function(Basic, RuntimeClient, Encode) { /** Synchronous FileReader implementation. Something like this is available in WebWorkers environment, here it can be used to read only preloaded blobs/files and only below certain size (not yet sure what that'd be, but probably < 1mb). Not meant to be used directly by user. @class FileReaderSync @private @constructor */ return function() { RuntimeClient.call(this); Basic.extend(this, { uid: Basic.guid('uid_'), readAsBinaryString: function(blob) { return _read.call(this, 'readAsBinaryString', blob); }, readAsDataURL: function(blob) { return _read.call(this, 'readAsDataURL', blob); }, /*readAsArrayBuffer: function(blob) { return _read.call(this, 'readAsArrayBuffer', blob); },*/ readAsText: function(blob) { return _read.call(this, 'readAsText', blob); } }); function _read(op, blob) { if (blob.isDetached()) { var src = blob.getSource(); switch (op) { case 'readAsBinaryString': return src; case 'readAsDataURL': return 'data:' + blob.type + ';base64,' + Encode.btoa(src); case 'readAsText': var txt = ''; for (var i = 0, length = src.length; i < length; i++) { txt += String.fromCharCode(src[i]); } return txt; } } else { var result = this.connectRuntime(blob.ruid).exec.call(this, 'FileReaderSync', 'read', op, blob); this.disconnectRuntime(); return result; } } }; }); // Included from: src/javascript/xhr/FormData.js /** * FormData.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ define("moxie/xhr/FormData", [ "moxie/core/Exceptions", "moxie/core/utils/Basic", "moxie/file/Blob" ], function(x, Basic, Blob) { /** FormData @class FormData @constructor */ function FormData() { var _blob, _fields = []; Basic.extend(this, { /** Append another key-value pair to the FormData object @method append @param {String} name Name for the new field @param {String|Blob|Array|Object} value Value for the field */ append: function(name, value) { var self = this, valueType = Basic.typeOf(value); // according to specs value might be either Blob or String if (value instanceof Blob) { _blob = { name: name, value: value // unfortunately we can only send single Blob in one FormData }; } else if ('array' === valueType) { name += '[]'; Basic.each(value, function(value) { self.append(name, value); }); } else if ('object' === valueType) { Basic.each(value, function(value, key) { self.append(name + '[' + key + ']', value); }); } else if ('null' === valueType || 'undefined' === valueType || 'number' === valueType && isNaN(value)) { self.append(name, "false"); } else { _fields.push({ name: name, value: value.toString() }); } }, /** Checks if FormData contains Blob. @method hasBlob @return {Boolean} */ hasBlob: function() { return !!this.getBlob(); }, /** Retrieves blob. @method getBlob @return {Object} Either Blob if found or null */ getBlob: function() { return _blob && _blob.value || null; }, /** Retrieves blob field name. @method getBlobName @return {String} Either Blob field name or null */ getBlobName: function() { return _blob && _blob.name || null; }, /** Loop over the fields in FormData and invoke the callback for each of them. @method each @param {Function} cb Callback to call for each field */ each: function(cb) { Basic.each(_fields, function(field) { cb(field.value, field.name); }); if (_blob) { cb(_blob.value, _blob.name); } }, destroy: function() { _blob = null; _fields = []; } }); } return FormData; }); // Included from: src/javascript/xhr/XMLHttpRequest.js /** * XMLHttpRequest.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ define("moxie/xhr/XMLHttpRequest", [ "moxie/core/utils/Basic", "moxie/core/Exceptions", "moxie/core/EventTarget", "moxie/core/utils/Encode", "moxie/core/utils/Url", "moxie/runtime/Runtime", "moxie/runtime/RuntimeTarget", "moxie/file/Blob", "moxie/file/FileReaderSync", "moxie/xhr/FormData", "moxie/core/utils/Env", "moxie/core/utils/Mime" ], function(Basic, x, EventTarget, Encode, Url, Runtime, RuntimeTarget, Blob, FileReaderSync, FormData, Env, Mime) { var httpCode = { 100: 'Continue', 101: 'Switching Protocols', 102: 'Processing', 200: 'OK', 201: 'Created', 202: 'Accepted', 203: 'Non-Authoritative Information', 204: 'No Content', 205: 'Reset Content', 206: 'Partial Content', 207: 'Multi-Status', 226: 'IM Used', 300: 'Multiple Choices', 301: 'Moved Permanently', 302: 'Found', 303: 'See Other', 304: 'Not Modified', 305: 'Use Proxy', 306: 'Reserved', 307: 'Temporary Redirect', 400: 'Bad Request', 401: 'Unauthorized', 402: 'Payment Required', 403: 'Forbidden', 404: 'Not Found', 405: 'Method Not Allowed', 406: 'Not Acceptable', 407: 'Proxy Authentication Required', 408: 'Request Timeout', 409: 'Conflict', 410: 'Gone', 411: 'Length Required', 412: 'Precondition Failed', 413: 'Request Entity Too Large', 414: 'Request-URI Too Long', 415: 'Unsupported Media Type', 416: 'Requested Range Not Satisfiable', 417: 'Expectation Failed', 422: 'Unprocessable Entity', 423: 'Locked', 424: 'Failed Dependency', 426: 'Upgrade Required', 500: 'Internal Server Error', 501: 'Not Implemented', 502: 'Bad Gateway', 503: 'Service Unavailable', 504: 'Gateway Timeout', 505: 'HTTP Version Not Supported', 506: 'Variant Also Negotiates', 507: 'Insufficient Storage', 510: 'Not Extended' }; function XMLHttpRequestUpload() { this.uid = Basic.guid('uid_'); } XMLHttpRequestUpload.prototype = EventTarget.instance; /** Implementation of XMLHttpRequest @class XMLHttpRequest @constructor @uses RuntimeClient @extends EventTarget */ var dispatches = [ 'loadstart', 'progress', 'abort', 'error', 'load', 'timeout', 'loadend' // readystatechange (for historical reasons) ]; var NATIVE = 1, RUNTIME = 2; function XMLHttpRequest() { var self = this, // this (together with _p() @see below) is here to gracefully upgrade to setter/getter syntax where possible props = { /** The amount of milliseconds a request can take before being terminated. Initially zero. Zero means there is no timeout. @property timeout @type Number @default 0 */ timeout: 0, /** Current state, can take following values: UNSENT (numeric value 0) The object has been constructed. OPENED (numeric value 1) The open() method has been successfully invoked. During this state request headers can be set using setRequestHeader() and the request can be made using the send() method. HEADERS_RECEIVED (numeric value 2) All redirects (if any) have been followed and all HTTP headers of the final response have been received. Several response members of the object are now available. LOADING (numeric value 3) The response entity body is being received. DONE (numeric value 4) @property readyState @type Number @default 0 (UNSENT) */ readyState: XMLHttpRequest.UNSENT, /** True when user credentials are to be included in a cross-origin request. False when they are to be excluded in a cross-origin request and when cookies are to be ignored in its response. Initially false. @property withCredentials @type Boolean @default false */ withCredentials: false, /** Returns the HTTP status code. @property status @type Number @default 0 */ status: 0, /** Returns the HTTP status text. @property statusText @type String */ statusText: "", /** Returns the response type. Can be set to change the response type. Values are: the empty string (default), "arraybuffer", "blob", "document", "json", and "text". @property responseType @type String */ responseType: "", /** Returns the document response entity body. Throws an "InvalidStateError" exception if responseType is not the empty string or "document". @property responseXML @type Document */ responseXML: null, /** Returns the text response entity body. Throws an "InvalidStateError" exception if responseType is not the empty string or "text". @property responseText @type String */ responseText: null, /** Returns the response entity body (http://www.w3.org/TR/XMLHttpRequest/#response-entity-body). Can become: ArrayBuffer, Blob, Document, JSON, Text @property response @type Mixed */ response: null }, _async = true, _url, _method, _headers = {}, _user, _password, _encoding = null, _mimeType = null, // flags _sync_flag = false, _send_flag = false, _upload_events_flag = false, _upload_complete_flag = false, _error_flag = false, _same_origin_flag = false, // times _start_time, _timeoutset_time, _finalMime = null, _finalCharset = null, _options = {}, _xhr, _responseHeaders = '', _responseHeadersBag ; Basic.extend(this, props, { /** Unique id of the component @property uid @type String */ uid: Basic.guid('uid_'), /** Target for Upload events @property upload @type XMLHttpRequestUpload */ upload: new XMLHttpRequestUpload(), /** Sets the request method, request URL, synchronous flag, request username, and request password. Throws a "SyntaxError" exception if one of the following is true: method is not a valid HTTP method. url cannot be resolved. url contains the "user:password" format in the userinfo production. Throws a "SecurityError" exception if method is a case-insensitive match for CONNECT, TRACE or TRACK. Throws an "InvalidAccessError" exception if one of the following is true: Either user or password is passed as argument and the origin of url does not match the XMLHttpRequest origin. There is an associated XMLHttpRequest document and either the timeout attribute is not zero, the withCredentials attribute is true, or the responseType attribute is not the empty string. @method open @param {String} method HTTP method to use on request @param {String} url URL to request @param {Boolean} [async=true] If false request will be done in synchronous manner. Asynchronous by default. @param {String} [user] Username to use in HTTP authentication process on server-side @param {String} [password] Password to use in HTTP authentication process on server-side */ open: function(method, url, async, user, password) { var urlp; // first two arguments are required if (!method || !url) { throw new x.DOMException(x.DOMException.SYNTAX_ERR); } // 2 - check if any code point in method is higher than U+00FF or after deflating method it does not match the method if (/[\u0100-\uffff]/.test(method) || Encode.utf8_encode(method) !== method) { throw new x.DOMException(x.DOMException.SYNTAX_ERR); } // 3 if (!!~Basic.inArray(method.toUpperCase(), ['CONNECT', 'DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT', 'TRACE', 'TRACK'])) { _method = method.toUpperCase(); } // 4 - allowing these methods poses a security risk if (!!~Basic.inArray(_method, ['CONNECT', 'TRACE', 'TRACK'])) { throw new x.DOMException(x.DOMException.SECURITY_ERR); } // 5 url = Encode.utf8_encode(url); // 6 - Resolve url relative to the XMLHttpRequest base URL. If the algorithm returns an error, throw a "SyntaxError". urlp = Url.parseUrl(url); _same_origin_flag = Url.hasSameOrigin(urlp); // 7 - manually build up absolute url _url = Url.resolveUrl(url); // 9-10, 12-13 if ((user || password) && !_same_origin_flag) { throw new x.DOMException(x.DOMException.INVALID_ACCESS_ERR); } _user = user || urlp.user; _password = password || urlp.pass; // 11 _async = async || true; if (_async === false && (_p('timeout') || _p('withCredentials') || _p('responseType') !== "")) { throw new x.DOMException(x.DOMException.INVALID_ACCESS_ERR); } // 14 - terminate abort() // 15 - terminate send() // 18 _sync_flag = !_async; _send_flag = false; _headers = {}; _reset.call(this); // 19 _p('readyState', XMLHttpRequest.OPENED); // 20 this.dispatchEvent('readystatechange'); }, /** Appends an header to the list of author request headers, or if header is already in the list of author request headers, combines its value with value. Throws an "InvalidStateError" exception if the state is not OPENED or if the send() flag is set. Throws a "SyntaxError" exception if header is not a valid HTTP header field name or if value is not a valid HTTP header field value. @method setRequestHeader @param {String} header @param {String|Number} value */ setRequestHeader: function(header, value) { var uaHeaders = [ // these headers are controlled by the user agent "accept-charset", "accept-encoding", "access-control-request-headers", "access-control-request-method", "connection", "content-length", "cookie", "cookie2", "content-transfer-encoding", "date", "expect", "host", "keep-alive", "origin", "referer", "te", "trailer", "transfer-encoding", "upgrade", "user-agent", "via" ]; // 1-2 if (_p('readyState') !== XMLHttpRequest.OPENED || _send_flag) { throw new x.DOMException(x.DOMException.INVALID_STATE_ERR); } // 3 if (/[\u0100-\uffff]/.test(header) || Encode.utf8_encode(header) !== header) { throw new x.DOMException(x.DOMException.SYNTAX_ERR); } // 4 /* this step is seemingly bypassed in browsers, probably to allow various unicode characters in header values if (/[\u0100-\uffff]/.test(value) || Encode.utf8_encode(value) !== value) { throw new x.DOMException(x.DOMException.SYNTAX_ERR); }*/ header = Basic.trim(header).toLowerCase(); // setting of proxy-* and sec-* headers is prohibited by spec if (!!~Basic.inArray(header, uaHeaders) || /^(proxy\-|sec\-)/.test(header)) { return false; } // camelize // browsers lowercase header names (at least for custom ones) // header = header.replace(/\b\w/g, function($1) { return $1.toUpperCase(); }); if (!_headers[header]) { _headers[header] = value; } else { // http://tools.ietf.org/html/rfc2616#section-4.2 (last paragraph) _headers[header] += ', ' + value; } return true; }, /** Returns all headers from the response, with the exception of those whose field name is Set-Cookie or Set-Cookie2. @method getAllResponseHeaders @return {String} reponse headers or empty string */ getAllResponseHeaders: function() { return _responseHeaders || ''; }, /** Returns the header field value from the response of which the field name matches header, unless the field name is Set-Cookie or Set-Cookie2. @method getResponseHeader @param {String} header @return {String} value(s) for the specified header or null */ getResponseHeader: function(header) { header = header.toLowerCase(); if (_error_flag || !!~Basic.inArray(header, ['set-cookie', 'set-cookie2'])) { return null; } if (_responseHeaders && _responseHeaders !== '') { // if we didn't parse response headers until now, do it and keep for later if (!_responseHeadersBag) { _responseHeadersBag = {}; Basic.each(_responseHeaders.split(/\r\n/), function(line) { var pair = line.split(/:\s+/); if (pair.length === 2) { // last line might be empty, omit pair[0] = Basic.trim(pair[0]); // just in case _responseHeadersBag[pair[0].toLowerCase()] = { // simply to retain header name in original form header: pair[0], value: Basic.trim(pair[1]) }; } }); } if (_responseHeadersBag.hasOwnProperty(header)) { return _responseHeadersBag[header].header + ': ' + _responseHeadersBag[header].value; } } return null; }, /** Sets the Content-Type header for the response to mime. Throws an "InvalidStateError" exception if the state is LOADING or DONE. Throws a "SyntaxError" exception if mime is not a valid media type. @method overrideMimeType @param String mime Mime type to set */ overrideMimeType: function(mime) { var matches, charset; // 1 if (!!~Basic.inArray(_p('readyState'), [XMLHttpRequest.LOADING, XMLHttpRequest.DONE])) { throw new x.DOMException(x.DOMException.INVALID_STATE_ERR); } // 2 mime = Basic.trim(mime.toLowerCase()); if (/;/.test(mime) && (matches = mime.match(/^([^;]+)(?:;\scharset\=)?(.*)$/))) { mime = matches[1]; if (matches[2]) { charset = matches[2]; } } if (!Mime.mimes[mime]) { throw new x.DOMException(x.DOMException.SYNTAX_ERR); } // 3-4 _finalMime = mime; _finalCharset = charset; }, /** Initiates the request. The optional argument provides the request entity body. The argument is ignored if request method is GET or HEAD. Throws an "InvalidStateError" exception if the state is not OPENED or if the send() flag is set. @method send @param {Blob|Document|String|FormData} [data] Request entity body @param {Object} [options] Set of requirements and pre-requisities for runtime initialization */ send: function(data, options) { if (Basic.typeOf(options) === 'string') { _options = { ruid: options }; } else if (!options) { _options = {}; } else { _options = options; } // 1-2 if (this.readyState !== XMLHttpRequest.OPENED || _send_flag) { throw new x.DOMException(x.DOMException.INVALID_STATE_ERR); } // 3 // sending Blob if (data instanceof Blob) { _options.ruid = data.ruid; _mimeType = data.type || 'application/octet-stream'; } // FormData else if (data instanceof FormData) { if (data.hasBlob()) { var blob = data.getBlob(); _options.ruid = blob.ruid; _mimeType = blob.type || 'application/octet-stream'; } } // DOMString else if (typeof data === 'string') { _encoding = 'UTF-8'; _mimeType = 'text/plain;charset=UTF-8'; // data should be converted to Unicode and encoded as UTF-8 data = Encode.utf8_encode(data); } // if withCredentials not set, but requested, set it automatically if (!this.withCredentials) { this.withCredentials = (_options.required_caps && _options.required_caps.send_browser_cookies) && !_same_origin_flag; } // 4 - storage mutex // 5 _upload_events_flag = (!_sync_flag && this.upload.hasEventListener()); // DSAP // 6 _error_flag = false; // 7 _upload_complete_flag = !data; // 8 - Asynchronous steps if (!_sync_flag) { // 8.1 _send_flag = true; // 8.2 // this.dispatchEvent('loadstart'); // will be dispatched either by native or runtime xhr // 8.3 //if (!_upload_complete_flag) { // this.upload.dispatchEvent('loadstart'); // will be dispatched either by native or runtime xhr //} } // 8.5 - Return the send() method call, but continue running the steps in this algorithm. _doXHR.call(this, data); }, /** Cancels any network activity. @method abort */ abort: function() { _error_flag = true; _sync_flag = false; if (!~Basic.inArray(_p('readyState'), [XMLHttpRequest.UNSENT, XMLHttpRequest.OPENED, XMLHttpRequest.DONE])) { _p('readyState', XMLHttpRequest.DONE); _send_flag = false; if (_xhr) { _xhr.getRuntime().exec.call(_xhr, 'XMLHttpRequest', 'abort', _upload_complete_flag); } else { throw new x.DOMException(x.DOMException.INVALID_STATE_ERR); } _upload_complete_flag = true; } else { _p('readyState', XMLHttpRequest.UNSENT); } }, destroy: function() { if (_xhr) { if (Basic.typeOf(_xhr.destroy) === 'function') { _xhr.destroy(); } _xhr = null; } this.unbindAll(); if (this.upload) { this.upload.unbindAll(); this.upload = null; } } }); this.handleEventProps(dispatches.concat(['readystatechange'])); // for historical reasons this.upload.handleEventProps(dispatches); /* this is nice, but maybe too lengthy // if supported by JS version, set getters/setters for specific properties o.defineProperty(this, 'readyState', { configurable: false, get: function() { return _p('readyState'); } }); o.defineProperty(this, 'timeout', { configurable: false, get: function() { return _p('timeout'); }, set: function(value) { if (_sync_flag) { throw new x.DOMException(x.DOMException.INVALID_ACCESS_ERR); } // timeout still should be measured relative to the start time of request _timeoutset_time = (new Date).getTime(); _p('timeout', value); } }); // the withCredentials attribute has no effect when fetching same-origin resources o.defineProperty(this, 'withCredentials', { configurable: false, get: function() { return _p('withCredentials'); }, set: function(value) { // 1-2 if (!~o.inArray(_p('readyState'), [XMLHttpRequest.UNSENT, XMLHttpRequest.OPENED]) || _send_flag) { throw new x.DOMException(x.DOMException.INVALID_STATE_ERR); } // 3-4 if (_anonymous_flag || _sync_flag) { throw new x.DOMException(x.DOMException.INVALID_ACCESS_ERR); } // 5 _p('withCredentials', value); } }); o.defineProperty(this, 'status', { configurable: false, get: function() { return _p('status'); } }); o.defineProperty(this, 'statusText', { configurable: false, get: function() { return _p('statusText'); } }); o.defineProperty(this, 'responseType', { configurable: false, get: function() { return _p('responseType'); }, set: function(value) { // 1 if (!!~o.inArray(_p('readyState'), [XMLHttpRequest.LOADING, XMLHttpRequest.DONE])) { throw new x.DOMException(x.DOMException.INVALID_STATE_ERR); } // 2 if (_sync_flag) { throw new x.DOMException(x.DOMException.INVALID_ACCESS_ERR); } // 3 _p('responseType', value.toLowerCase()); } }); o.defineProperty(this, 'responseText', { configurable: false, get: function() { // 1 if (!~o.inArray(_p('responseType'), ['', 'text'])) { throw new x.DOMException(x.DOMException.INVALID_STATE_ERR); } // 2-3 if (_p('readyState') !== XMLHttpRequest.DONE && _p('readyState') !== XMLHttpRequest.LOADING || _error_flag) { throw new x.DOMException(x.DOMException.INVALID_STATE_ERR); } return _p('responseText'); } }); o.defineProperty(this, 'responseXML', { configurable: false, get: function() { // 1 if (!~o.inArray(_p('responseType'), ['', 'document'])) { throw new x.DOMException(x.DOMException.INVALID_STATE_ERR); } // 2-3 if (_p('readyState') !== XMLHttpRequest.DONE || _error_flag) { throw new x.DOMException(x.DOMException.INVALID_STATE_ERR); } return _p('responseXML'); } }); o.defineProperty(this, 'response', { configurable: false, get: function() { if (!!~o.inArray(_p('responseType'), ['', 'text'])) { if (_p('readyState') !== XMLHttpRequest.DONE && _p('readyState') !== XMLHttpRequest.LOADING || _error_flag) { return ''; } } if (_p('readyState') !== XMLHttpRequest.DONE || _error_flag) { return null; } return _p('response'); } }); */ function _p(prop, value) { if (!props.hasOwnProperty(prop)) { return; } if (arguments.length === 1) { // get return Env.can('define_property') ? props[prop] : self[prop]; } else { // set if (Env.can('define_property')) { props[prop] = value; } else { self[prop] = value; } } } /* function _toASCII(str, AllowUnassigned, UseSTD3ASCIIRules) { // TODO: http://tools.ietf.org/html/rfc3490#section-4.1 return str.toLowerCase(); } */ function _doXHR(data) { var self = this; _start_time = new Date().getTime(); _xhr = new RuntimeTarget(); function loadEnd() { if (_xhr) { // it could have been destroyed by now _xhr.destroy(); _xhr = null; } self.dispatchEvent('loadend'); self = null; } function exec(runtime) { _xhr.bind('LoadStart', function(e) { _p('readyState', XMLHttpRequest.LOADING); self.dispatchEvent('readystatechange'); self.dispatchEvent(e); if (_upload_events_flag) { self.upload.dispatchEvent(e); } }); _xhr.bind('Progress', function(e) { if (_p('readyState') !== XMLHttpRequest.LOADING) { _p('readyState', XMLHttpRequest.LOADING); // LoadStart unreliable (in Flash for example) self.dispatchEvent('readystatechange'); } self.dispatchEvent(e); }); _xhr.bind('UploadProgress', function(e) { if (_upload_events_flag) { self.upload.dispatchEvent({ type: 'progress', lengthComputable: false, total: e.total, loaded: e.loaded }); } }); _xhr.bind('Load', function(e) { _p('readyState', XMLHttpRequest.DONE); _p('status', Number(runtime.exec.call(_xhr, 'XMLHttpRequest', 'getStatus') || 0)); _p('statusText', httpCode[_p('status')] || ""); _p('response', runtime.exec.call(_xhr, 'XMLHttpRequest', 'getResponse', _p('responseType'))); if (!!~Basic.inArray(_p('responseType'), ['text', ''])) { _p('responseText', _p('response')); } else if (_p('responseType') === 'document') { _p('responseXML', _p('response')); } _responseHeaders = runtime.exec.call(_xhr, 'XMLHttpRequest', 'getAllResponseHeaders'); self.dispatchEvent('readystatechange'); if (_p('status') > 0) { // status 0 usually means that server is unreachable if (_upload_events_flag) { self.upload.dispatchEvent(e); } self.dispatchEvent(e); } else { _error_flag = true; self.dispatchEvent('error'); } loadEnd(); }); _xhr.bind('Abort', function(e) { self.dispatchEvent(e); loadEnd(); }); _xhr.bind('Error', function(e) { _error_flag = true; _p('readyState', XMLHttpRequest.DONE); self.dispatchEvent('readystatechange'); _upload_complete_flag = true; self.dispatchEvent(e); loadEnd(); }); runtime.exec.call(_xhr, 'XMLHttpRequest', 'send', { url: _url, method: _method, async: _async, user: _user, password: _password, headers: _headers, mimeType: _mimeType, encoding: _encoding, responseType: self.responseType, withCredentials: self.withCredentials, options: _options }, data); } // clarify our requirements if (typeof(_options.required_caps) === 'string') { _options.required_caps = Runtime.parseCaps(_options.required_caps); } _options.required_caps = Basic.extend({}, _options.required_caps, { return_response_type: self.responseType }); if (data instanceof FormData) { _options.required_caps.send_multipart = true; } if (!Basic.isEmptyObj(_headers)) { _options.required_caps.send_custom_headers = true; } if (!_same_origin_flag) { _options.required_caps.do_cors = true; } if (_options.ruid) { // we do not need to wait if we can connect directly exec(_xhr.connectRuntime(_options)); } else { _xhr.bind('RuntimeInit', function(e, runtime) { exec(runtime); }); _xhr.bind('RuntimeError', function(e, err) { self.dispatchEvent('RuntimeError', err); }); _xhr.connectRuntime(_options); } } function _reset() { _p('responseText', ""); _p('responseXML', null); _p('response', null); _p('status', 0); _p('statusText', ""); _start_time = _timeoutset_time = null; } } XMLHttpRequest.UNSENT = 0; XMLHttpRequest.OPENED = 1; XMLHttpRequest.HEADERS_RECEIVED = 2; XMLHttpRequest.LOADING = 3; XMLHttpRequest.DONE = 4; XMLHttpRequest.prototype = EventTarget.instance; return XMLHttpRequest; }); // Included from: src/javascript/runtime/Transporter.js /** * Transporter.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ define("moxie/runtime/Transporter", [ "moxie/core/utils/Basic", "moxie/core/utils/Encode", "moxie/runtime/RuntimeClient", "moxie/core/EventTarget" ], function(Basic, Encode, RuntimeClient, EventTarget) { function Transporter() { var mod, _runtime, _data, _size, _pos, _chunk_size; RuntimeClient.call(this); Basic.extend(this, { uid: Basic.guid('uid_'), state: Transporter.IDLE, result: null, transport: function(data, type, options) { var self = this; options = Basic.extend({ chunk_size: 204798 }, options); // should divide by three, base64 requires this if ((mod = options.chunk_size % 3)) { options.chunk_size += 3 - mod; } _chunk_size = options.chunk_size; _reset.call(this); _data = data; _size = data.length; if (Basic.typeOf(options) === 'string' || options.ruid) { _run.call(self, type, this.connectRuntime(options)); } else { // we require this to run only once var cb = function(e, runtime) { self.unbind("RuntimeInit", cb); _run.call(self, type, runtime); }; this.bind("RuntimeInit", cb); this.connectRuntime(options); } }, abort: function() { var self = this; self.state = Transporter.IDLE; if (_runtime) { _runtime.exec.call(self, 'Transporter', 'clear'); self.trigger("TransportingAborted"); } _reset.call(self); }, destroy: function() { this.unbindAll(); _runtime = null; this.disconnectRuntime(); _reset.call(this); } }); function _reset() { _size = _pos = 0; _data = this.result = null; } function _run(type, runtime) { var self = this; _runtime = runtime; //self.unbind("RuntimeInit"); self.bind("TransportingProgress", function(e) { _pos = e.loaded; if (_pos < _size && Basic.inArray(self.state, [Transporter.IDLE, Transporter.DONE]) === -1) { _transport.call(self); } }, 999); self.bind("TransportingComplete", function() { _pos = _size; self.state = Transporter.DONE; _data = null; // clean a bit self.result = _runtime.exec.call(self, 'Transporter', 'getAsBlob', type || ''); }, 999); self.state = Transporter.BUSY; self.trigger("TransportingStarted"); _transport.call(self); } function _transport() { var self = this, chunk, bytesLeft = _size - _pos; if (_chunk_size > bytesLeft) { _chunk_size = bytesLeft; } chunk = Encode.btoa(_data.substr(_pos, _chunk_size)); _runtime.exec.call(self, 'Transporter', 'receive', chunk, _size); } } Transporter.IDLE = 0; Transporter.BUSY = 1; Transporter.DONE = 2; Transporter.prototype = EventTarget.instance; return Transporter; }); // Included from: src/javascript/image/Image.js /** * Image.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ define("moxie/image/Image", [ "moxie/core/utils/Basic", "moxie/core/utils/Dom", "moxie/core/Exceptions", "moxie/file/FileReaderSync", "moxie/xhr/XMLHttpRequest", "moxie/runtime/Runtime", "moxie/runtime/RuntimeClient", "moxie/runtime/Transporter", "moxie/core/utils/Env", "moxie/core/EventTarget", "moxie/file/Blob", "moxie/file/File", "moxie/core/utils/Encode" ], function(Basic, Dom, x, FileReaderSync, XMLHttpRequest, Runtime, RuntimeClient, Transporter, Env, EventTarget, Blob, File, Encode) { /** Image preloading and manipulation utility. Additionally it provides access to image meta info (Exif, GPS) and raw binary data. @class Image @constructor @extends EventTarget */ var dispatches = [ 'progress', /** Dispatched when loading is complete. @event load @param {Object} event */ 'load', 'error', /** Dispatched when resize operation is complete. @event resize @param {Object} event */ 'resize', /** Dispatched when visual representation of the image is successfully embedded into the corresponsing container. @event embedded @param {Object} event */ 'embedded' ]; function Image() { RuntimeClient.call(this); Basic.extend(this, { /** Unique id of the component @property uid @type {String} */ uid: Basic.guid('uid_'), /** Unique id of the connected runtime, if any. @property ruid @type {String} */ ruid: null, /** Name of the file, that was used to create an image, if available. If not equals to empty string. @property name @type {String} @default "" */ name: "", /** Size of the image in bytes. Actual value is set only after image is preloaded. @property size @type {Number} @default 0 */ size: 0, /** Width of the image. Actual value is set only after image is preloaded. @property width @type {Number} @default 0 */ width: 0, /** Height of the image. Actual value is set only after image is preloaded. @property height @type {Number} @default 0 */ height: 0, /** Mime type of the image. Currently only image/jpeg and image/png are supported. Actual value is set only after image is preloaded. @property type @type {String} @default "" */ type: "", /** Holds meta info (Exif, GPS). Is populated only for image/jpeg. Actual value is set only after image is preloaded. @property meta @type {Object} @default {} */ meta: {}, /** Alias for load method, that takes another mOxie.Image object as a source (see load). @method clone @param {Image} src Source for the image @param {Boolean} [exact=false] Whether to activate in-depth clone mode */ clone: function() { this.load.apply(this, arguments); }, /** Loads image from various sources. Currently the source for new image can be: mOxie.Image, mOxie.Blob/mOxie.File, native Blob/File, dataUrl or URL. Depending on the type of the source, arguments - differ. When source is URL, Image will be downloaded from remote destination and loaded in memory. @example var img = new mOxie.Image(); img.onload = function() { var blob = img.getAsBlob(); var formData = new mOxie.FormData(); formData.append('file', blob); var xhr = new mOxie.XMLHttpRequest(); xhr.onload = function() { // upload complete }; xhr.open('post', 'upload.php'); xhr.send(formData); }; img.load("http://www.moxiecode.com/images/mox-logo.jpg"); // notice file extension (.jpg) @method load @param {Image|Blob|File|String} src Source for the image @param {Boolean|Object} [mixed] */ load: function() { _load.apply(this, arguments); }, /** Downsizes the image to fit the specified width/height. If crop is supplied, image will be cropped to exact dimensions. @method downsize @param {Object} opts @param {Number} opts.width Resulting width @param {Number} [opts.height=width] Resulting height (optional, if not supplied will default to width) @param {Boolean} [opts.crop=false] Whether to crop the image to exact dimensions @param {Boolean} [opts.preserveHeaders=true] Whether to preserve meta headers (on JPEGs after resize) @param {String} [opts.resample=false] Resampling algorithm to use for resizing */ downsize: function(opts) { var defaults = { width: this.width, height: this.height, type: this.type || 'image/jpeg', quality: 90, crop: false, preserveHeaders: true, resample: false }; if (typeof(opts) === 'object') { opts = Basic.extend(defaults, opts); } else { // for backward compatibility opts = Basic.extend(defaults, { width: arguments[0], height: arguments[1], crop: arguments[2], preserveHeaders: arguments[3] }); } try { if (!this.size) { // only preloaded image objects can be used as source throw new x.DOMException(x.DOMException.INVALID_STATE_ERR); } // no way to reliably intercept the crash due to high resolution, so we simply avoid it if (this.width > Image.MAX_RESIZE_WIDTH || this.height > Image.MAX_RESIZE_HEIGHT) { throw new x.ImageError(x.ImageError.MAX_RESOLUTION_ERR); } this.exec('Image', 'downsize', opts.width, opts.height, opts.crop, opts.preserveHeaders); } catch(ex) { // for now simply trigger error event this.trigger('error', ex.code); } }, /** Alias for downsize(width, height, true). (see downsize) @method crop @param {Number} width Resulting width @param {Number} [height=width] Resulting height (optional, if not supplied will default to width) @param {Boolean} [preserveHeaders=true] Whether to preserve meta headers (on JPEGs after resize) */ crop: function(width, height, preserveHeaders) { this.downsize(width, height, true, preserveHeaders); }, getAsCanvas: function() { if (!Env.can('create_canvas')) { throw new x.RuntimeError(x.RuntimeError.NOT_SUPPORTED_ERR); } var runtime = this.connectRuntime(this.ruid); return runtime.exec.call(this, 'Image', 'getAsCanvas'); }, /** Retrieves image in it's current state as mOxie.Blob object. Cannot be run on empty or image in progress (throws DOMException.INVALID_STATE_ERR). @method getAsBlob @param {String} [type="image/jpeg"] Mime type of resulting blob. Can either be image/jpeg or image/png @param {Number} [quality=90] Applicable only together with mime type image/jpeg @return {Blob} Image as Blob */ getAsBlob: function(type, quality) { if (!this.size) { throw new x.DOMException(x.DOMException.INVALID_STATE_ERR); } return this.exec('Image', 'getAsBlob', type || 'image/jpeg', quality || 90); }, /** Retrieves image in it's current state as dataURL string. Cannot be run on empty or image in progress (throws DOMException.INVALID_STATE_ERR). @method getAsDataURL @param {String} [type="image/jpeg"] Mime type of resulting blob. Can either be image/jpeg or image/png @param {Number} [quality=90] Applicable only together with mime type image/jpeg @return {String} Image as dataURL string */ getAsDataURL: function(type, quality) { if (!this.size) { throw new x.DOMException(x.DOMException.INVALID_STATE_ERR); } return this.exec('Image', 'getAsDataURL', type || 'image/jpeg', quality || 90); }, /** Retrieves image in it's current state as binary string. Cannot be run on empty or image in progress (throws DOMException.INVALID_STATE_ERR). @method getAsBinaryString @param {String} [type="image/jpeg"] Mime type of resulting blob. Can either be image/jpeg or image/png @param {Number} [quality=90] Applicable only together with mime type image/jpeg @return {String} Image as binary string */ getAsBinaryString: function(type, quality) { var dataUrl = this.getAsDataURL(type, quality); return Encode.atob(dataUrl.substring(dataUrl.indexOf('base64,') + 7)); }, /** Embeds a visual representation of the image into the specified node. Depending on the runtime, it might be a canvas, an img node or a thrid party shim object (Flash or SilverLight - very rare, can be used in legacy browsers that do not have canvas or proper dataURI support). @method embed @param {DOMElement} el DOM element to insert the image object into @param {Object} [opts] @param {Number} [opts.width] The width of an embed (defaults to the image width) @param {Number} [opts.height] The height of an embed (defaults to the image height) @param {String} [type="image/jpeg"] Mime type @param {Number} [quality=90] Quality of an embed, if mime type is image/jpeg @param {Boolean} [crop=false] Whether to crop an embed to the specified dimensions */ embed: function(el, opts) { var self = this , runtime // this has to be outside of all the closures to contain proper runtime ; opts = Basic.extend({ width: this.width, height: this.height, type: this.type || 'image/jpeg', quality: 90 }, opts || {}); function render(type, quality) { var img = this; // if possible, embed a canvas element directly if (Env.can('create_canvas')) { var canvas = img.getAsCanvas(); if (canvas) { el.appendChild(canvas); canvas = null; img.destroy(); self.trigger('embedded'); return; } } var dataUrl = img.getAsDataURL(type, quality); if (!dataUrl) { throw new x.ImageError(x.ImageError.WRONG_FORMAT); } if (Env.can('use_data_uri_of', dataUrl.length)) { el.innerHTML = ''; img.destroy(); self.trigger('embedded'); } else { var tr = new Transporter(); tr.bind("TransportingComplete", function() { runtime = self.connectRuntime(this.result.ruid); self.bind("Embedded", function() { // position and size properly Basic.extend(runtime.getShimContainer().style, { //position: 'relative', top: '0px', left: '0px', width: img.width + 'px', height: img.height + 'px' }); // some shims (Flash/SilverLight) reinitialize, if parent element is hidden, reordered or it's // position type changes (in Gecko), but since we basically need this only in IEs 6/7 and // sometimes 8 and they do not have this problem, we can comment this for now /*tr.bind("RuntimeInit", function(e, runtime) { tr.destroy(); runtime.destroy(); onResize.call(self); // re-feed our image data });*/ runtime = null; // release }, 999); runtime.exec.call(self, "ImageView", "display", this.result.uid, width, height); img.destroy(); }); tr.transport(Encode.atob(dataUrl.substring(dataUrl.indexOf('base64,') + 7)), type, { required_caps: { display_media: true }, runtime_order: 'flash,silverlight', container: el }); } } try { if (!(el = Dom.get(el))) { throw new x.DOMException(x.DOMException.INVALID_NODE_TYPE_ERR); } if (!this.size) { // only preloaded image objects can be used as source throw new x.DOMException(x.DOMException.INVALID_STATE_ERR); } // high-resolution images cannot be consistently handled across the runtimes if (this.width > Image.MAX_RESIZE_WIDTH || this.height > Image.MAX_RESIZE_HEIGHT) { //throw new x.ImageError(x.ImageError.MAX_RESOLUTION_ERR); } var imgCopy = new Image(); imgCopy.bind("Resize", function() { render.call(this, opts.type, opts.quality); }); imgCopy.bind("Load", function() { imgCopy.downsize(opts); }); // if embedded thumb data is available and dimensions are big enough, use it if (this.meta.thumb && this.meta.thumb.width >= opts.width && this.meta.thumb.height >= opts.height) { imgCopy.load(this.meta.thumb.data); } else { imgCopy.clone(this, false); } return imgCopy; } catch(ex) { // for now simply trigger error event this.trigger('error', ex.code); } }, /** Properly destroys the image and frees resources in use. If any. Recommended way to dispose mOxie.Image object. @method destroy */ destroy: function() { if (this.ruid) { this.getRuntime().exec.call(this, 'Image', 'destroy'); this.disconnectRuntime(); } this.unbindAll(); } }); // this is here, because in order to bind properly, we need uid, which is created above this.handleEventProps(dispatches); this.bind('Load Resize', function() { _updateInfo.call(this); }, 999); function _updateInfo(info) { if (!info) { info = this.exec('Image', 'getInfo'); } this.size = info.size; this.width = info.width; this.height = info.height; this.type = info.type; this.meta = info.meta; // update file name, only if empty if (this.name === '') { this.name = info.name; } } function _load(src) { var srcType = Basic.typeOf(src); try { // if source is Image if (src instanceof Image) { if (!src.size) { // only preloaded image objects can be used as source throw new x.DOMException(x.DOMException.INVALID_STATE_ERR); } _loadFromImage.apply(this, arguments); } // if source is o.Blob/o.File else if (src instanceof Blob) { if (!~Basic.inArray(src.type, ['image/jpeg', 'image/png'])) { throw new x.ImageError(x.ImageError.WRONG_FORMAT); } _loadFromBlob.apply(this, arguments); } // if native blob/file else if (Basic.inArray(srcType, ['blob', 'file']) !== -1) { _load.call(this, new File(null, src), arguments[1]); } // if String else if (srcType === 'string') { // if dataUrl String if (src.substr(0, 5) === 'data:') { _load.call(this, new Blob(null, { data: src }), arguments[1]); } // else assume Url, either relative or absolute else { _loadFromUrl.apply(this, arguments); } } // if source seems to be an img node else if (srcType === 'node' && src.nodeName.toLowerCase() === 'img') { _load.call(this, src.src, arguments[1]); } else { throw new x.DOMException(x.DOMException.TYPE_MISMATCH_ERR); } } catch(ex) { // for now simply trigger error event this.trigger('error', ex.code); } } function _loadFromImage(img, exact) { var runtime = this.connectRuntime(img.ruid); this.ruid = runtime.uid; runtime.exec.call(this, 'Image', 'loadFromImage', img, (Basic.typeOf(exact) === 'undefined' ? true : exact)); } function _loadFromBlob(blob, options) { var self = this; self.name = blob.name || ''; function exec(runtime) { self.ruid = runtime.uid; runtime.exec.call(self, 'Image', 'loadFromBlob', blob); } if (blob.isDetached()) { this.bind('RuntimeInit', function(e, runtime) { exec(runtime); }); // convert to object representation if (options && typeof(options.required_caps) === 'string') { options.required_caps = Runtime.parseCaps(options.required_caps); } this.connectRuntime(Basic.extend({ required_caps: { access_image_binary: true, resize_image: true } }, options)); } else { exec(this.connectRuntime(blob.ruid)); } } function _loadFromUrl(url, options) { var self = this, xhr; xhr = new XMLHttpRequest(); xhr.open('get', url); xhr.responseType = 'blob'; xhr.onprogress = function(e) { self.trigger(e); }; xhr.onload = function() { _loadFromBlob.call(self, xhr.response, true); }; xhr.onerror = function(e) { self.trigger(e); }; xhr.onloadend = function() { xhr.destroy(); }; xhr.bind('RuntimeError', function(e, err) { self.trigger('RuntimeError', err); }); xhr.send(null, options); } } // virtual world will crash on you if image has a resolution higher than this: Image.MAX_RESIZE_WIDTH = 8192; Image.MAX_RESIZE_HEIGHT = 8192; Image.prototype = EventTarget.instance; return Image; }); // Included from: src/javascript/runtime/html5/Runtime.js /** * Runtime.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ /*global File:true */ /** Defines constructor for HTML5 runtime. @class moxie/runtime/html5/Runtime @private */ define("moxie/runtime/html5/Runtime", [ "moxie/core/utils/Basic", "moxie/core/Exceptions", "moxie/runtime/Runtime", "moxie/core/utils/Env" ], function(Basic, x, Runtime, Env) { var type = "html5", extensions = {}; function Html5Runtime(options) { var I = this , Test = Runtime.capTest , True = Runtime.capTrue ; var caps = Basic.extend({ access_binary: Test(window.FileReader || window.File && window.File.getAsDataURL), access_image_binary: function() { return I.can('access_binary') && !!extensions.Image; }, display_media: Test(Env.can('create_canvas') || Env.can('use_data_uri_over32kb')), do_cors: Test(window.XMLHttpRequest && 'withCredentials' in new XMLHttpRequest()), drag_and_drop: Test(function() { // this comes directly from Modernizr: http://www.modernizr.com/ var div = document.createElement('div'); // IE has support for drag and drop since version 5, but doesn't support dropping files from desktop return (('draggable' in div) || ('ondragstart' in div && 'ondrop' in div)) && (Env.browser !== 'IE' || Env.verComp(Env.version, 9, '>')); }()), filter_by_extension: Test(function() { // if you know how to feature-detect this, please suggest return (Env.browser === 'Chrome' && Env.verComp(Env.version, 28, '>=')) || (Env.browser === 'IE' && Env.verComp(Env.version, 10, '>=')) || (Env.browser === 'Safari' && Env.verComp(Env.version, 7, '>=')); }()), return_response_headers: True, return_response_type: function(responseType) { if (responseType === 'json' && !!window.JSON) { // we can fake this one even if it's not supported return true; } return Env.can('return_response_type', responseType); }, return_status_code: True, report_upload_progress: Test(window.XMLHttpRequest && new XMLHttpRequest().upload), resize_image: function() { return I.can('access_binary') && Env.can('create_canvas'); }, select_file: function() { return Env.can('use_fileinput') && window.File; }, select_folder: function() { return I.can('select_file') && Env.browser === 'Chrome' && Env.verComp(Env.version, 21, '>='); }, select_multiple: function() { // it is buggy on Safari Windows and iOS return I.can('select_file') && !(Env.browser === 'Safari' && Env.os === 'Windows') && !(Env.os === 'iOS' && Env.verComp(Env.osVersion, "7.0.0", '>') && Env.verComp(Env.osVersion, "8.0.0", '<')); }, send_binary_string: Test(window.XMLHttpRequest && (new XMLHttpRequest().sendAsBinary || (window.Uint8Array && window.ArrayBuffer))), send_custom_headers: Test(window.XMLHttpRequest), send_multipart: function() { return !!(window.XMLHttpRequest && new XMLHttpRequest().upload && window.FormData) || I.can('send_binary_string'); }, slice_blob: Test(window.File && (File.prototype.mozSlice || File.prototype.webkitSlice || File.prototype.slice)), stream_upload: function(){ return I.can('slice_blob') && I.can('send_multipart'); }, summon_file_dialog: function() { // yeah... some dirty sniffing here... return I.can('select_file') && ( (Env.browser === 'Firefox' && Env.verComp(Env.version, 4, '>=')) || (Env.browser === 'Opera' && Env.verComp(Env.version, 12, '>=')) || (Env.browser === 'IE' && Env.verComp(Env.version, 10, '>=')) || !!~Basic.inArray(Env.browser, ['Chrome', 'Safari']) ); }, upload_filesize: True }, arguments[2] ); Runtime.call(this, options, (arguments[1] || type), caps); Basic.extend(this, { init : function() { this.trigger("Init"); }, destroy: (function(destroy) { // extend default destroy method return function() { destroy.call(I); destroy = I = null; }; }(this.destroy)) }); Basic.extend(this.getShim(), extensions); } Runtime.addConstructor(type, Html5Runtime); return extensions; }); // Included from: src/javascript/core/utils/Events.js /** * Events.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ define('moxie/core/utils/Events', [ 'moxie/core/utils/Basic' ], function(Basic) { var eventhash = {}, uid = 'moxie_' + Basic.guid(); // IE W3C like event funcs function preventDefault() { this.returnValue = false; } function stopPropagation() { this.cancelBubble = true; } /** Adds an event handler to the specified object and store reference to the handler in objects internal Plupload registry (@see removeEvent). @method addEvent @for Utils @static @param {Object} obj DOM element like object to add handler to. @param {String} name Name to add event listener to. @param {Function} callback Function to call when event occurs. @param {String} [key] that might be used to add specifity to the event record. */ var addEvent = function(obj, name, callback, key) { var func, events; name = name.toLowerCase(); // Add event listener if (obj.addEventListener) { func = callback; obj.addEventListener(name, func, false); } else if (obj.attachEvent) { func = function() { var evt = window.event; if (!evt.target) { evt.target = evt.srcElement; } evt.preventDefault = preventDefault; evt.stopPropagation = stopPropagation; callback(evt); }; obj.attachEvent('on' + name, func); } // Log event handler to objects internal mOxie registry if (!obj[uid]) { obj[uid] = Basic.guid(); } if (!eventhash.hasOwnProperty(obj[uid])) { eventhash[obj[uid]] = {}; } events = eventhash[obj[uid]]; if (!events.hasOwnProperty(name)) { events[name] = []; } events[name].push({ func: func, orig: callback, // store original callback for IE key: key }); }; /** Remove event handler from the specified object. If third argument (callback) is not specified remove all events with the specified name. @method removeEvent @static @param {Object} obj DOM element to remove event listener(s) from. @param {String} name Name of event listener to remove. @param {Function|String} [callback] might be a callback or unique key to match. */ var removeEvent = function(obj, name, callback) { var type, undef; name = name.toLowerCase(); if (obj[uid] && eventhash[obj[uid]] && eventhash[obj[uid]][name]) { type = eventhash[obj[uid]][name]; } else { return; } for (var i = type.length - 1; i >= 0; i--) { // undefined or not, key should match if (type[i].orig === callback || type[i].key === callback) { if (obj.removeEventListener) { obj.removeEventListener(name, type[i].func, false); } else if (obj.detachEvent) { obj.detachEvent('on'+name, type[i].func); } type[i].orig = null; type[i].func = null; type.splice(i, 1); // If callback was passed we are done here, otherwise proceed if (callback !== undef) { break; } } } // If event array got empty, remove it if (!type.length) { delete eventhash[obj[uid]][name]; } // If mOxie registry has become empty, remove it if (Basic.isEmptyObj(eventhash[obj[uid]])) { delete eventhash[obj[uid]]; // IE doesn't let you remove DOM object property with - delete try { delete obj[uid]; } catch(e) { obj[uid] = undef; } } }; /** Remove all kind of events from the specified object @method removeAllEvents @static @param {Object} obj DOM element to remove event listeners from. @param {String} [key] unique key to match, when removing events. */ var removeAllEvents = function(obj, key) { if (!obj || !obj[uid]) { return; } Basic.each(eventhash[obj[uid]], function(events, name) { removeEvent(obj, name, key); }); }; return { addEvent: addEvent, removeEvent: removeEvent, removeAllEvents: removeAllEvents }; }); // Included from: src/javascript/runtime/html5/file/FileInput.js /** * FileInput.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ /** @class moxie/runtime/html5/file/FileInput @private */ define("moxie/runtime/html5/file/FileInput", [ "moxie/runtime/html5/Runtime", "moxie/file/File", "moxie/core/utils/Basic", "moxie/core/utils/Dom", "moxie/core/utils/Events", "moxie/core/utils/Mime", "moxie/core/utils/Env" ], function(extensions, File, Basic, Dom, Events, Mime, Env) { function FileInput() { var _options; Basic.extend(this, { init: function(options) { var comp = this, I = comp.getRuntime(), input, shimContainer, mimes, browseButton, zIndex, top; _options = options; // figure out accept string mimes = _options.accept.mimes || Mime.extList2mimes(_options.accept, I.can('filter_by_extension')); shimContainer = I.getShimContainer(); shimContainer.innerHTML = ''; input = Dom.get(I.uid); // prepare file input to be placed underneath the browse_button element Basic.extend(input.style, { position: 'absolute', top: 0, left: 0, width: '100%', height: '100%' }); browseButton = Dom.get(_options.browse_button); // Route click event to the input[type=file] element for browsers that support such behavior if (I.can('summon_file_dialog')) { if (Dom.getStyle(browseButton, 'position') === 'static') { browseButton.style.position = 'relative'; } zIndex = parseInt(Dom.getStyle(browseButton, 'z-index'), 10) || 1; browseButton.style.zIndex = zIndex; shimContainer.style.zIndex = zIndex - 1; Events.addEvent(browseButton, 'click', function(e) { var input = Dom.get(I.uid); if (input && !input.disabled) { // for some reason FF (up to 8.0.1 so far) lets to click disabled input[type=file] input.click(); } e.preventDefault(); }, comp.uid); } /* Since we have to place input[type=file] on top of the browse_button for some browsers, browse_button loses interactivity, so we restore it here */ top = I.can('summon_file_dialog') ? browseButton : shimContainer; Events.addEvent(top, 'mouseover', function() { comp.trigger('mouseenter'); }, comp.uid); Events.addEvent(top, 'mouseout', function() { comp.trigger('mouseleave'); }, comp.uid); Events.addEvent(top, 'mousedown', function() { comp.trigger('mousedown'); }, comp.uid); Events.addEvent(Dom.get(_options.container), 'mouseup', function() { comp.trigger('mouseup'); }, comp.uid); input.onchange = function onChange(e) { // there should be only one handler for this comp.files = []; Basic.each(this.files, function(file) { var relativePath = ''; if (_options.directory) { // folders are represented by dots, filter them out (Chrome 11+) if (file.name == ".") { // if it looks like a folder... return true; } } if (file.webkitRelativePath) { relativePath = '/' + file.webkitRelativePath.replace(/^\//, ''); } file = new File(I.uid, file); file.relativePath = relativePath; comp.files.push(file); }); // clearing the value enables the user to select the same file again if they want to if (Env.browser !== 'IE' && Env.browser !== 'IEMobile') { this.value = ''; } else { // in IE input[type="file"] is read-only so the only way to reset it is to re-insert it var clone = this.cloneNode(true); this.parentNode.replaceChild(clone, this); clone.onchange = onChange; } if (comp.files.length) { comp.trigger('change'); } }; // ready event is perfectly asynchronous comp.trigger({ type: 'ready', async: true }); shimContainer = null; }, disable: function(state) { var I = this.getRuntime(), input; if ((input = Dom.get(I.uid))) { input.disabled = !!state; } }, destroy: function() { var I = this.getRuntime() , shim = I.getShim() , shimContainer = I.getShimContainer() ; Events.removeAllEvents(shimContainer, this.uid); Events.removeAllEvents(_options && Dom.get(_options.container), this.uid); Events.removeAllEvents(_options && Dom.get(_options.browse_button), this.uid); if (shimContainer) { shimContainer.innerHTML = ''; } shim.removeInstance(this.uid); _options = shimContainer = shim = null; } }); } return (extensions.FileInput = FileInput); }); // Included from: src/javascript/runtime/html5/file/Blob.js /** * Blob.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ /** @class moxie/runtime/html5/file/Blob @private */ define("moxie/runtime/html5/file/Blob", [ "moxie/runtime/html5/Runtime", "moxie/file/Blob" ], function(extensions, Blob) { function HTML5Blob() { function w3cBlobSlice(blob, start, end) { var blobSlice; if (window.File.prototype.slice) { try { blob.slice(); // depricated version will throw WRONG_ARGUMENTS_ERR exception return blob.slice(start, end); } catch (e) { // depricated slice method return blob.slice(start, end - start); } // slice method got prefixed: https://bugzilla.mozilla.org/show_bug.cgi?id=649672 } else if ((blobSlice = window.File.prototype.webkitSlice || window.File.prototype.mozSlice)) { return blobSlice.call(blob, start, end); } else { return null; // or throw some exception } } this.slice = function() { return new Blob(this.getRuntime().uid, w3cBlobSlice.apply(this, arguments)); }; } return (extensions.Blob = HTML5Blob); }); // Included from: src/javascript/runtime/html5/file/FileDrop.js /** * FileDrop.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ /** @class moxie/runtime/html5/file/FileDrop @private */ define("moxie/runtime/html5/file/FileDrop", [ "moxie/runtime/html5/Runtime", 'moxie/file/File', "moxie/core/utils/Basic", "moxie/core/utils/Dom", "moxie/core/utils/Events", "moxie/core/utils/Mime" ], function(extensions, File, Basic, Dom, Events, Mime) { function FileDrop() { var _files = [], _allowedExts = [], _options, _ruid; Basic.extend(this, { init: function(options) { var comp = this, dropZone; _options = options; _ruid = comp.ruid; // every dropped-in file should have a reference to the runtime _allowedExts = _extractExts(_options.accept); dropZone = _options.container; Events.addEvent(dropZone, 'dragover', function(e) { if (!_hasFiles(e)) { return; } e.preventDefault(); e.dataTransfer.dropEffect = 'copy'; }, comp.uid); Events.addEvent(dropZone, 'drop', function(e) { if (!_hasFiles(e)) { return; } e.preventDefault(); _files = []; // Chrome 21+ accepts folders via Drag'n'Drop if (e.dataTransfer.items && e.dataTransfer.items[0].webkitGetAsEntry) { _readItems(e.dataTransfer.items, function() { comp.files = _files; comp.trigger("drop"); }); } else { Basic.each(e.dataTransfer.files, function(file) { _addFile(file); }); comp.files = _files; comp.trigger("drop"); } }, comp.uid); Events.addEvent(dropZone, 'dragenter', function(e) { comp.trigger("dragenter"); }, comp.uid); Events.addEvent(dropZone, 'dragleave', function(e) { comp.trigger("dragleave"); }, comp.uid); }, destroy: function() { Events.removeAllEvents(_options && Dom.get(_options.container), this.uid); _ruid = _files = _allowedExts = _options = null; } }); function _hasFiles(e) { if (!e.dataTransfer || !e.dataTransfer.types) { // e.dataTransfer.files is not available in Gecko during dragover return false; } var types = Basic.toArray(e.dataTransfer.types || []); return Basic.inArray("Files", types) !== -1 || Basic.inArray("public.file-url", types) !== -1 || // Safari < 5 Basic.inArray("application/x-moz-file", types) !== -1 // Gecko < 1.9.2 (< Firefox 3.6) ; } function _addFile(file, relativePath) { if (_isAcceptable(file)) { var fileObj = new File(_ruid, file); fileObj.relativePath = relativePath || ''; _files.push(fileObj); } } function _extractExts(accept) { var exts = []; for (var i = 0; i < accept.length; i++) { [].push.apply(exts, accept[i].extensions.split(/\s*,\s*/)); } return Basic.inArray('*', exts) === -1 ? exts : []; } function _isAcceptable(file) { if (!_allowedExts.length) { return true; } var ext = Mime.getFileExtension(file.name); return !ext || Basic.inArray(ext, _allowedExts) !== -1; } function _readItems(items, cb) { var entries = []; Basic.each(items, function(item) { var entry = item.webkitGetAsEntry(); // Address #998 (https://code.google.com/p/chromium/issues/detail?id=332579) if (entry) { // file() fails on OSX when the filename contains a special character (e.g. umlaut): see #61 if (entry.isFile) { _addFile(item.getAsFile(), entry.fullPath); } else { entries.push(entry); } } }); if (entries.length) { _readEntries(entries, cb); } else { cb(); } } function _readEntries(entries, cb) { var queue = []; Basic.each(entries, function(entry) { queue.push(function(cbcb) { _readEntry(entry, cbcb); }); }); Basic.inSeries(queue, function() { cb(); }); } function _readEntry(entry, cb) { if (entry.isFile) { entry.file(function(file) { _addFile(file, entry.fullPath); cb(); }, function() { // fire an error event maybe cb(); }); } else if (entry.isDirectory) { _readDirEntry(entry, cb); } else { cb(); // not file, not directory? what then?.. } } function _readDirEntry(dirEntry, cb) { var entries = [], dirReader = dirEntry.createReader(); // keep quering recursively till no more entries function getEntries(cbcb) { dirReader.readEntries(function(moreEntries) { if (moreEntries.length) { [].push.apply(entries, moreEntries); getEntries(cbcb); } else { cbcb(); } }, cbcb); } // ...and you thought FileReader was crazy... getEntries(function() { _readEntries(entries, cb); }); } } return (extensions.FileDrop = FileDrop); }); // Included from: src/javascript/runtime/html5/file/FileReader.js /** * FileReader.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ /** @class moxie/runtime/html5/file/FileReader @private */ define("moxie/runtime/html5/file/FileReader", [ "moxie/runtime/html5/Runtime", "moxie/core/utils/Encode", "moxie/core/utils/Basic" ], function(extensions, Encode, Basic) { function FileReader() { var _fr, _convertToBinary = false; Basic.extend(this, { read: function(op, blob) { var comp = this; comp.result = ''; _fr = new window.FileReader(); _fr.addEventListener('progress', function(e) { comp.trigger(e); }); _fr.addEventListener('load', function(e) { comp.result = _convertToBinary ? _toBinary(_fr.result) : _fr.result; comp.trigger(e); }); _fr.addEventListener('error', function(e) { comp.trigger(e, _fr.error); }); _fr.addEventListener('loadend', function(e) { _fr = null; comp.trigger(e); }); if (Basic.typeOf(_fr[op]) === 'function') { _convertToBinary = false; _fr[op](blob.getSource()); } else if (op === 'readAsBinaryString') { // readAsBinaryString is depricated in general and never existed in IE10+ _convertToBinary = true; _fr.readAsDataURL(blob.getSource()); } }, abort: function() { if (_fr) { _fr.abort(); } }, destroy: function() { _fr = null; } }); function _toBinary(str) { return Encode.atob(str.substring(str.indexOf('base64,') + 7)); } } return (extensions.FileReader = FileReader); }); // Included from: src/javascript/runtime/html5/xhr/XMLHttpRequest.js /** * XMLHttpRequest.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ /*global ActiveXObject:true */ /** @class moxie/runtime/html5/xhr/XMLHttpRequest @private */ define("moxie/runtime/html5/xhr/XMLHttpRequest", [ "moxie/runtime/html5/Runtime", "moxie/core/utils/Basic", "moxie/core/utils/Mime", "moxie/core/utils/Url", "moxie/file/File", "moxie/file/Blob", "moxie/xhr/FormData", "moxie/core/Exceptions", "moxie/core/utils/Env" ], function(extensions, Basic, Mime, Url, File, Blob, FormData, x, Env) { function XMLHttpRequest() { var self = this , _xhr , _filename ; Basic.extend(this, { send: function(meta, data) { var target = this , isGecko2_5_6 = (Env.browser === 'Mozilla' && Env.verComp(Env.version, 4, '>=') && Env.verComp(Env.version, 7, '<')) , isAndroidBrowser = Env.browser === 'Android Browser' , mustSendAsBinary = false ; // extract file name _filename = meta.url.replace(/^.+?\/([\w\-\.]+)$/, '$1').toLowerCase(); _xhr = _getNativeXHR(); _xhr.open(meta.method, meta.url, meta.async, meta.user, meta.password); // prepare data to be sent if (data instanceof Blob) { if (data.isDetached()) { mustSendAsBinary = true; } data = data.getSource(); } else if (data instanceof FormData) { if (data.hasBlob()) { if (data.getBlob().isDetached()) { data = _prepareMultipart.call(target, data); // _xhr must be instantiated and be in OPENED state mustSendAsBinary = true; } else if ((isGecko2_5_6 || isAndroidBrowser) && Basic.typeOf(data.getBlob().getSource()) === 'blob' && window.FileReader) { // Gecko 2/5/6 can't send blob in FormData: https://bugzilla.mozilla.org/show_bug.cgi?id=649150 // Android browsers (default one and Dolphin) seem to have the same issue, see: #613 _preloadAndSend.call(target, meta, data); return; // _preloadAndSend will reinvoke send() with transmutated FormData =%D } } // transfer fields to real FormData if (data instanceof FormData) { // if still a FormData, e.g. not mangled by _prepareMultipart() var fd = new window.FormData(); data.each(function(value, name) { if (value instanceof Blob) { fd.append(name, value.getSource()); } else { fd.append(name, value); } }); data = fd; } } // if XHR L2 if (_xhr.upload) { if (meta.withCredentials) { _xhr.withCredentials = true; } _xhr.addEventListener('load', function(e) { target.trigger(e); }); _xhr.addEventListener('error', function(e) { target.trigger(e); }); // additionally listen to progress events _xhr.addEventListener('progress', function(e) { target.trigger(e); }); _xhr.upload.addEventListener('progress', function(e) { target.trigger({ type: 'UploadProgress', loaded: e.loaded, total: e.total }); }); // ... otherwise simulate XHR L2 } else { _xhr.onreadystatechange = function onReadyStateChange() { // fake Level 2 events switch (_xhr.readyState) { case 1: // XMLHttpRequest.OPENED // readystatechanged is fired twice for OPENED state (in IE and Mozilla) - neu break; // looks like HEADERS_RECEIVED (state 2) is not reported in Opera (or it's old versions) - neu case 2: // XMLHttpRequest.HEADERS_RECEIVED break; case 3: // XMLHttpRequest.LOADING // try to fire progress event for not XHR L2 var total, loaded; try { if (Url.hasSameOrigin(meta.url)) { // Content-Length not accessible for cross-domain on some browsers total = _xhr.getResponseHeader('Content-Length') || 0; // old Safari throws an exception here } if (_xhr.responseText) { // responseText was introduced in IE7 loaded = _xhr.responseText.length; } } catch(ex) { total = loaded = 0; } target.trigger({ type: 'progress', lengthComputable: !!total, total: parseInt(total, 10), loaded: loaded }); break; case 4: // XMLHttpRequest.DONE // release readystatechange handler (mostly for IE) _xhr.onreadystatechange = function() {}; // usually status 0 is returned when server is unreachable, but FF also fails to status 0 for 408 timeout if (_xhr.status === 0) { target.trigger('error'); } else { target.trigger('load'); } break; } }; } // set request headers if (!Basic.isEmptyObj(meta.headers)) { Basic.each(meta.headers, function(value, header) { _xhr.setRequestHeader(header, value); }); } // request response type if ("" !== meta.responseType && 'responseType' in _xhr) { if ('json' === meta.responseType && !Env.can('return_response_type', 'json')) { // we can fake this one _xhr.responseType = 'text'; } else { _xhr.responseType = meta.responseType; } } // send ... if (!mustSendAsBinary) { _xhr.send(data); } else { if (_xhr.sendAsBinary) { // Gecko _xhr.sendAsBinary(data); } else { // other browsers having support for typed arrays (function() { // mimic Gecko's sendAsBinary var ui8a = new Uint8Array(data.length); for (var i = 0; i < data.length; i++) { ui8a[i] = (data.charCodeAt(i) & 0xff); } _xhr.send(ui8a.buffer); }()); } } target.trigger('loadstart'); }, getStatus: function() { // according to W3C spec it should return 0 for readyState < 3, but instead it throws an exception try { if (_xhr) { return _xhr.status; } } catch(ex) {} return 0; }, getResponse: function(responseType) { var I = this.getRuntime(); try { switch (responseType) { case 'blob': var file = new File(I.uid, _xhr.response); // try to extract file name from content-disposition if possible (might be - not, if CORS for example) var disposition = _xhr.getResponseHeader('Content-Disposition'); if (disposition) { // extract filename from response header if available var match = disposition.match(/filename=([\'\"'])([^\1]+)\1/); if (match) { _filename = match[2]; } } file.name = _filename; // pre-webkit Opera doesn't set type property on the blob response if (!file.type) { file.type = Mime.getFileMime(_filename); } return file; case 'json': if (!Env.can('return_response_type', 'json')) { return _xhr.status === 200 && !!window.JSON ? JSON.parse(_xhr.responseText) : null; } return _xhr.response; case 'document': return _getDocument(_xhr); default: return _xhr.responseText !== '' ? _xhr.responseText : null; // against the specs, but for consistency across the runtimes } } catch(ex) { return null; } }, getAllResponseHeaders: function() { try { return _xhr.getAllResponseHeaders(); } catch(ex) {} return ''; }, abort: function() { if (_xhr) { _xhr.abort(); } }, destroy: function() { self = _filename = null; } }); // here we go... ugly fix for ugly bug function _preloadAndSend(meta, data) { var target = this, blob, fr; // get original blob blob = data.getBlob().getSource(); // preload blob in memory to be sent as binary string fr = new window.FileReader(); fr.onload = function() { // overwrite original blob data.append(data.getBlobName(), new Blob(null, { type: blob.type, data: fr.result })); // invoke send operation again self.send.call(target, meta, data); }; fr.readAsBinaryString(blob); } function _getNativeXHR() { if (window.XMLHttpRequest && !(Env.browser === 'IE' && Env.verComp(Env.version, 8, '<'))) { // IE7 has native XHR but it's buggy return new window.XMLHttpRequest(); } else { return (function() { var progIDs = ['Msxml2.XMLHTTP.6.0', 'Microsoft.XMLHTTP']; // if 6.0 available, use it, otherwise failback to default 3.0 for (var i = 0; i < progIDs.length; i++) { try { return new ActiveXObject(progIDs[i]); } catch (ex) {} } })(); } } // @credits Sergey Ilinsky (http://www.ilinsky.com/) function _getDocument(xhr) { var rXML = xhr.responseXML; var rText = xhr.responseText; // Try parsing responseText (@see: http://www.ilinsky.com/articles/XMLHttpRequest/#bugs-ie-responseXML-content-type) if (Env.browser === 'IE' && rText && rXML && !rXML.documentElement && /[^\/]+\/[^\+]+\+xml/.test(xhr.getResponseHeader("Content-Type"))) { rXML = new window.ActiveXObject("Microsoft.XMLDOM"); rXML.async = false; rXML.validateOnParse = false; rXML.loadXML(rText); } // Check if there is no error in document if (rXML) { if ((Env.browser === 'IE' && rXML.parseError !== 0) || !rXML.documentElement || rXML.documentElement.tagName === "parsererror") { return null; } } return rXML; } function _prepareMultipart(fd) { var boundary = '----moxieboundary' + new Date().getTime() , dashdash = '--' , crlf = '\r\n' , multipart = '' , I = this.getRuntime() ; if (!I.can('send_binary_string')) { throw new x.RuntimeError(x.RuntimeError.NOT_SUPPORTED_ERR); } _xhr.setRequestHeader('Content-Type', 'multipart/form-data; boundary=' + boundary); // append multipart parameters fd.each(function(value, name) { // Firefox 3.6 failed to convert multibyte characters to UTF-8 in sendAsBinary(), // so we try it here ourselves with: unescape(encodeURIComponent(value)) if (value instanceof Blob) { // Build RFC2388 blob multipart += dashdash + boundary + crlf + 'Content-Disposition: form-data; name="' + name + '"; filename="' + unescape(encodeURIComponent(value.name || 'blob')) + '"' + crlf + 'Content-Type: ' + (value.type || 'application/octet-stream') + crlf + crlf + value.getSource() + crlf; } else { multipart += dashdash + boundary + crlf + 'Content-Disposition: form-data; name="' + name + '"' + crlf + crlf + unescape(encodeURIComponent(value)) + crlf; } }); multipart += dashdash + boundary + dashdash + crlf; return multipart; } } return (extensions.XMLHttpRequest = XMLHttpRequest); }); // Included from: src/javascript/runtime/html5/utils/BinaryReader.js /** * BinaryReader.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ /** @class moxie/runtime/html5/utils/BinaryReader @private */ define("moxie/runtime/html5/utils/BinaryReader", [ "moxie/core/utils/Basic" ], function(Basic) { function BinaryReader(data) { if (data instanceof ArrayBuffer) { ArrayBufferReader.apply(this, arguments); } else { UTF16StringReader.apply(this, arguments); } }   Basic.extend(BinaryReader.prototype, { littleEndian: false, read: function(idx, size) { var sum, mv, i; if (idx + size > this.length()) { throw new Error("You are trying to read outside the source boundaries."); } mv = this.littleEndian ? 0 : -8 * (size - 1) ; for (i = 0, sum = 0; i < size; i++) { sum |= (this.readByteAt(idx + i) << Math.abs(mv + i*8)); } return sum; }, write: function(idx, num, size) { var mv, i, str = ''; if (idx > this.length()) { throw new Error("You are trying to write outside the source boundaries."); } mv = this.littleEndian ? 0 : -8 * (size - 1) ; for (i = 0; i < size; i++) { this.writeByteAt(idx + i, (num >> Math.abs(mv + i*8)) & 255); } }, BYTE: function(idx) { return this.read(idx, 1); }, SHORT: function(idx) { return this.read(idx, 2); }, LONG: function(idx) { return this.read(idx, 4); }, SLONG: function(idx) { // 2's complement notation var num = this.read(idx, 4); return (num > 2147483647 ? num - 4294967296 : num); }, CHAR: function(idx) { return String.fromCharCode(this.read(idx, 1)); }, STRING: function(idx, count) { return this.asArray('CHAR', idx, count).join(''); }, asArray: function(type, idx, count) { var values = []; for (var i = 0; i < count; i++) { values[i] = this[type](idx + i); } return values; } }); function ArrayBufferReader(data) { var _dv = new DataView(data); Basic.extend(this, { readByteAt: function(idx) { return _dv.getUint8(idx); }, writeByteAt: function(idx, value) { _dv.setUint8(idx, value); }, SEGMENT: function(idx, size, value) { switch (arguments.length) { case 2: return data.slice(idx, idx + size); case 1: return data.slice(idx); case 3: if (value === null) { value = new ArrayBuffer(); } if (value instanceof ArrayBuffer) { var arr = new Uint8Array(this.length() - size + value.byteLength); if (idx > 0) { arr.set(new Uint8Array(data.slice(0, idx)), 0); } arr.set(new Uint8Array(value), idx); arr.set(new Uint8Array(data.slice(idx + size)), idx + value.byteLength); this.clear(); data = arr.buffer; _dv = new DataView(data); break; } default: return data; } }, length: function() { return data ? data.byteLength : 0; }, clear: function() { _dv = data = null; } }); } function UTF16StringReader(data) { Basic.extend(this, { readByteAt: function(idx) { return data.charCodeAt(idx); }, writeByteAt: function(idx, value) { putstr(String.fromCharCode(value), idx, 1); }, SEGMENT: function(idx, length, segment) { switch (arguments.length) { case 1: return data.substr(idx); case 2: return data.substr(idx, length); case 3: putstr(segment !== null ? segment : '', idx, length); break; default: return data; } }, length: function() { return data ? data.length : 0; }, clear: function() { data = null; } }); function putstr(segment, idx, length) { length = arguments.length === 3 ? length : data.length - idx - 1; data = data.substr(0, idx) + segment + data.substr(length + idx); } } return BinaryReader; }); // Included from: src/javascript/runtime/html5/image/JPEGHeaders.js /** * JPEGHeaders.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ /** @class moxie/runtime/html5/image/JPEGHeaders @private */ define("moxie/runtime/html5/image/JPEGHeaders", [ "moxie/runtime/html5/utils/BinaryReader", "moxie/core/Exceptions" ], function(BinaryReader, x) { return function JPEGHeaders(data) { var headers = [], _br, idx, marker, length = 0; _br = new BinaryReader(data); // Check if data is jpeg if (_br.SHORT(0) !== 0xFFD8) { _br.clear(); throw new x.ImageError(x.ImageError.WRONG_FORMAT); } idx = 2; while (idx <= _br.length()) { marker = _br.SHORT(idx); // omit RST (restart) markers if (marker >= 0xFFD0 && marker <= 0xFFD7) { idx += 2; continue; } // no headers allowed after SOS marker if (marker === 0xFFDA || marker === 0xFFD9) { break; } length = _br.SHORT(idx + 2) + 2; // APPn marker detected if (marker >= 0xFFE1 && marker <= 0xFFEF) { headers.push({ hex: marker, name: 'APP' + (marker & 0x000F), start: idx, length: length, segment: _br.SEGMENT(idx, length) }); } idx += length; } _br.clear(); return { headers: headers, restore: function(data) { var max, i, br; br = new BinaryReader(data); idx = br.SHORT(2) == 0xFFE0 ? 4 + br.SHORT(4) : 2; for (i = 0, max = headers.length; i < max; i++) { br.SEGMENT(idx, 0, headers[i].segment); idx += headers[i].length; } data = br.SEGMENT(); br.clear(); return data; }, strip: function(data) { var br, headers, jpegHeaders, i; jpegHeaders = new JPEGHeaders(data); headers = jpegHeaders.headers; jpegHeaders.purge(); br = new BinaryReader(data); i = headers.length; while (i--) { br.SEGMENT(headers[i].start, headers[i].length, ''); } data = br.SEGMENT(); br.clear(); return data; }, get: function(name) { var array = []; for (var i = 0, max = headers.length; i < max; i++) { if (headers[i].name === name.toUpperCase()) { array.push(headers[i].segment); } } return array; }, set: function(name, segment) { var array = [], i, ii, max; if (typeof(segment) === 'string') { array.push(segment); } else { array = segment; } for (i = ii = 0, max = headers.length; i < max; i++) { if (headers[i].name === name.toUpperCase()) { headers[i].segment = array[ii]; headers[i].length = array[ii].length; ii++; } if (ii >= array.length) { break; } } }, purge: function() { this.headers = headers = []; } }; }; }); // Included from: src/javascript/runtime/html5/image/ExifParser.js /** * ExifParser.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ /** @class moxie/runtime/html5/image/ExifParser @private */ define("moxie/runtime/html5/image/ExifParser", [ "moxie/core/utils/Basic", "moxie/runtime/html5/utils/BinaryReader", "moxie/core/Exceptions" ], function(Basic, BinaryReader, x) { function ExifParser(data) { var __super__, tags, tagDescs, offsets, idx, Tiff; BinaryReader.call(this, data); tags = { tiff: { /* The image orientation viewed in terms of rows and columns. 1 = The 0th row is at the visual top of the image, and the 0th column is the visual left-hand side. 2 = The 0th row is at the visual top of the image, and the 0th column is the visual right-hand side. 3 = The 0th row is at the visual bottom of the image, and the 0th column is the visual right-hand side. 4 = The 0th row is at the visual bottom of the image, and the 0th column is the visual left-hand side. 5 = The 0th row is the visual left-hand side of the image, and the 0th column is the visual top. 6 = The 0th row is the visual right-hand side of the image, and the 0th column is the visual top. 7 = The 0th row is the visual right-hand side of the image, and the 0th column is the visual bottom. 8 = The 0th row is the visual left-hand side of the image, and the 0th column is the visual bottom. */ 0x0112: 'Orientation', 0x010E: 'ImageDescription', 0x010F: 'Make', 0x0110: 'Model', 0x0131: 'Software', 0x8769: 'ExifIFDPointer', 0x8825: 'GPSInfoIFDPointer' }, exif: { 0x9000: 'ExifVersion', 0xA001: 'ColorSpace', 0xA002: 'PixelXDimension', 0xA003: 'PixelYDimension', 0x9003: 'DateTimeOriginal', 0x829A: 'ExposureTime', 0x829D: 'FNumber', 0x8827: 'ISOSpeedRatings', 0x9201: 'ShutterSpeedValue', 0x9202: 'ApertureValue' , 0x9207: 'MeteringMode', 0x9208: 'LightSource', 0x9209: 'Flash', 0x920A: 'FocalLength', 0xA402: 'ExposureMode', 0xA403: 'WhiteBalance', 0xA406: 'SceneCaptureType', 0xA404: 'DigitalZoomRatio', 0xA408: 'Contrast', 0xA409: 'Saturation', 0xA40A: 'Sharpness' }, gps: { 0x0000: 'GPSVersionID', 0x0001: 'GPSLatitudeRef', 0x0002: 'GPSLatitude', 0x0003: 'GPSLongitudeRef', 0x0004: 'GPSLongitude' }, thumb: { 0x0201: 'JPEGInterchangeFormat', 0x0202: 'JPEGInterchangeFormatLength' } }; tagDescs = { 'ColorSpace': { 1: 'sRGB', 0: 'Uncalibrated' }, 'MeteringMode': { 0: 'Unknown', 1: 'Average', 2: 'CenterWeightedAverage', 3: 'Spot', 4: 'MultiSpot', 5: 'Pattern', 6: 'Partial', 255: 'Other' }, 'LightSource': { 1: 'Daylight', 2: 'Fliorescent', 3: 'Tungsten', 4: 'Flash', 9: 'Fine weather', 10: 'Cloudy weather', 11: 'Shade', 12: 'Daylight fluorescent (D 5700 - 7100K)', 13: 'Day white fluorescent (N 4600 -5400K)', 14: 'Cool white fluorescent (W 3900 - 4500K)', 15: 'White fluorescent (WW 3200 - 3700K)', 17: 'Standard light A', 18: 'Standard light B', 19: 'Standard light C', 20: 'D55', 21: 'D65', 22: 'D75', 23: 'D50', 24: 'ISO studio tungsten', 255: 'Other' }, 'Flash': { 0x0000: 'Flash did not fire', 0x0001: 'Flash fired', 0x0005: 'Strobe return light not detected', 0x0007: 'Strobe return light detected', 0x0009: 'Flash fired, compulsory flash mode', 0x000D: 'Flash fired, compulsory flash mode, return light not detected', 0x000F: 'Flash fired, compulsory flash mode, return light detected', 0x0010: 'Flash did not fire, compulsory flash mode', 0x0018: 'Flash did not fire, auto mode', 0x0019: 'Flash fired, auto mode', 0x001D: 'Flash fired, auto mode, return light not detected', 0x001F: 'Flash fired, auto mode, return light detected', 0x0020: 'No flash function', 0x0041: 'Flash fired, red-eye reduction mode', 0x0045: 'Flash fired, red-eye reduction mode, return light not detected', 0x0047: 'Flash fired, red-eye reduction mode, return light detected', 0x0049: 'Flash fired, compulsory flash mode, red-eye reduction mode', 0x004D: 'Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected', 0x004F: 'Flash fired, compulsory flash mode, red-eye reduction mode, return light detected', 0x0059: 'Flash fired, auto mode, red-eye reduction mode', 0x005D: 'Flash fired, auto mode, return light not detected, red-eye reduction mode', 0x005F: 'Flash fired, auto mode, return light detected, red-eye reduction mode' }, 'ExposureMode': { 0: 'Auto exposure', 1: 'Manual exposure', 2: 'Auto bracket' }, 'WhiteBalance': { 0: 'Auto white balance', 1: 'Manual white balance' }, 'SceneCaptureType': { 0: 'Standard', 1: 'Landscape', 2: 'Portrait', 3: 'Night scene' }, 'Contrast': { 0: 'Normal', 1: 'Soft', 2: 'Hard' }, 'Saturation': { 0: 'Normal', 1: 'Low saturation', 2: 'High saturation' }, 'Sharpness': { 0: 'Normal', 1: 'Soft', 2: 'Hard' }, // GPS related 'GPSLatitudeRef': { N: 'North latitude', S: 'South latitude' }, 'GPSLongitudeRef': { E: 'East longitude', W: 'West longitude' } }; offsets = { tiffHeader: 10 }; idx = offsets.tiffHeader; __super__ = { clear: this.clear }; // Public functions Basic.extend(this, { read: function() { try { return ExifParser.prototype.read.apply(this, arguments); } catch (ex) { throw new x.ImageError(x.ImageError.INVALID_META_ERR); } }, write: function() { try { return ExifParser.prototype.write.apply(this, arguments); } catch (ex) { throw new x.ImageError(x.ImageError.INVALID_META_ERR); } }, UNDEFINED: function() { return this.BYTE.apply(this, arguments); }, RATIONAL: function(idx) { return this.LONG(idx) / this.LONG(idx + 4) }, SRATIONAL: function(idx) { return this.SLONG(idx) / this.SLONG(idx + 4) }, ASCII: function(idx) { return this.CHAR(idx); }, TIFF: function() { return Tiff || null; }, EXIF: function() { var Exif = null; if (offsets.exifIFD) { try { Exif = extractTags.call(this, offsets.exifIFD, tags.exif); } catch(ex) { return null; } // Fix formatting of some tags if (Exif.ExifVersion && Basic.typeOf(Exif.ExifVersion) === 'array') { for (var i = 0, exifVersion = ''; i < Exif.ExifVersion.length; i++) { exifVersion += String.fromCharCode(Exif.ExifVersion[i]); } Exif.ExifVersion = exifVersion; } } return Exif; }, GPS: function() { var GPS = null; if (offsets.gpsIFD) { try { GPS = extractTags.call(this, offsets.gpsIFD, tags.gps); } catch (ex) { return null; } // iOS devices (and probably some others) do not put in GPSVersionID tag (why?..) if (GPS.GPSVersionID && Basic.typeOf(GPS.GPSVersionID) === 'array') { GPS.GPSVersionID = GPS.GPSVersionID.join('.'); } } return GPS; }, thumb: function() { if (offsets.IFD1) { try { var IFD1Tags = extractTags.call(this, offsets.IFD1, tags.thumb); if ('JPEGInterchangeFormat' in IFD1Tags) { return this.SEGMENT(offsets.tiffHeader + IFD1Tags.JPEGInterchangeFormat, IFD1Tags.JPEGInterchangeFormatLength); } } catch (ex) {} } return null; }, setExif: function(tag, value) { // Right now only setting of width/height is possible if (tag !== 'PixelXDimension' && tag !== 'PixelYDimension') { return false; } return setTag.call(this, 'exif', tag, value); }, clear: function() { __super__.clear(); data = tags = tagDescs = Tiff = offsets = __super__ = null; } }); // Check if that's APP1 and that it has EXIF if (this.SHORT(0) !== 0xFFE1 || this.STRING(4, 5).toUpperCase() !== "EXIF\0") { throw new x.ImageError(x.ImageError.INVALID_META_ERR); } // Set read order of multi-byte data this.littleEndian = (this.SHORT(idx) == 0x4949); // Check if always present bytes are indeed present if (this.SHORT(idx+=2) !== 0x002A) { throw new x.ImageError(x.ImageError.INVALID_META_ERR); } offsets.IFD0 = offsets.tiffHeader + this.LONG(idx += 2); Tiff = extractTags.call(this, offsets.IFD0, tags.tiff); if ('ExifIFDPointer' in Tiff) { offsets.exifIFD = offsets.tiffHeader + Tiff.ExifIFDPointer; delete Tiff.ExifIFDPointer; } if ('GPSInfoIFDPointer' in Tiff) { offsets.gpsIFD = offsets.tiffHeader + Tiff.GPSInfoIFDPointer; delete Tiff.GPSInfoIFDPointer; } if (Basic.isEmptyObj(Tiff)) { Tiff = null; } // check if we have a thumb as well var IFD1Offset = this.LONG(offsets.IFD0 + this.SHORT(offsets.IFD0) * 12 + 2); if (IFD1Offset) { offsets.IFD1 = offsets.tiffHeader + IFD1Offset; } function extractTags(IFD_offset, tags2extract) { var data = this; var length, i, tag, type, count, size, offset, value, values = [], hash = {}; var types = { 1 : 'BYTE', 7 : 'UNDEFINED', 2 : 'ASCII', 3 : 'SHORT', 4 : 'LONG', 5 : 'RATIONAL', 9 : 'SLONG', 10: 'SRATIONAL' }; var sizes = { 'BYTE' : 1, 'UNDEFINED' : 1, 'ASCII' : 1, 'SHORT' : 2, 'LONG' : 4, 'RATIONAL' : 8, 'SLONG' : 4, 'SRATIONAL' : 8 }; length = data.SHORT(IFD_offset); // The size of APP1 including all these elements shall not exceed the 64 Kbytes specified in the JPEG standard. for (i = 0; i < length; i++) { values = []; // Set binary reader pointer to beginning of the next tag offset = IFD_offset + 2 + i*12; tag = tags2extract[data.SHORT(offset)]; if (tag === undefined) { continue; // Not the tag we requested } type = types[data.SHORT(offset+=2)]; count = data.LONG(offset+=2); size = sizes[type]; if (!size) { throw new x.ImageError(x.ImageError.INVALID_META_ERR); } offset += 4; // tag can only fit 4 bytes of data, if data is larger we should look outside if (size * count > 4) { // instead of data tag contains an offset of the data offset = data.LONG(offset) + offsets.tiffHeader; } // in case we left the boundaries of data throw an early exception if (offset + size * count >= this.length()) { throw new x.ImageError(x.ImageError.INVALID_META_ERR); } // special care for the string if (type === 'ASCII') { hash[tag] = Basic.trim(data.STRING(offset, count).replace(/\0$/, '')); // strip trailing NULL continue; } else { values = data.asArray(type, offset, count); value = (count == 1 ? values[0] : values); if (tagDescs.hasOwnProperty(tag) && typeof value != 'object') { hash[tag] = tagDescs[tag][value]; } else { hash[tag] = value; } } } return hash; } // At the moment only setting of simple (LONG) values, that do not require offset recalculation, is supported function setTag(ifd, tag, value) { var offset, length, tagOffset, valueOffset = 0; // If tag name passed translate into hex key if (typeof(tag) === 'string') { var tmpTags = tags[ifd.toLowerCase()]; for (var hex in tmpTags) { if (tmpTags[hex] === tag) { tag = hex; break; } } } offset = offsets[ifd.toLowerCase() + 'IFD']; length = this.SHORT(offset); for (var i = 0; i < length; i++) { tagOffset = offset + 12 * i + 2; if (this.SHORT(tagOffset) == tag) { valueOffset = tagOffset + 8; break; } } if (!valueOffset) { return false; } try { this.write(valueOffset, value, 4); } catch(ex) { return false; } return true; } } ExifParser.prototype = BinaryReader.prototype; return ExifParser; }); // Included from: src/javascript/runtime/html5/image/JPEG.js /** * JPEG.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ /** @class moxie/runtime/html5/image/JPEG @private */ define("moxie/runtime/html5/image/JPEG", [ "moxie/core/utils/Basic", "moxie/core/Exceptions", "moxie/runtime/html5/image/JPEGHeaders", "moxie/runtime/html5/utils/BinaryReader", "moxie/runtime/html5/image/ExifParser" ], function(Basic, x, JPEGHeaders, BinaryReader, ExifParser) { function JPEG(data) { var _br, _hm, _ep, _info; _br = new BinaryReader(data); // check if it is jpeg if (_br.SHORT(0) !== 0xFFD8) { throw new x.ImageError(x.ImageError.WRONG_FORMAT); } // backup headers _hm = new JPEGHeaders(data); // extract exif info try { _ep = new ExifParser(_hm.get('app1')[0]); } catch(ex) {} // get dimensions _info = _getDimensions.call(this); Basic.extend(this, { type: 'image/jpeg', size: _br.length(), width: _info && _info.width || 0, height: _info && _info.height || 0, setExif: function(tag, value) { if (!_ep) { return false; // or throw an exception } if (Basic.typeOf(tag) === 'object') { Basic.each(tag, function(value, tag) { _ep.setExif(tag, value); }); } else { _ep.setExif(tag, value); } // update internal headers _hm.set('app1', _ep.SEGMENT()); }, writeHeaders: function() { if (!arguments.length) { // if no arguments passed, update headers internally return _hm.restore(data); } return _hm.restore(arguments[0]); }, stripHeaders: function(data) { return _hm.strip(data); }, purge: function() { _purge.call(this); } }); if (_ep) { this.meta = { tiff: _ep.TIFF(), exif: _ep.EXIF(), gps: _ep.GPS(), thumb: _getThumb() }; } function _getDimensions(br) { var idx = 0 , marker , length ; if (!br) { br = _br; } // examine all through the end, since some images might have very large APP segments while (idx <= br.length()) { marker = br.SHORT(idx += 2); if (marker >= 0xFFC0 && marker <= 0xFFC3) { // SOFn idx += 5; // marker (2 bytes) + length (2 bytes) + Sample precision (1 byte) return { height: br.SHORT(idx), width: br.SHORT(idx += 2) }; } length = br.SHORT(idx += 2); idx += length - 2; } return null; } function _getThumb() { var data = _ep.thumb() , br , info ; if (data) { br = new BinaryReader(data); info = _getDimensions(br); br.clear(); if (info) { info.data = data; return info; } } return null; } function _purge() { if (!_ep || !_hm || !_br) { return; // ignore any repeating purge requests } _ep.clear(); _hm.purge(); _br.clear(); _info = _hm = _ep = _br = null; } } return JPEG; }); // Included from: src/javascript/runtime/html5/image/PNG.js /** * PNG.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ /** @class moxie/runtime/html5/image/PNG @private */ define("moxie/runtime/html5/image/PNG", [ "moxie/core/Exceptions", "moxie/core/utils/Basic", "moxie/runtime/html5/utils/BinaryReader" ], function(x, Basic, BinaryReader) { function PNG(data) { var _br, _hm, _ep, _info; _br = new BinaryReader(data); // check if it's png (function() { var idx = 0, i = 0 , signature = [0x8950, 0x4E47, 0x0D0A, 0x1A0A] ; for (i = 0; i < signature.length; i++, idx += 2) { if (signature[i] != _br.SHORT(idx)) { throw new x.ImageError(x.ImageError.WRONG_FORMAT); } } }()); function _getDimensions() { var chunk, idx; chunk = _getChunkAt.call(this, 8); if (chunk.type == 'IHDR') { idx = chunk.start; return { width: _br.LONG(idx), height: _br.LONG(idx += 4) }; } return null; } function _purge() { if (!_br) { return; // ignore any repeating purge requests } _br.clear(); data = _info = _hm = _ep = _br = null; } _info = _getDimensions.call(this); Basic.extend(this, { type: 'image/png', size: _br.length(), width: _info.width, height: _info.height, purge: function() { _purge.call(this); } }); // for PNG we can safely trigger purge automatically, as we do not keep any data for later _purge.call(this); function _getChunkAt(idx) { var length, type, start, CRC; length = _br.LONG(idx); type = _br.STRING(idx += 4, 4); start = idx += 4; CRC = _br.LONG(idx + length); return { length: length, type: type, start: start, CRC: CRC }; } } return PNG; }); // Included from: src/javascript/runtime/html5/image/ImageInfo.js /** * ImageInfo.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ /** @class moxie/runtime/html5/image/ImageInfo @private */ define("moxie/runtime/html5/image/ImageInfo", [ "moxie/core/utils/Basic", "moxie/core/Exceptions", "moxie/runtime/html5/image/JPEG", "moxie/runtime/html5/image/PNG" ], function(Basic, x, JPEG, PNG) { /** Optional image investigation tool for HTML5 runtime. Provides the following features: - ability to distinguish image type (JPEG or PNG) by signature - ability to extract image width/height directly from it's internals, without preloading in memory (fast) - ability to extract APP headers from JPEGs (Exif, GPS, etc) - ability to replace width/height tags in extracted JPEG headers - ability to restore APP headers, that were for example stripped during image manipulation @class ImageInfo @constructor @param {String} data Image source as binary string */ return function(data) { var _cs = [JPEG, PNG], _img; // figure out the format, throw: ImageError.WRONG_FORMAT if not supported _img = (function() { for (var i = 0; i < _cs.length; i++) { try { return new _cs[i](data); } catch (ex) { // console.info(ex); } } throw new x.ImageError(x.ImageError.WRONG_FORMAT); }()); Basic.extend(this, { /** Image Mime Type extracted from it's depths @property type @type {String} @default '' */ type: '', /** Image size in bytes @property size @type {Number} @default 0 */ size: 0, /** Image width extracted from image source @property width @type {Number} @default 0 */ width: 0, /** Image height extracted from image source @property height @type {Number} @default 0 */ height: 0, /** Sets Exif tag. Currently applicable only for width and height tags. Obviously works only with JPEGs. @method setExif @param {String} tag Tag to set @param {Mixed} value Value to assign to the tag */ setExif: function() {}, /** Restores headers to the source. @method writeHeaders @param {String} data Image source as binary string @return {String} Updated binary string */ writeHeaders: function(data) { return data; }, /** Strip all headers from the source. @method stripHeaders @param {String} data Image source as binary string @return {String} Updated binary string */ stripHeaders: function(data) { return data; }, /** Dispose resources. @method purge */ purge: function() { data = null; } }); Basic.extend(this, _img); this.purge = function() { _img.purge(); _img = null; }; }; }); // Included from: src/javascript/runtime/html5/image/MegaPixel.js /** (The MIT License) Copyright (c) 2012 Shinichi Tomita ; Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /** * Mega pixel image rendering library for iOS6 Safari * * Fixes iOS6 Safari's image file rendering issue for large size image (over mega-pixel), * which causes unexpected subsampling when drawing it in canvas. * By using this library, you can safely render the image with proper stretching. * * Copyright (c) 2012 Shinichi Tomita * Released under the MIT license */ /** @class moxie/runtime/html5/image/MegaPixel @private */ define("moxie/runtime/html5/image/MegaPixel", [], function() { /** * Rendering image element (with resizing) into the canvas element */ function renderImageToCanvas(img, canvas, options) { var iw = img.naturalWidth, ih = img.naturalHeight; var width = options.width, height = options.height; var x = options.x || 0, y = options.y || 0; var ctx = canvas.getContext('2d'); if (detectSubsampling(img)) { iw /= 2; ih /= 2; } var d = 1024; // size of tiling canvas var tmpCanvas = document.createElement('canvas'); tmpCanvas.width = tmpCanvas.height = d; var tmpCtx = tmpCanvas.getContext('2d'); var vertSquashRatio = detectVerticalSquash(img, iw, ih); var sy = 0; while (sy < ih) { var sh = sy + d > ih ? ih - sy : d; var sx = 0; while (sx < iw) { var sw = sx + d > iw ? iw - sx : d; tmpCtx.clearRect(0, 0, d, d); tmpCtx.drawImage(img, -sx, -sy); var dx = (sx * width / iw + x) << 0; var dw = Math.ceil(sw * width / iw); var dy = (sy * height / ih / vertSquashRatio + y) << 0; var dh = Math.ceil(sh * height / ih / vertSquashRatio); ctx.drawImage(tmpCanvas, 0, 0, sw, sh, dx, dy, dw, dh); sx += d; } sy += d; } tmpCanvas = tmpCtx = null; } /** * Detect subsampling in loaded image. * In iOS, larger images than 2M pixels may be subsampled in rendering. */ function detectSubsampling(img) { var iw = img.naturalWidth, ih = img.naturalHeight; if (iw * ih > 1024 * 1024) { // subsampling may happen over megapixel image var canvas = document.createElement('canvas'); canvas.width = canvas.height = 1; var ctx = canvas.getContext('2d'); ctx.drawImage(img, -iw + 1, 0); // subsampled image becomes half smaller in rendering size. // check alpha channel value to confirm image is covering edge pixel or not. // if alpha value is 0 image is not covering, hence subsampled. return ctx.getImageData(0, 0, 1, 1).data[3] === 0; } else { return false; } } /** * Detecting vertical squash in loaded image. * Fixes a bug which squash image vertically while drawing into canvas for some images. */ function detectVerticalSquash(img, iw, ih) { var canvas = document.createElement('canvas'); canvas.width = 1; canvas.height = ih; var ctx = canvas.getContext('2d'); ctx.drawImage(img, 0, 0); var data = ctx.getImageData(0, 0, 1, ih).data; // search image edge pixel position in case it is squashed vertically. var sy = 0; var ey = ih; var py = ih; while (py > sy) { var alpha = data[(py - 1) * 4 + 3]; if (alpha === 0) { ey = py; } else { sy = py; } py = (ey + sy) >> 1; } canvas = null; var ratio = (py / ih); return (ratio === 0) ? 1 : ratio; } return { isSubsampled: detectSubsampling, renderTo: renderImageToCanvas }; }); // Included from: src/javascript/runtime/html5/image/Image.js /** * Image.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ /** @class moxie/runtime/html5/image/Image @private */ define("moxie/runtime/html5/image/Image", [ "moxie/runtime/html5/Runtime", "moxie/core/utils/Basic", "moxie/core/Exceptions", "moxie/core/utils/Encode", "moxie/file/Blob", "moxie/file/File", "moxie/runtime/html5/image/ImageInfo", "moxie/runtime/html5/image/MegaPixel", "moxie/core/utils/Mime", "moxie/core/utils/Env" ], function(extensions, Basic, x, Encode, Blob, File, ImageInfo, MegaPixel, Mime, Env) { function HTML5Image() { var me = this , _img, _imgInfo, _canvas, _binStr, _blob , _modified = false // is set true whenever image is modified , _preserveHeaders = true ; Basic.extend(this, { loadFromBlob: function(blob) { var comp = this, I = comp.getRuntime() , asBinary = arguments.length > 1 ? arguments[1] : true ; if (!I.can('access_binary')) { throw new x.RuntimeError(x.RuntimeError.NOT_SUPPORTED_ERR); } _blob = blob; if (blob.isDetached()) { _binStr = blob.getSource(); _preload.call(this, _binStr); return; } else { _readAsDataUrl.call(this, blob.getSource(), function(dataUrl) { if (asBinary) { _binStr = _toBinary(dataUrl); } _preload.call(comp, dataUrl); }); } }, loadFromImage: function(img, exact) { this.meta = img.meta; _blob = new File(null, { name: img.name, size: img.size, type: img.type }); _preload.call(this, exact ? (_binStr = img.getAsBinaryString()) : img.getAsDataURL()); }, getInfo: function() { var I = this.getRuntime(), info; if (!_imgInfo && _binStr && I.can('access_image_binary')) { _imgInfo = new ImageInfo(_binStr); } info = { width: _getImg().width || 0, height: _getImg().height || 0, type: _blob.type || Mime.getFileMime(_blob.name), size: _binStr && _binStr.length || _blob.size || 0, name: _blob.name || '', meta: _imgInfo && _imgInfo.meta || this.meta || {} }; // store thumbnail data as blob if (info.meta && info.meta.thumb && !(info.meta.thumb.data instanceof Blob)) { info.meta.thumb.data = new Blob(null, { type: 'image/jpeg', data: info.meta.thumb.data }); } return info; }, downsize: function() { _downsize.apply(this, arguments); }, getAsCanvas: function() { if (_canvas) { _canvas.id = this.uid + '_canvas'; } return _canvas; }, getAsBlob: function(type, quality) { if (type !== this.type) { // if different mime type requested prepare image for conversion _downsize.call(this, this.width, this.height, false); } return new File(null, { name: _blob.name || '', type: type, data: me.getAsBinaryString.call(this, type, quality) }); }, getAsDataURL: function(type) { var quality = arguments[1] || 90; // if image has not been modified, return the source right away if (!_modified) { return _img.src; } if ('image/jpeg' !== type) { return _canvas.toDataURL('image/png'); } else { try { // older Geckos used to result in an exception on quality argument return _canvas.toDataURL('image/jpeg', quality/100); } catch (ex) { return _canvas.toDataURL('image/jpeg'); } } }, getAsBinaryString: function(type, quality) { // if image has not been modified, return the source right away if (!_modified) { // if image was not loaded from binary string if (!_binStr) { _binStr = _toBinary(me.getAsDataURL(type, quality)); } return _binStr; } if ('image/jpeg' !== type) { _binStr = _toBinary(me.getAsDataURL(type, quality)); } else { var dataUrl; // if jpeg if (!quality) { quality = 90; } try { // older Geckos used to result in an exception on quality argument dataUrl = _canvas.toDataURL('image/jpeg', quality/100); } catch (ex) { dataUrl = _canvas.toDataURL('image/jpeg'); } _binStr = _toBinary(dataUrl); if (_imgInfo) { _binStr = _imgInfo.stripHeaders(_binStr); if (_preserveHeaders) { // update dimensions info in exif if (_imgInfo.meta && _imgInfo.meta.exif) { _imgInfo.setExif({ PixelXDimension: this.width, PixelYDimension: this.height }); } // re-inject the headers _binStr = _imgInfo.writeHeaders(_binStr); } // will be re-created from fresh on next getInfo call _imgInfo.purge(); _imgInfo = null; } } _modified = false; return _binStr; }, destroy: function() { me = null; _purge.call(this); this.getRuntime().getShim().removeInstance(this.uid); } }); function _getImg() { if (!_canvas && !_img) { throw new x.ImageError(x.DOMException.INVALID_STATE_ERR); } return _canvas || _img; } function _toBinary(str) { return Encode.atob(str.substring(str.indexOf('base64,') + 7)); } function _toDataUrl(str, type) { return 'data:' + (type || '') + ';base64,' + Encode.btoa(str); } function _preload(str) { var comp = this; _img = new Image(); _img.onerror = function() { _purge.call(this); comp.trigger('error', x.ImageError.WRONG_FORMAT); }; _img.onload = function() { comp.trigger('load'); }; _img.src = str.substr(0, 5) == 'data:' ? str : _toDataUrl(str, _blob.type); } function _readAsDataUrl(file, callback) { var comp = this, fr; // use FileReader if it's available if (window.FileReader) { fr = new FileReader(); fr.onload = function() { callback(this.result); }; fr.onerror = function() { comp.trigger('error', x.ImageError.WRONG_FORMAT); }; fr.readAsDataURL(file); } else { return callback(file.getAsDataURL()); } } function _downsize(width, height, crop, preserveHeaders) { var self = this , scale , mathFn , x = 0 , y = 0 , img , destWidth , destHeight , orientation ; _preserveHeaders = preserveHeaders; // we will need to check this on export (see getAsBinaryString()) // take into account orientation tag orientation = (this.meta && this.meta.tiff && this.meta.tiff.Orientation) || 1; if (Basic.inArray(orientation, [5,6,7,8]) !== -1) { // values that require 90 degree rotation // swap dimensions var tmp = width; width = height; height = tmp; } img = _getImg(); // unify dimensions if (!crop) { scale = Math.min(width/img.width, height/img.height); } else { // one of the dimensions may exceed the actual image dimensions - we need to take the smallest value width = Math.min(width, img.width); height = Math.min(height, img.height); scale = Math.max(width/img.width, height/img.height); } // we only downsize here if (scale > 1 && !crop && preserveHeaders) { this.trigger('Resize'); return; } // prepare canvas if necessary if (!_canvas) { _canvas = document.createElement("canvas"); } // calculate dimensions of proportionally resized image destWidth = Math.round(img.width * scale); destHeight = Math.round(img.height * scale); // scale image and canvas if (crop) { _canvas.width = width; _canvas.height = height; // if dimensions of the resulting image still larger than canvas, center it if (destWidth > width) { x = Math.round((destWidth - width) / 2); } if (destHeight > height) { y = Math.round((destHeight - height) / 2); } } else { _canvas.width = destWidth; _canvas.height = destHeight; } // rotate if required, according to orientation tag if (!_preserveHeaders) { _rotateToOrientaion(_canvas.width, _canvas.height, orientation); } _drawToCanvas.call(this, img, _canvas, -x, -y, destWidth, destHeight); this.width = _canvas.width; this.height = _canvas.height; _modified = true; self.trigger('Resize'); } function _drawToCanvas(img, canvas, x, y, w, h) { if (Env.OS === 'iOS') { // avoid squish bug in iOS6 MegaPixel.renderTo(img, canvas, { width: w, height: h, x: x, y: y }); } else { var ctx = canvas.getContext('2d'); ctx.drawImage(img, x, y, w, h); } } /** * Transform canvas coordination according to specified frame size and orientation * Orientation value is from EXIF tag * @author Shinichi Tomita */ function _rotateToOrientaion(width, height, orientation) { switch (orientation) { case 5: case 6: case 7: case 8: _canvas.width = height; _canvas.height = width; break; default: _canvas.width = width; _canvas.height = height; } /** 1 = The 0th row is at the visual top of the image, and the 0th column is the visual left-hand side. 2 = The 0th row is at the visual top of the image, and the 0th column is the visual right-hand side. 3 = The 0th row is at the visual bottom of the image, and the 0th column is the visual right-hand side. 4 = The 0th row is at the visual bottom of the image, and the 0th column is the visual left-hand side. 5 = The 0th row is the visual left-hand side of the image, and the 0th column is the visual top. 6 = The 0th row is the visual right-hand side of the image, and the 0th column is the visual top. 7 = The 0th row is the visual right-hand side of the image, and the 0th column is the visual bottom. 8 = The 0th row is the visual left-hand side of the image, and the 0th column is the visual bottom. */ var ctx = _canvas.getContext('2d'); switch (orientation) { case 2: // horizontal flip ctx.translate(width, 0); ctx.scale(-1, 1); break; case 3: // 180 rotate left ctx.translate(width, height); ctx.rotate(Math.PI); break; case 4: // vertical flip ctx.translate(0, height); ctx.scale(1, -1); break; case 5: // vertical flip + 90 rotate right ctx.rotate(0.5 * Math.PI); ctx.scale(1, -1); break; case 6: // 90 rotate right ctx.rotate(0.5 * Math.PI); ctx.translate(0, -height); break; case 7: // horizontal flip + 90 rotate right ctx.rotate(0.5 * Math.PI); ctx.translate(width, -height); ctx.scale(-1, 1); break; case 8: // 90 rotate left ctx.rotate(-0.5 * Math.PI); ctx.translate(-width, 0); break; } } function _purge() { if (_imgInfo) { _imgInfo.purge(); _imgInfo = null; } _binStr = _img = _canvas = _blob = null; _modified = false; } } return (extensions.Image = HTML5Image); }); /** * Stub for moxie/runtime/flash/Runtime * @private */ define("moxie/runtime/flash/Runtime", [ ], function() { return {}; }); /** * Stub for moxie/runtime/silverlight/Runtime * @private */ define("moxie/runtime/silverlight/Runtime", [ ], function() { return {}; }); // Included from: src/javascript/runtime/html4/Runtime.js /** * Runtime.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ /*global File:true */ /** Defines constructor for HTML4 runtime. @class moxie/runtime/html4/Runtime @private */ define("moxie/runtime/html4/Runtime", [ "moxie/core/utils/Basic", "moxie/core/Exceptions", "moxie/runtime/Runtime", "moxie/core/utils/Env" ], function(Basic, x, Runtime, Env) { var type = 'html4', extensions = {}; function Html4Runtime(options) { var I = this , Test = Runtime.capTest , True = Runtime.capTrue ; Runtime.call(this, options, type, { access_binary: Test(window.FileReader || window.File && File.getAsDataURL), access_image_binary: false, display_media: Test(extensions.Image && (Env.can('create_canvas') || Env.can('use_data_uri_over32kb'))), do_cors: false, drag_and_drop: false, filter_by_extension: Test(function() { // if you know how to feature-detect this, please suggest return (Env.browser === 'Chrome' && Env.verComp(Env.version, 28, '>=')) || (Env.browser === 'IE' && Env.verComp(Env.version, 10, '>=')) || (Env.browser === 'Safari' && Env.verComp(Env.version, 7, '>=')); }()), resize_image: function() { return extensions.Image && I.can('access_binary') && Env.can('create_canvas'); }, report_upload_progress: false, return_response_headers: false, return_response_type: function(responseType) { if (responseType === 'json' && !!window.JSON) { return true; } return !!~Basic.inArray(responseType, ['text', 'document', '']); }, return_status_code: function(code) { return !Basic.arrayDiff(code, [200, 404]); }, select_file: function() { return Env.can('use_fileinput'); }, select_multiple: false, send_binary_string: false, send_custom_headers: false, send_multipart: true, slice_blob: false, stream_upload: function() { return I.can('select_file'); }, summon_file_dialog: function() { // yeah... some dirty sniffing here... return I.can('select_file') && ( (Env.browser === 'Firefox' && Env.verComp(Env.version, 4, '>=')) || (Env.browser === 'Opera' && Env.verComp(Env.version, 12, '>=')) || (Env.browser === 'IE' && Env.verComp(Env.version, 10, '>=')) || !!~Basic.inArray(Env.browser, ['Chrome', 'Safari']) ); }, upload_filesize: True, use_http_method: function(methods) { return !Basic.arrayDiff(methods, ['GET', 'POST']); } }); Basic.extend(this, { init : function() { this.trigger("Init"); }, destroy: (function(destroy) { // extend default destroy method return function() { destroy.call(I); destroy = I = null; }; }(this.destroy)) }); Basic.extend(this.getShim(), extensions); } Runtime.addConstructor(type, Html4Runtime); return extensions; }); // Included from: src/javascript/runtime/html4/file/FileInput.js /** * FileInput.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ /** @class moxie/runtime/html4/file/FileInput @private */ define("moxie/runtime/html4/file/FileInput", [ "moxie/runtime/html4/Runtime", "moxie/file/File", "moxie/core/utils/Basic", "moxie/core/utils/Dom", "moxie/core/utils/Events", "moxie/core/utils/Mime", "moxie/core/utils/Env" ], function(extensions, File, Basic, Dom, Events, Mime, Env) { function FileInput() { var _uid, _mimes = [], _options; function addInput() { var comp = this, I = comp.getRuntime(), shimContainer, browseButton, currForm, form, input, uid; uid = Basic.guid('uid_'); shimContainer = I.getShimContainer(); // we get new ref everytime to avoid memory leaks in IE if (_uid) { // move previous form out of the view currForm = Dom.get(_uid + '_form'); if (currForm) { Basic.extend(currForm.style, { top: '100%' }); } } // build form in DOM, since innerHTML version not able to submit file for some reason form = document.createElement('form'); form.setAttribute('id', uid + '_form'); form.setAttribute('method', 'post'); form.setAttribute('enctype', 'multipart/form-data'); form.setAttribute('encoding', 'multipart/form-data'); Basic.extend(form.style, { overflow: 'hidden', position: 'absolute', top: 0, left: 0, width: '100%', height: '100%' }); input = document.createElement('input'); input.setAttribute('id', uid); input.setAttribute('type', 'file'); input.setAttribute('name', _options.name || 'Filedata'); input.setAttribute('accept', _mimes.join(',')); Basic.extend(input.style, { fontSize: '999px', opacity: 0 }); form.appendChild(input); shimContainer.appendChild(form); // prepare file input to be placed underneath the browse_button element Basic.extend(input.style, { position: 'absolute', top: 0, left: 0, width: '100%', height: '100%' }); if (Env.browser === 'IE' && Env.verComp(Env.version, 10, '<')) { Basic.extend(input.style, { filter : "progid:DXImageTransform.Microsoft.Alpha(opacity=0)" }); } input.onchange = function() { // there should be only one handler for this var file; if (!this.value) { return; } if (this.files) { // check if browser is fresh enough file = this.files[0]; // ignore empty files (IE10 for example hangs if you try to send them via XHR) if (file.size === 0) { form.parentNode.removeChild(form); return; } } else { file = { name: this.value }; } file = new File(I.uid, file); // clear event handler this.onchange = function() {}; addInput.call(comp); comp.files = [file]; // substitute all ids with file uids (consider file.uid read-only - we cannot do it the other way around) input.setAttribute('id', file.uid); form.setAttribute('id', file.uid + '_form'); comp.trigger('change'); input = form = null; }; // route click event to the input if (I.can('summon_file_dialog')) { browseButton = Dom.get(_options.browse_button); Events.removeEvent(browseButton, 'click', comp.uid); Events.addEvent(browseButton, 'click', function(e) { if (input && !input.disabled) { // for some reason FF (up to 8.0.1 so far) lets to click disabled input[type=file] input.click(); } e.preventDefault(); }, comp.uid); } _uid = uid; shimContainer = currForm = browseButton = null; } Basic.extend(this, { init: function(options) { var comp = this, I = comp.getRuntime(), shimContainer; // figure out accept string _options = options; _mimes = options.accept.mimes || Mime.extList2mimes(options.accept, I.can('filter_by_extension')); shimContainer = I.getShimContainer(); (function() { var browseButton, zIndex, top; browseButton = Dom.get(options.browse_button); // Route click event to the input[type=file] element for browsers that support such behavior if (I.can('summon_file_dialog')) { if (Dom.getStyle(browseButton, 'position') === 'static') { browseButton.style.position = 'relative'; } zIndex = parseInt(Dom.getStyle(browseButton, 'z-index'), 10) || 1; browseButton.style.zIndex = zIndex; shimContainer.style.zIndex = zIndex - 1; } /* Since we have to place input[type=file] on top of the browse_button for some browsers, browse_button loses interactivity, so we restore it here */ top = I.can('summon_file_dialog') ? browseButton : shimContainer; Events.addEvent(top, 'mouseover', function() { comp.trigger('mouseenter'); }, comp.uid); Events.addEvent(top, 'mouseout', function() { comp.trigger('mouseleave'); }, comp.uid); Events.addEvent(top, 'mousedown', function() { comp.trigger('mousedown'); }, comp.uid); Events.addEvent(Dom.get(options.container), 'mouseup', function() { comp.trigger('mouseup'); }, comp.uid); browseButton = null; }()); addInput.call(this); shimContainer = null; // trigger ready event asynchronously comp.trigger({ type: 'ready', async: true }); }, disable: function(state) { var input; if ((input = Dom.get(_uid))) { input.disabled = !!state; } }, destroy: function() { var I = this.getRuntime() , shim = I.getShim() , shimContainer = I.getShimContainer() ; Events.removeAllEvents(shimContainer, this.uid); Events.removeAllEvents(_options && Dom.get(_options.container), this.uid); Events.removeAllEvents(_options && Dom.get(_options.browse_button), this.uid); if (shimContainer) { shimContainer.innerHTML = ''; } shim.removeInstance(this.uid); _uid = _mimes = _options = shimContainer = shim = null; } }); } return (extensions.FileInput = FileInput); }); // Included from: src/javascript/runtime/html4/file/FileReader.js /** * FileReader.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ /** @class moxie/runtime/html4/file/FileReader @private */ define("moxie/runtime/html4/file/FileReader", [ "moxie/runtime/html4/Runtime", "moxie/runtime/html5/file/FileReader" ], function(extensions, FileReader) { return (extensions.FileReader = FileReader); }); // Included from: src/javascript/runtime/html4/xhr/XMLHttpRequest.js /** * XMLHttpRequest.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ /** @class moxie/runtime/html4/xhr/XMLHttpRequest @private */ define("moxie/runtime/html4/xhr/XMLHttpRequest", [ "moxie/runtime/html4/Runtime", "moxie/core/utils/Basic", "moxie/core/utils/Dom", "moxie/core/utils/Url", "moxie/core/Exceptions", "moxie/core/utils/Events", "moxie/file/Blob", "moxie/xhr/FormData" ], function(extensions, Basic, Dom, Url, x, Events, Blob, FormData) { function XMLHttpRequest() { var _status, _response, _iframe; function cleanup(cb) { var target = this, uid, form, inputs, i, hasFile = false; if (!_iframe) { return; } uid = _iframe.id.replace(/_iframe$/, ''); form = Dom.get(uid + '_form'); if (form) { inputs = form.getElementsByTagName('input'); i = inputs.length; while (i--) { switch (inputs[i].getAttribute('type')) { case 'hidden': inputs[i].parentNode.removeChild(inputs[i]); break; case 'file': hasFile = true; // flag the case for later break; } } inputs = []; if (!hasFile) { // we need to keep the form for sake of possible retries form.parentNode.removeChild(form); } form = null; } // without timeout, request is marked as canceled (in console) setTimeout(function() { Events.removeEvent(_iframe, 'load', target.uid); if (_iframe.parentNode) { // #382 _iframe.parentNode.removeChild(_iframe); } // check if shim container has any other children, if - not, remove it as well var shimContainer = target.getRuntime().getShimContainer(); if (!shimContainer.children.length) { shimContainer.parentNode.removeChild(shimContainer); } shimContainer = _iframe = null; cb(); }, 1); } Basic.extend(this, { send: function(meta, data) { var target = this, I = target.getRuntime(), uid, form, input, blob; _status = _response = null; function createIframe() { var container = I.getShimContainer() || document.body , temp = document.createElement('div') ; // IE 6 won't be able to set the name using setAttribute or iframe.name temp.innerHTML = ''; _iframe = temp.firstChild; container.appendChild(_iframe); /* _iframe.onreadystatechange = function() { console.info(_iframe.readyState); };*/ Events.addEvent(_iframe, 'load', function() { // _iframe.onload doesn't work in IE lte 8 var el; try { el = _iframe.contentWindow.document || _iframe.contentDocument || window.frames[_iframe.id].document; // try to detect some standard error pages if (/^4(0[0-9]|1[0-7]|2[2346])\s/.test(el.title)) { // test if title starts with 4xx HTTP error _status = el.title.replace(/^(\d+).*$/, '$1'); } else { _status = 200; // get result _response = Basic.trim(el.body.innerHTML); // we need to fire these at least once target.trigger({ type: 'progress', loaded: _response.length, total: _response.length }); if (blob) { // if we were uploading a file target.trigger({ type: 'uploadprogress', loaded: blob.size || 1025, total: blob.size || 1025 }); } } } catch (ex) { if (Url.hasSameOrigin(meta.url)) { // if response is sent with error code, iframe in IE gets redirected to res://ieframe.dll/http_x.htm // which obviously results to cross domain error (wtf?) _status = 404; } else { cleanup.call(target, function() { target.trigger('error'); }); return; } } cleanup.call(target, function() { target.trigger('load'); }); }, target.uid); } // end createIframe // prepare data to be sent and convert if required if (data instanceof FormData && data.hasBlob()) { blob = data.getBlob(); uid = blob.uid; input = Dom.get(uid); form = Dom.get(uid + '_form'); if (!form) { throw new x.DOMException(x.DOMException.NOT_FOUND_ERR); } } else { uid = Basic.guid('uid_'); form = document.createElement('form'); form.setAttribute('id', uid + '_form'); form.setAttribute('method', meta.method); form.setAttribute('enctype', 'multipart/form-data'); form.setAttribute('encoding', 'multipart/form-data'); I.getShimContainer().appendChild(form); } // set upload target form.setAttribute('target', uid + '_iframe'); if (data instanceof FormData) { data.each(function(value, name) { if (value instanceof Blob) { if (input) { input.setAttribute('name', name); } } else { var hidden = document.createElement('input'); Basic.extend(hidden, { type : 'hidden', name : name, value : value }); // make sure that input[type="file"], if it's there, comes last if (input) { form.insertBefore(hidden, input); } else { form.appendChild(hidden); } } }); } // set destination url form.setAttribute("action", meta.url); createIframe(); form.submit(); target.trigger('loadstart'); }, getStatus: function() { return _status; }, getResponse: function(responseType) { if ('json' === responseType) { // strip off
        ..
        tags that might be enclosing the response if (Basic.typeOf(_response) === 'string' && !!window.JSON) { try { return JSON.parse(_response.replace(/^\s*]*>/, '').replace(/<\/pre>\s*$/, '')); } catch (ex) { return null; } } } else if ('document' === responseType) { } return _response; }, abort: function() { var target = this; if (_iframe && _iframe.contentWindow) { if (_iframe.contentWindow.stop) { // FireFox/Safari/Chrome _iframe.contentWindow.stop(); } else if (_iframe.contentWindow.document.execCommand) { // IE _iframe.contentWindow.document.execCommand('Stop'); } else { _iframe.src = "about:blank"; } } cleanup.call(this, function() { // target.dispatchEvent('readystatechange'); target.dispatchEvent('abort'); }); } }); } return (extensions.XMLHttpRequest = XMLHttpRequest); }); // Included from: src/javascript/runtime/html4/image/Image.js /** * Image.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ /** @class moxie/runtime/html4/image/Image @private */ define("moxie/runtime/html4/image/Image", [ "moxie/runtime/html4/Runtime", "moxie/runtime/html5/image/Image" ], function(extensions, Image) { return (extensions.Image = Image); }); expose(["moxie/core/utils/Basic","moxie/core/utils/Env","moxie/core/I18n","moxie/core/utils/Mime","moxie/core/utils/Dom","moxie/core/Exceptions","moxie/core/EventTarget","moxie/runtime/Runtime","moxie/runtime/RuntimeClient","moxie/file/FileInput","moxie/core/utils/Encode","moxie/file/Blob","moxie/file/File","moxie/file/FileDrop","moxie/file/FileReader","moxie/core/utils/Url","moxie/runtime/RuntimeTarget","moxie/file/FileReaderSync","moxie/xhr/FormData","moxie/xhr/XMLHttpRequest","moxie/runtime/Transporter","moxie/image/Image","moxie/core/utils/Events"]); })(this); /** * o.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ /*global moxie:true */ /** Globally exposed namespace with the most frequently used public classes and handy methods. @class o @static @private */ (function(exports) { "use strict"; var o = {}, inArray = exports.moxie.core.utils.Basic.inArray; // directly add some public classes // (we do it dynamically here, since for custom builds we cannot know beforehand what modules were included) (function addAlias(ns) { var name, itemType; for (name in ns) { itemType = typeof(ns[name]); if (itemType === 'object' && !~inArray(name, ['Exceptions', 'Env', 'Mime'])) { addAlias(ns[name]); } else if (itemType === 'function') { o[name] = ns[name]; } } })(exports.moxie); // add some manually o.Env = exports.moxie.core.utils.Env; o.Mime = exports.moxie.core.utils.Mime; o.Exceptions = exports.moxie.core.Exceptions; // expose globally exports.mOxie = o; if (!exports.o) { exports.o = o; } return o; })(this); PK!t:@:@plupload/wp-plupload.jsnu[/* global pluploadL10n, plupload, _wpPluploadSettings */ /** * @namespace wp */ window.wp = window.wp || {}; ( function( exports, $ ) { var Uploader; if ( typeof _wpPluploadSettings === 'undefined' ) { return; } /** * A WordPress uploader. * * The Plupload library provides cross-browser uploader UI integration. * This object bridges the Plupload API to integrate uploads into the * WordPress back end and the WordPress media experience. * * @class * @memberOf wp * @alias wp.Uploader * * @param {object} options The options passed to the new plupload instance. * @param {object} options.container The id of uploader container. * @param {object} options.browser The id of button to trigger the file select. * @param {object} options.dropzone The id of file drop target. * @param {object} options.plupload An object of parameters to pass to the plupload instance. * @param {object} options.params An object of parameters to pass to $_POST when uploading the file. * Extends this.plupload.multipart_params under the hood. */ Uploader = function( options ) { var self = this, isIE, // Not used, back-compat. elements = { container: 'container', browser: 'browse_button', dropzone: 'drop_element' }, tryAgainCount = {}, tryAgain, key, error, fileUploaded; this.supports = { upload: Uploader.browser.supported }; this.supported = this.supports.upload; if ( ! this.supported ) { return; } // Arguments to send to pluplad.Uploader(). // Use deep extend to ensure that multipart_params and other objects are cloned. this.plupload = $.extend( true, { multipart_params: {} }, Uploader.defaults ); this.container = document.body; // Set default container. /* * Extend the instance with options. * * Use deep extend to allow options.plupload to override individual * default plupload keys. */ $.extend( true, this, options ); // Proxy all methods so this always refers to the current instance. for ( key in this ) { if ( typeof this[ key ] === 'function' ) { this[ key ] = $.proxy( this[ key ], this ); } } // Ensure all elements are jQuery elements and have id attributes, // then set the proper plupload arguments to the ids. for ( key in elements ) { if ( ! this[ key ] ) { continue; } this[ key ] = $( this[ key ] ).first(); if ( ! this[ key ].length ) { delete this[ key ]; continue; } if ( ! this[ key ].prop('id') ) { this[ key ].prop( 'id', '__wp-uploader-id-' + Uploader.uuid++ ); } this.plupload[ elements[ key ] ] = this[ key ].prop('id'); } // If the uploader has neither a browse button nor a dropzone, bail. if ( ! ( this.browser && this.browser.length ) && ! ( this.dropzone && this.dropzone.length ) ) { return; } // Initialize the plupload instance. this.uploader = new plupload.Uploader( this.plupload ); delete this.plupload; // Set default params and remove this.params alias. this.param( this.params || {} ); delete this.params; /** * Attempt to create image sub-sizes when an image was uploaded successfully * but the server responded with HTTP 5xx error. * * @since 5.3.0 * * @param {string} message Error message. * @param {object} data Error data from Plupload. * @param {plupload.File} file File that was uploaded. */ tryAgain = function( message, data, file ) { var times, id; if ( ! data || ! data.responseHeaders ) { error( pluploadL10n.http_error_image, data, file, 'no-retry' ); return; } id = data.responseHeaders.match( /x-wp-upload-attachment-id:\s*(\d+)/i ); if ( id && id[1] ) { id = id[1]; } else { error( pluploadL10n.http_error_image, data, file, 'no-retry' ); return; } times = tryAgainCount[ file.id ]; if ( times && times > 4 ) { /* * The file may have been uploaded and attachment post created, * but post-processing and resizing failed... * Do a cleanup then tell the user to scale down the image and upload it again. */ $.ajax({ type: 'post', url: ajaxurl, dataType: 'json', data: { action: 'media-create-image-subsizes', _wpnonce: _wpPluploadSettings.defaults.multipart_params._wpnonce, attachment_id: id, _wp_upload_failed_cleanup: true, } }); error( message, data, file, 'no-retry' ); return; } if ( ! times ) { tryAgainCount[ file.id ] = 1; } else { tryAgainCount[ file.id ] = ++times; } // Another request to try to create the missing image sub-sizes. $.ajax({ type: 'post', url: ajaxurl, dataType: 'json', data: { action: 'media-create-image-subsizes', _wpnonce: _wpPluploadSettings.defaults.multipart_params._wpnonce, attachment_id: id, } }).done( function( response ) { if ( response.success ) { fileUploaded( self.uploader, file, response ); } else { if ( response.data && response.data.message ) { message = response.data.message; } error( message, data, file, 'no-retry' ); } }).fail( function( jqXHR ) { // If another HTTP 5xx error, try try again... if ( jqXHR.status >= 500 && jqXHR.status < 600 ) { tryAgain( message, data, file ); return; } error( message, data, file, 'no-retry' ); }); } /** * Custom error callback. * * Add a new error to the errors collection, so other modules can track * and display errors. @see wp.Uploader.errors. * * @param {string} message Error message. * @param {object} data Error data from Plupload. * @param {plupload.File} file File that was uploaded. * @param {string} retry Whether to try again to create image sub-sizes. Passing 'no-retry' will prevent it. */ error = function( message, data, file, retry ) { var isImage = file.type && file.type.indexOf( 'image/' ) === 0, status = data && data.status; // If the file is an image and the error is HTTP 5xx try to create sub-sizes again. if ( retry !== 'no-retry' && isImage && status >= 500 && status < 600 ) { tryAgain( message, data, file ); return; } if ( file.attachment ) { file.attachment.destroy(); } Uploader.errors.unshift({ message: message || pluploadL10n.default_error, data: data, file: file }); self.error( message, data, file ); }; /** * After a file is successfully uploaded, update its model. * * @param {plupload.Uploader} up Uploader instance. * @param {plupload.File} file File that was uploaded. * @param {Object} response Object with response properties. */ fileUploaded = function( up, file, response ) { var complete; // Remove the "uploading" UI elements. _.each( ['file','loaded','size','percent'], function( key ) { file.attachment.unset( key ); } ); file.attachment.set( _.extend( response.data, { uploading: false } ) ); wp.media.model.Attachment.get( response.data.id, file.attachment ); complete = Uploader.queue.all( function( attachment ) { return ! attachment.get( 'uploading' ); }); if ( complete ) { Uploader.queue.reset(); } self.success( file.attachment ); } /** * After the Uploader has been initialized, initialize some behaviors for the dropzone. * * @param {plupload.Uploader} uploader Uploader instance. */ this.uploader.bind( 'init', function( uploader ) { var timer, active, dragdrop, dropzone = self.dropzone; dragdrop = self.supports.dragdrop = uploader.features.dragdrop && ! Uploader.browser.mobile; // Generate drag/drop helper classes. if ( ! dropzone ) { return; } dropzone.toggleClass( 'supports-drag-drop', !! dragdrop ); if ( ! dragdrop ) { return dropzone.unbind('.wp-uploader'); } // 'dragenter' doesn't fire correctly, simulate it with a limited 'dragover'. dropzone.on( 'dragover.wp-uploader', function() { if ( timer ) { clearTimeout( timer ); } if ( active ) { return; } dropzone.trigger('dropzone:enter').addClass('drag-over'); active = true; }); dropzone.on('dragleave.wp-uploader, drop.wp-uploader', function() { /* * Using an instant timer prevents the drag-over class * from being quickly removed and re-added when elements * inside the dropzone are repositioned. * * @see https://core.trac.wordpress.org/ticket/21705 */ timer = setTimeout( function() { active = false; dropzone.trigger('dropzone:leave').removeClass('drag-over'); }, 0 ); }); self.ready = true; $(self).trigger( 'uploader:ready' ); }); this.uploader.bind( 'postinit', function( up ) { up.refresh(); self.init(); }); this.uploader.init(); if ( this.browser ) { this.browser.on( 'mouseenter', this.refresh ); } else { this.uploader.disableBrowse( true ); } $( self ).on( 'uploader:ready', function() { $( '.moxie-shim-html5 input[type="file"]' ) .attr( { tabIndex: '-1', 'aria-hidden': 'true' } ); } ); /** * After files were filtered and added to the queue, create a model for each. * * @param {plupload.Uploader} up Uploader instance. * @param {Array} files Array of file objects that were added to queue by the user. */ this.uploader.bind( 'FilesAdded', function( up, files ) { _.each( files, function( file ) { var attributes, image; // Ignore failed uploads. if ( plupload.FAILED === file.status ) { return; } if ( file.type === 'image/heic' && up.settings.heic_upload_error ) { // Show error but do not block uploading. Uploader.errors.unshift({ message: pluploadL10n.unsupported_image, data: {}, file: file }); } else if ( file.type === 'image/webp' && up.settings.webp_upload_error ) { // Disallow uploading of WebP images if the server cannot edit them. error( pluploadL10n.noneditable_image, {}, file, 'no-retry' ); up.removeFile( file ); return; } // Generate attributes for a new `Attachment` model. attributes = _.extend({ file: file, uploading: true, date: new Date(), filename: file.name, menuOrder: 0, uploadedTo: wp.media.model.settings.post.id }, _.pick( file, 'loaded', 'size', 'percent' ) ); // Handle early mime type scanning for images. image = /(?:jpe?g|png|gif)$/i.exec( file.name ); // For images set the model's type and subtype attributes. if ( image ) { attributes.type = 'image'; // `jpeg`, `png` and `gif` are valid subtypes. // `jpg` is not, so map it to `jpeg`. attributes.subtype = ( 'jpg' === image[0] ) ? 'jpeg' : image[0]; } // Create a model for the attachment, and add it to the Upload queue collection // so listeners to the upload queue can track and display upload progress. file.attachment = wp.media.model.Attachment.create( attributes ); Uploader.queue.add( file.attachment ); self.added( file.attachment ); }); up.refresh(); up.start(); }); this.uploader.bind( 'UploadProgress', function( up, file ) { file.attachment.set( _.pick( file, 'loaded', 'percent' ) ); self.progress( file.attachment ); }); /** * After a file is successfully uploaded, update its model. * * @param {plupload.Uploader} up Uploader instance. * @param {plupload.File} file File that was uploaded. * @param {Object} response Object with response properties. * @return {mixed} */ this.uploader.bind( 'FileUploaded', function( up, file, response ) { try { response = JSON.parse( response.response ); } catch ( e ) { return error( pluploadL10n.default_error, e, file ); } if ( ! _.isObject( response ) || _.isUndefined( response.success ) ) { return error( pluploadL10n.default_error, null, file ); } else if ( ! response.success ) { return error( response.data && response.data.message, response.data, file ); } // Success. Update the UI with the new attachment. fileUploaded( up, file, response ); }); /** * When plupload surfaces an error, send it to the error handler. * * @param {plupload.Uploader} up Uploader instance. * @param {Object} pluploadError Contains code, message and sometimes file and other details. */ this.uploader.bind( 'Error', function( up, pluploadError ) { var message = pluploadL10n.default_error, key; // Check for plupload errors. for ( key in Uploader.errorMap ) { if ( pluploadError.code === plupload[ key ] ) { message = Uploader.errorMap[ key ]; if ( typeof message === 'function' ) { message = message( pluploadError.file, pluploadError ); } break; } } error( message, pluploadError, pluploadError.file ); up.refresh(); }); }; // Adds the 'defaults' and 'browser' properties. $.extend( Uploader, _wpPluploadSettings ); Uploader.uuid = 0; // Map Plupload error codes to user friendly error messages. Uploader.errorMap = { 'FAILED': pluploadL10n.upload_failed, 'FILE_EXTENSION_ERROR': pluploadL10n.invalid_filetype, 'IMAGE_FORMAT_ERROR': pluploadL10n.not_an_image, 'IMAGE_MEMORY_ERROR': pluploadL10n.image_memory_exceeded, 'IMAGE_DIMENSIONS_ERROR': pluploadL10n.image_dimensions_exceeded, 'GENERIC_ERROR': pluploadL10n.upload_failed, 'IO_ERROR': pluploadL10n.io_error, 'SECURITY_ERROR': pluploadL10n.security_error, 'FILE_SIZE_ERROR': function( file ) { return pluploadL10n.file_exceeds_size_limit.replace( '%s', file.name ); }, 'HTTP_ERROR': function( file ) { if ( file.type && file.type.indexOf( 'image/' ) === 0 ) { return pluploadL10n.http_error_image; } return pluploadL10n.http_error; }, }; $.extend( Uploader.prototype, /** @lends wp.Uploader.prototype */{ /** * Acts as a shortcut to extending the uploader's multipart_params object. * * param( key ) * Returns the value of the key. * * param( key, value ) * Sets the value of a key. * * param( map ) * Sets values for a map of data. */ param: function( key, value ) { if ( arguments.length === 1 && typeof key === 'string' ) { return this.uploader.settings.multipart_params[ key ]; } if ( arguments.length > 1 ) { this.uploader.settings.multipart_params[ key ] = value; } else { $.extend( this.uploader.settings.multipart_params, key ); } }, /** * Make a few internal event callbacks available on the wp.Uploader object * to change the Uploader internals if absolutely necessary. */ init: function() {}, error: function() {}, success: function() {}, added: function() {}, progress: function() {}, complete: function() {}, refresh: function() { var node, attached, container, id; if ( this.browser ) { node = this.browser[0]; // Check if the browser node is in the DOM. while ( node ) { if ( node === document.body ) { attached = true; break; } node = node.parentNode; } /* * If the browser node is not attached to the DOM, * use a temporary container to house it, as the browser button shims * require the button to exist in the DOM at all times. */ if ( ! attached ) { id = 'wp-uploader-browser-' + this.uploader.id; container = $( '#' + id ); if ( ! container.length ) { container = $('
        ').css({ position: 'fixed', top: '-1000px', left: '-1000px', height: 0, width: 0 }).attr( 'id', 'wp-uploader-browser-' + this.uploader.id ).appendTo('body'); } container.append( this.browser ); } } this.uploader.refresh(); } }); // Create a collection of attachments in the upload queue, // so that other modules can track and display upload progress. Uploader.queue = new wp.media.model.Attachments( [], { query: false }); // Create a collection to collect errors incurred while attempting upload. Uploader.errors = new Backbone.Collection(); exports.Uploader = Uploader; })( wp, jQuery ); PK!plupload/plupload.jsnu[/** * Plupload - multi-runtime File Uploader * v2.1.9 * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing * * Date: 2016-05-15 */ /** * Plupload.js * * Copyright 2013, Moxiecode Systems AB * Released under GPL License. * * License: http://www.plupload.com/license * Contributing: http://www.plupload.com/contributing */ /** * Modified for WordPress, Silverlight and Flash runtimes support was removed. * See https://core.trac.wordpress.org/ticket/41755. */ /*global mOxie:true */ ;(function(window, o, undef) { var delay = window.setTimeout , fileFilters = {} ; // convert plupload features to caps acceptable by mOxie function normalizeCaps(settings) { var features = settings.required_features, caps = {}; function resolve(feature, value, strict) { // Feature notation is deprecated, use caps (this thing here is required for backward compatibility) var map = { chunks: 'slice_blob', jpgresize: 'send_binary_string', pngresize: 'send_binary_string', progress: 'report_upload_progress', multi_selection: 'select_multiple', dragdrop: 'drag_and_drop', drop_element: 'drag_and_drop', headers: 'send_custom_headers', urlstream_upload: 'send_binary_string', canSendBinary: 'send_binary', triggerDialog: 'summon_file_dialog' }; if (map[feature]) { caps[map[feature]] = value; } else if (!strict) { caps[feature] = value; } } if (typeof(features) === 'string') { plupload.each(features.split(/\s*,\s*/), function(feature) { resolve(feature, true); }); } else if (typeof(features) === 'object') { plupload.each(features, function(value, feature) { resolve(feature, value); }); } else if (features === true) { // check settings for required features if (settings.chunk_size > 0) { caps.slice_blob = true; } if (settings.resize.enabled || !settings.multipart) { caps.send_binary_string = true; } plupload.each(settings, function(value, feature) { resolve(feature, !!value, true); // strict check }); } // WP: only html runtimes. settings.runtimes = 'html5,html4'; return caps; } /** * @module plupload * @static */ var plupload = { /** * Plupload version will be replaced on build. * * @property VERSION * @for Plupload * @static * @final */ VERSION : '2.1.9', /** * The state of the queue before it has started and after it has finished * * @property STOPPED * @static * @final */ STOPPED : 1, /** * Upload process is running * * @property STARTED * @static * @final */ STARTED : 2, /** * File is queued for upload * * @property QUEUED * @static * @final */ QUEUED : 1, /** * File is being uploaded * * @property UPLOADING * @static * @final */ UPLOADING : 2, /** * File has failed to be uploaded * * @property FAILED * @static * @final */ FAILED : 4, /** * File has been uploaded successfully * * @property DONE * @static * @final */ DONE : 5, // Error constants used by the Error event /** * Generic error for example if an exception is thrown inside Silverlight. * * @property GENERIC_ERROR * @static * @final */ GENERIC_ERROR : -100, /** * HTTP transport error. For example if the server produces a HTTP status other than 200. * * @property HTTP_ERROR * @static * @final */ HTTP_ERROR : -200, /** * Generic I/O error. For example if it wasn't possible to open the file stream on local machine. * * @property IO_ERROR * @static * @final */ IO_ERROR : -300, /** * @property SECURITY_ERROR * @static * @final */ SECURITY_ERROR : -400, /** * Initialization error. Will be triggered if no runtime was initialized. * * @property INIT_ERROR * @static * @final */ INIT_ERROR : -500, /** * File size error. If the user selects a file that is too large it will be blocked and an error of this type will be triggered. * * @property FILE_SIZE_ERROR * @static * @final */ FILE_SIZE_ERROR : -600, /** * File extension error. If the user selects a file that isn't valid according to the filters setting. * * @property FILE_EXTENSION_ERROR * @static * @final */ FILE_EXTENSION_ERROR : -601, /** * Duplicate file error. If prevent_duplicates is set to true and user selects the same file again. * * @property FILE_DUPLICATE_ERROR * @static * @final */ FILE_DUPLICATE_ERROR : -602, /** * Runtime will try to detect if image is proper one. Otherwise will throw this error. * * @property IMAGE_FORMAT_ERROR * @static * @final */ IMAGE_FORMAT_ERROR : -700, /** * While working on files runtime may run out of memory and will throw this error. * * @since 2.1.2 * @property MEMORY_ERROR * @static * @final */ MEMORY_ERROR : -701, /** * Each runtime has an upper limit on a dimension of the image it can handle. If bigger, will throw this error. * * @property IMAGE_DIMENSIONS_ERROR * @static * @final */ IMAGE_DIMENSIONS_ERROR : -702, /** * Mime type lookup table. * * @property mimeTypes * @type Object * @final */ mimeTypes : o.mimes, /** * In some cases sniffing is the only way around :( */ ua: o.ua, /** * Gets the true type of the built-in object (better version of typeof). * @credits Angus Croll (http://javascriptweblog.wordpress.com/) * * @method typeOf * @static * @param {Object} o Object to check. * @return {String} Object [[Class]] */ typeOf: o.typeOf, /** * Extends the specified object with another object. * * @method extend * @static * @param {Object} target Object to extend. * @param {Object..} obj Multiple objects to extend with. * @return {Object} Same as target, the extended object. */ extend : o.extend, /** * Generates an unique ID. This is 99.99% unique since it takes the current time and 5 random numbers. * The only way a user would be able to get the same ID is if the two persons at the same exact millisecond manages * to get 5 the same random numbers between 0-65535 it also uses a counter so each call will be guaranteed to be page unique. * It's more probable for the earth to be hit with an asteriod. You can also if you want to be 100% sure set the plupload.guidPrefix property * to an user unique key. * * @method guid * @static * @return {String} Virtually unique id. */ guid : o.guid, /** * Get array of DOM Elements by their ids. * * @method get * @param {String} id Identifier of the DOM Element * @return {Array} */ getAll : function get(ids) { var els = [], el; if (plupload.typeOf(ids) !== 'array') { ids = [ids]; } var i = ids.length; while (i--) { el = plupload.get(ids[i]); if (el) { els.push(el); } } return els.length ? els : null; }, /** Get DOM element by id @method get @param {String} id Identifier of the DOM Element @return {Node} */ get: o.get, /** * Executes the callback function for each item in array/object. If you return false in the * callback it will break the loop. * * @method each * @static * @param {Object} obj Object to iterate. * @param {function} callback Callback function to execute for each item. */ each : o.each, /** * Returns the absolute x, y position of an Element. The position will be returned in a object with x, y fields. * * @method getPos * @static * @param {Element} node HTML element or element id to get x, y position from. * @param {Element} root Optional root element to stop calculations at. * @return {object} Absolute position of the specified element object with x, y fields. */ getPos : o.getPos, /** * Returns the size of the specified node in pixels. * * @method getSize * @static * @param {Node} node Node to get the size of. * @return {Object} Object with a w and h property. */ getSize : o.getSize, /** * Encodes the specified string. * * @method xmlEncode * @static * @param {String} s String to encode. * @return {String} Encoded string. */ xmlEncode : function(str) { var xmlEncodeChars = {'<' : 'lt', '>' : 'gt', '&' : 'amp', '"' : 'quot', '\'' : '#39'}, xmlEncodeRegExp = /[<>&\"\']/g; return str ? ('' + str).replace(xmlEncodeRegExp, function(chr) { return xmlEncodeChars[chr] ? '&' + xmlEncodeChars[chr] + ';' : chr; }) : str; }, /** * Forces anything into an array. * * @method toArray * @static * @param {Object} obj Object with length field. * @return {Array} Array object containing all items. */ toArray : o.toArray, /** * Find an element in array and return its index if present, otherwise return -1. * * @method inArray * @static * @param {mixed} needle Element to find * @param {Array} array * @return {Int} Index of the element, or -1 if not found */ inArray : o.inArray, /** * Extends the language pack object with new items. * * @method addI18n * @static * @param {Object} pack Language pack items to add. * @return {Object} Extended language pack object. */ addI18n : o.addI18n, /** * Translates the specified string by checking for the english string in the language pack lookup. * * @method translate * @static * @param {String} str String to look for. * @return {String} Translated string or the input string if it wasn't found. */ translate : o.translate, /** * Checks if object is empty. * * @method isEmptyObj * @static * @param {Object} obj Object to check. * @return {Boolean} */ isEmptyObj : o.isEmptyObj, /** * Checks if specified DOM element has specified class. * * @method hasClass * @static * @param {Object} obj DOM element like object to add handler to. * @param {String} name Class name */ hasClass : o.hasClass, /** * Adds specified className to specified DOM element. * * @method addClass * @static * @param {Object} obj DOM element like object to add handler to. * @param {String} name Class name */ addClass : o.addClass, /** * Removes specified className from specified DOM element. * * @method removeClass * @static * @param {Object} obj DOM element like object to add handler to. * @param {String} name Class name */ removeClass : o.removeClass, /** * Returns a given computed style of a DOM element. * * @method getStyle * @static * @param {Object} obj DOM element like object. * @param {String} name Style you want to get from the DOM element */ getStyle : o.getStyle, /** * Adds an event handler to the specified object and store reference to the handler * in objects internal Plupload registry (@see removeEvent). * * @method addEvent * @static * @param {Object} obj DOM element like object to add handler to. * @param {String} name Name to add event listener to. * @param {Function} callback Function to call when event occurs. * @param {String} (optional) key that might be used to add specifity to the event record. */ addEvent : o.addEvent, /** * Remove event handler from the specified object. If third argument (callback) * is not specified remove all events with the specified name. * * @method removeEvent * @static * @param {Object} obj DOM element to remove event listener(s) from. * @param {String} name Name of event listener to remove. * @param {Function|String} (optional) might be a callback or unique key to match. */ removeEvent: o.removeEvent, /** * Remove all kind of events from the specified object * * @method removeAllEvents * @static * @param {Object} obj DOM element to remove event listeners from. * @param {String} (optional) unique key to match, when removing events. */ removeAllEvents: o.removeAllEvents, /** * Cleans the specified name from national characters (diacritics). The result will be a name with only a-z, 0-9 and _. * * @method cleanName * @static * @param {String} s String to clean up. * @return {String} Cleaned string. */ cleanName : function(name) { var i, lookup; // Replace diacritics lookup = [ /[\300-\306]/g, 'A', /[\340-\346]/g, 'a', /\307/g, 'C', /\347/g, 'c', /[\310-\313]/g, 'E', /[\350-\353]/g, 'e', /[\314-\317]/g, 'I', /[\354-\357]/g, 'i', /\321/g, 'N', /\361/g, 'n', /[\322-\330]/g, 'O', /[\362-\370]/g, 'o', /[\331-\334]/g, 'U', /[\371-\374]/g, 'u' ]; for (i = 0; i < lookup.length; i += 2) { name = name.replace(lookup[i], lookup[i + 1]); } // Replace whitespace name = name.replace(/\s+/g, '_'); // Remove anything else name = name.replace(/[^a-z0-9_\-\.]+/gi, ''); return name; }, /** * Builds a full url out of a base URL and an object with items to append as query string items. * * @method buildUrl * @static * @param {String} url Base URL to append query string items to. * @param {Object} items Name/value object to serialize as a querystring. * @return {String} String with url + serialized query string items. */ buildUrl : function(url, items) { var query = ''; plupload.each(items, function(value, name) { query += (query ? '&' : '') + encodeURIComponent(name) + '=' + encodeURIComponent(value); }); if (query) { url += (url.indexOf('?') > 0 ? '&' : '?') + query; } return url; }, /** * Formats the specified number as a size string for example 1024 becomes 1 KB. * * @method formatSize * @static * @param {Number} size Size to format as string. * @return {String} Formatted size string. */ formatSize : function(size) { if (size === undef || /\D/.test(size)) { return plupload.translate('N/A'); } function round(num, precision) { return Math.round(num * Math.pow(10, precision)) / Math.pow(10, precision); } var boundary = Math.pow(1024, 4); // TB if (size > boundary) { return round(size / boundary, 1) + " " + plupload.translate('tb'); } // GB if (size > (boundary/=1024)) { return round(size / boundary, 1) + " " + plupload.translate('gb'); } // MB if (size > (boundary/=1024)) { return round(size / boundary, 1) + " " + plupload.translate('mb'); } // KB if (size > 1024) { return Math.round(size / 1024) + " " + plupload.translate('kb'); } return size + " " + plupload.translate('b'); }, /** * Parses the specified size string into a byte value. For example 10kb becomes 10240. * * @method parseSize * @static * @param {String|Number} size String to parse or number to just pass through. * @return {Number} Size in bytes. */ parseSize : o.parseSizeStr, /** * A way to predict what runtime will be choosen in the current environment with the * specified settings. * * @method predictRuntime * @static * @param {Object|String} config Plupload settings to check * @param {String} [runtimes] Comma-separated list of runtimes to check against * @return {String} Type of compatible runtime */ predictRuntime : function(config, runtimes) { var up, runtime; up = new plupload.Uploader(config); runtime = o.Runtime.thatCan(up.getOption().required_features, runtimes || config.runtimes); up.destroy(); return runtime; }, /** * Registers a filter that will be executed for each file added to the queue. * If callback returns false, file will not be added. * * Callback receives two arguments: a value for the filter as it was specified in settings.filters * and a file to be filtered. Callback is executed in the context of uploader instance. * * @method addFileFilter * @static * @param {String} name Name of the filter by which it can be referenced in settings.filters * @param {String} cb Callback - the actual routine that every added file must pass */ addFileFilter: function(name, cb) { fileFilters[name] = cb; } }; plupload.addFileFilter('mime_types', function(filters, file, cb) { if (filters.length && !filters.regexp.test(file.name)) { this.trigger('Error', { code : plupload.FILE_EXTENSION_ERROR, message : plupload.translate('File extension error.'), file : file }); cb(false); } else { cb(true); } }); plupload.addFileFilter('max_file_size', function(maxSize, file, cb) { var undef; maxSize = plupload.parseSize(maxSize); // Invalid file size if (file.size !== undef && maxSize && file.size > maxSize) { this.trigger('Error', { code : plupload.FILE_SIZE_ERROR, message : plupload.translate('File size error.'), file : file }); cb(false); } else { cb(true); } }); plupload.addFileFilter('prevent_duplicates', function(value, file, cb) { if (value) { var ii = this.files.length; while (ii--) { // Compare by name and size (size might be 0 or undefined, but still equivalent for both) if (file.name === this.files[ii].name && file.size === this.files[ii].size) { this.trigger('Error', { code : plupload.FILE_DUPLICATE_ERROR, message : plupload.translate('Duplicate file error.'), file : file }); cb(false); return; } } } cb(true); }); /** @class Uploader @constructor @param {Object} settings For detailed information about each option check documentation. @param {String|DOMElement} settings.browse_button id of the DOM element or DOM element itself to use as file dialog trigger. @param {String} settings.url URL of the server-side upload handler. @param {Number|String} [settings.chunk_size=0] Chunk size in bytes to slice the file into. Shorcuts with b, kb, mb, gb, tb suffixes also supported. `e.g. 204800 or "204800b" or "200kb"`. By default - disabled. @param {Boolean} [settings.send_chunk_number=true] Whether to send chunks and chunk numbers, or total and offset bytes. @param {String|DOMElement} [settings.container] id of the DOM element or DOM element itself that will be used to wrap uploader structures. Defaults to immediate parent of the `browse_button` element. @param {String|DOMElement} [settings.drop_element] id of the DOM element or DOM element itself to use as a drop zone for Drag-n-Drop. @param {String} [settings.file_data_name="file"] Name for the file field in Multipart formated message. @param {Object} [settings.filters={}] Set of file type filters. @param {Array} [settings.filters.mime_types=[]] List of file types to accept, each one defined by title and list of extensions. `e.g. {title : "Image files", extensions : "jpg,jpeg,gif,png"}`. Dispatches `plupload.FILE_EXTENSION_ERROR` @param {String|Number} [settings.filters.max_file_size=0] Maximum file size that the user can pick, in bytes. Optionally supports b, kb, mb, gb, tb suffixes. `e.g. "10mb" or "1gb"`. By default - not set. Dispatches `plupload.FILE_SIZE_ERROR`. @param {Boolean} [settings.filters.prevent_duplicates=false] Do not let duplicates into the queue. Dispatches `plupload.FILE_DUPLICATE_ERROR`. @param {String} [settings.flash_swf_url] URL of the Flash swf. (Not used in WordPress) @param {Object} [settings.headers] Custom headers to send with the upload. Hash of name/value pairs. @param {Number} [settings.max_retries=0] How many times to retry the chunk or file, before triggering Error event. @param {Boolean} [settings.multipart=true] Whether to send file and additional parameters as Multipart formated message. @param {Object} [settings.multipart_params] Hash of key/value pairs to send with every file upload. @param {Boolean} [settings.multi_selection=true] Enable ability to select multiple files at once in file dialog. @param {String|Object} [settings.required_features] Either comma-separated list or hash of required features that chosen runtime should absolutely possess. @param {Object} [settings.resize] Enable resizng of images on client-side. Applies to `image/jpeg` and `image/png` only. `e.g. {width : 200, height : 200, quality : 90, crop: true}` @param {Number} [settings.resize.width] If image is bigger, it will be resized. @param {Number} [settings.resize.height] If image is bigger, it will be resized. @param {Number} [settings.resize.quality=90] Compression quality for jpegs (1-100). @param {Boolean} [settings.resize.crop=false] Whether to crop images to exact dimensions. By default they will be resized proportionally. @param {String} [settings.runtimes="html5,html4"] Comma separated list of runtimes, that Plupload will try in turn, moving to the next if previous fails. @param {String} [settings.silverlight_xap_url] URL of the Silverlight xap. (Not used in WordPress) @param {Boolean} [settings.unique_names=false] If true will generate unique filenames for uploaded files. @param {Boolean} [settings.send_file_name=true] Whether to send file name as additional argument - 'name' (required for chunked uploads and some other cases where file name cannot be sent via normal ways). */ plupload.Uploader = function(options) { /** Fires when the current RunTime has been initialized. @event Init @param {plupload.Uploader} uploader Uploader instance sending the event. */ /** Fires after the init event incase you need to perform actions there. @event PostInit @param {plupload.Uploader} uploader Uploader instance sending the event. */ /** Fires when the option is changed in via uploader.setOption(). @event OptionChanged @since 2.1 @param {plupload.Uploader} uploader Uploader instance sending the event. @param {String} name Name of the option that was changed @param {Mixed} value New value for the specified option @param {Mixed} oldValue Previous value of the option */ /** Fires when the silverlight/flash or other shim needs to move. @event Refresh @param {plupload.Uploader} uploader Uploader instance sending the event. */ /** Fires when the overall state is being changed for the upload queue. @event StateChanged @param {plupload.Uploader} uploader Uploader instance sending the event. */ /** Fires when browse_button is clicked and browse dialog shows. @event Browse @since 2.1.2 @param {plupload.Uploader} uploader Uploader instance sending the event. */ /** Fires for every filtered file before it is added to the queue. @event FileFiltered @since 2.1 @param {plupload.Uploader} uploader Uploader instance sending the event. @param {plupload.File} file Another file that has to be added to the queue. */ /** Fires when the file queue is changed. In other words when files are added/removed to the files array of the uploader instance. @event QueueChanged @param {plupload.Uploader} uploader Uploader instance sending the event. */ /** Fires after files were filtered and added to the queue. @event FilesAdded @param {plupload.Uploader} uploader Uploader instance sending the event. @param {Array} files Array of file objects that were added to queue by the user. */ /** Fires when file is removed from the queue. @event FilesRemoved @param {plupload.Uploader} uploader Uploader instance sending the event. @param {Array} files Array of files that got removed. */ /** Fires just before a file is uploaded. Can be used to cancel the upload for the specified file by returning false from the handler. @event BeforeUpload @param {plupload.Uploader} uploader Uploader instance sending the event. @param {plupload.File} file File to be uploaded. */ /** Fires when a file is to be uploaded by the runtime. @event UploadFile @param {plupload.Uploader} uploader Uploader instance sending the event. @param {plupload.File} file File to be uploaded. */ /** Fires while a file is being uploaded. Use this event to update the current file upload progress. @event UploadProgress @param {plupload.Uploader} uploader Uploader instance sending the event. @param {plupload.File} file File that is currently being uploaded. */ /** Fires when file chunk is uploaded. @event ChunkUploaded @param {plupload.Uploader} uploader Uploader instance sending the event. @param {plupload.File} file File that the chunk was uploaded for. @param {Object} result Object with response properties. @param {Number} result.offset The amount of bytes the server has received so far, including this chunk. @param {Number} result.total The size of the file. @param {String} result.response The response body sent by the server. @param {Number} result.status The HTTP status code sent by the server. @param {String} result.responseHeaders All the response headers as a single string. */ /** Fires when a file is successfully uploaded. @event FileUploaded @param {plupload.Uploader} uploader Uploader instance sending the event. @param {plupload.File} file File that was uploaded. @param {Object} result Object with response properties. @param {String} result.response The response body sent by the server. @param {Number} result.status The HTTP status code sent by the server. @param {String} result.responseHeaders All the response headers as a single string. */ /** Fires when all files in a queue are uploaded. @event UploadComplete @param {plupload.Uploader} uploader Uploader instance sending the event. @param {Array} files Array of file objects that was added to queue/selected by the user. */ /** Fires when a error occurs. @event Error @param {plupload.Uploader} uploader Uploader instance sending the event. @param {Object} error Contains code, message and sometimes file and other details. @param {Number} error.code The plupload error code. @param {String} error.message Description of the error (uses i18n). */ /** Fires when destroy method is called. @event Destroy @param {plupload.Uploader} uploader Uploader instance sending the event. */ var uid = plupload.guid() , settings , files = [] , preferred_caps = {} , fileInputs = [] , fileDrops = [] , startTime , total , disabled = false , xhr ; // Private methods function uploadNext() { var file, count = 0, i; if (this.state == plupload.STARTED) { // Find first QUEUED file for (i = 0; i < files.length; i++) { if (!file && files[i].status == plupload.QUEUED) { file = files[i]; if (this.trigger("BeforeUpload", file)) { file.status = plupload.UPLOADING; this.trigger("UploadFile", file); } } else { count++; } } // All files are DONE or FAILED if (count == files.length) { if (this.state !== plupload.STOPPED) { this.state = plupload.STOPPED; this.trigger("StateChanged"); } this.trigger("UploadComplete", files); } } } function calcFile(file) { file.percent = file.size > 0 ? Math.ceil(file.loaded / file.size * 100) : 100; calc(); } function calc() { var i, file; // Reset stats total.reset(); // Check status, size, loaded etc on all files for (i = 0; i < files.length; i++) { file = files[i]; if (file.size !== undef) { // We calculate totals based on original file size total.size += file.origSize; // Since we cannot predict file size after resize, we do opposite and // interpolate loaded amount to match magnitude of total total.loaded += file.loaded * file.origSize / file.size; } else { total.size = undef; } if (file.status == plupload.DONE) { total.uploaded++; } else if (file.status == plupload.FAILED) { total.failed++; } else { total.queued++; } } // If we couldn't calculate a total file size then use the number of files to calc percent if (total.size === undef) { total.percent = files.length > 0 ? Math.ceil(total.uploaded / files.length * 100) : 0; } else { total.bytesPerSec = Math.ceil(total.loaded / ((+new Date() - startTime || 1) / 1000.0)); total.percent = total.size > 0 ? Math.ceil(total.loaded / total.size * 100) : 0; } } function getRUID() { var ctrl = fileInputs[0] || fileDrops[0]; if (ctrl) { return ctrl.getRuntime().uid; } return false; } function runtimeCan(file, cap) { if (file.ruid) { var info = o.Runtime.getInfo(file.ruid); if (info) { return info.can(cap); } } return false; } function bindEventListeners() { this.bind('FilesAdded FilesRemoved', function(up) { up.trigger('QueueChanged'); up.refresh(); }); this.bind('CancelUpload', onCancelUpload); this.bind('BeforeUpload', onBeforeUpload); this.bind('UploadFile', onUploadFile); this.bind('UploadProgress', onUploadProgress); this.bind('StateChanged', onStateChanged); this.bind('QueueChanged', calc); this.bind('Error', onError); this.bind('FileUploaded', onFileUploaded); this.bind('Destroy', onDestroy); } function initControls(settings, cb) { var self = this, inited = 0, queue = []; // common settings var options = { runtime_order: settings.runtimes, required_caps: settings.required_features, preferred_caps: preferred_caps }; // add runtime specific options if any plupload.each(settings.runtimes.split(/\s*,\s*/), function(runtime) { if (settings[runtime]) { options[runtime] = settings[runtime]; } }); // initialize file pickers - there can be many if (settings.browse_button) { plupload.each(settings.browse_button, function(el) { queue.push(function(cb) { var fileInput = new o.FileInput(plupload.extend({}, options, { accept: settings.filters.mime_types, name: settings.file_data_name, multiple: settings.multi_selection, container: settings.container, browse_button: el })); fileInput.onready = function() { var info = o.Runtime.getInfo(this.ruid); // for backward compatibility o.extend(self.features, { chunks: info.can('slice_blob'), multipart: info.can('send_multipart'), multi_selection: info.can('select_multiple') }); inited++; fileInputs.push(this); cb(); }; fileInput.onchange = function() { self.addFile(this.files); }; fileInput.bind('mouseenter mouseleave mousedown mouseup', function(e) { if (!disabled) { if (settings.browse_button_hover) { if ('mouseenter' === e.type) { o.addClass(el, settings.browse_button_hover); } else if ('mouseleave' === e.type) { o.removeClass(el, settings.browse_button_hover); } } if (settings.browse_button_active) { if ('mousedown' === e.type) { o.addClass(el, settings.browse_button_active); } else if ('mouseup' === e.type) { o.removeClass(el, settings.browse_button_active); } } } }); fileInput.bind('mousedown', function() { self.trigger('Browse'); }); fileInput.bind('error runtimeerror', function() { fileInput = null; cb(); }); fileInput.init(); }); }); } // initialize drop zones if (settings.drop_element) { plupload.each(settings.drop_element, function(el) { queue.push(function(cb) { var fileDrop = new o.FileDrop(plupload.extend({}, options, { drop_zone: el })); fileDrop.onready = function() { var info = o.Runtime.getInfo(this.ruid); // for backward compatibility o.extend(self.features, { chunks: info.can('slice_blob'), multipart: info.can('send_multipart'), dragdrop: info.can('drag_and_drop') }); inited++; fileDrops.push(this); cb(); }; fileDrop.ondrop = function() { self.addFile(this.files); }; fileDrop.bind('error runtimeerror', function() { fileDrop = null; cb(); }); fileDrop.init(); }); }); } o.inSeries(queue, function() { if (typeof(cb) === 'function') { cb(inited); } }); } function resizeImage(blob, params, cb) { var img = new o.Image(); try { img.onload = function() { // no manipulation required if... if (params.width > this.width && params.height > this.height && params.quality === undef && params.preserve_headers && !params.crop ) { this.destroy(); return cb(blob); } // otherwise downsize img.downsize(params.width, params.height, params.crop, params.preserve_headers); }; img.onresize = function() { cb(this.getAsBlob(blob.type, params.quality)); this.destroy(); }; img.onerror = function() { cb(blob); }; img.load(blob); } catch(ex) { cb(blob); } } function setOption(option, value, init) { var self = this, reinitRequired = false; function _setOption(option, value, init) { var oldValue = settings[option]; switch (option) { case 'max_file_size': if (option === 'max_file_size') { settings.max_file_size = settings.filters.max_file_size = value; } break; case 'chunk_size': if (value = plupload.parseSize(value)) { settings[option] = value; settings.send_file_name = true; } break; case 'multipart': settings[option] = value; if (!value) { settings.send_file_name = true; } break; case 'unique_names': settings[option] = value; if (value) { settings.send_file_name = true; } break; case 'filters': // for sake of backward compatibility if (plupload.typeOf(value) === 'array') { value = { mime_types: value }; } if (init) { plupload.extend(settings.filters, value); } else { settings.filters = value; } // if file format filters are being updated, regenerate the matching expressions if (value.mime_types) { settings.filters.mime_types.regexp = (function(filters) { var extensionsRegExp = []; plupload.each(filters, function(filter) { plupload.each(filter.extensions.split(/,/), function(ext) { if (/^\s*\*\s*$/.test(ext)) { extensionsRegExp.push('\\.*'); } else { extensionsRegExp.push('\\.' + ext.replace(new RegExp('[' + ('/^$.*+?|()[]{}\\'.replace(/./g, '\\$&')) + ']', 'g'), '\\$&')); } }); }); return new RegExp('(' + extensionsRegExp.join('|') + ')$', 'i'); }(settings.filters.mime_types)); } break; case 'resize': if (init) { plupload.extend(settings.resize, value, { enabled: true }); } else { settings.resize = value; } break; case 'prevent_duplicates': settings.prevent_duplicates = settings.filters.prevent_duplicates = !!value; break; // options that require reinitialisation case 'container': case 'browse_button': case 'drop_element': value = 'container' === option ? plupload.get(value) : plupload.getAll(value) ; case 'runtimes': case 'multi_selection': settings[option] = value; if (!init) { reinitRequired = true; } break; default: settings[option] = value; } if (!init) { self.trigger('OptionChanged', option, value, oldValue); } } if (typeof(option) === 'object') { plupload.each(option, function(value, option) { _setOption(option, value, init); }); } else { _setOption(option, value, init); } if (init) { // Normalize the list of required capabilities settings.required_features = normalizeCaps(plupload.extend({}, settings)); // Come up with the list of capabilities that can affect default mode in a multi-mode runtimes preferred_caps = normalizeCaps(plupload.extend({}, settings, { required_features: true })); } else if (reinitRequired) { self.trigger('Destroy'); initControls.call(self, settings, function(inited) { if (inited) { self.runtime = o.Runtime.getInfo(getRUID()).type; self.trigger('Init', { runtime: self.runtime }); self.trigger('PostInit'); } else { self.trigger('Error', { code : plupload.INIT_ERROR, message : plupload.translate('Init error.') }); } }); } } // Internal event handlers function onBeforeUpload(up, file) { // Generate unique target filenames if (up.settings.unique_names) { var matches = file.name.match(/\.([^.]+)$/), ext = "part"; if (matches) { ext = matches[1]; } file.target_name = file.id + '.' + ext; } } function onUploadFile(up, file) { var url = up.settings.url , chunkSize = up.settings.chunk_size , retries = up.settings.max_retries , features = up.features , offset = 0 , blob ; // make sure we start at a predictable offset if (file.loaded) { offset = file.loaded = chunkSize ? chunkSize * Math.floor(file.loaded / chunkSize) : 0; } function handleError() { if (retries-- > 0) { delay(uploadNextChunk, 1000); } else { file.loaded = offset; // reset all progress up.trigger('Error', { code : plupload.HTTP_ERROR, message : plupload.translate('HTTP Error.'), file : file, response : xhr.responseText, status : xhr.status, responseHeaders: xhr.getAllResponseHeaders() }); } } function uploadNextChunk() { var chunkBlob, formData, args = {}, curChunkSize; // make sure that file wasn't cancelled and upload is not stopped in general if (file.status !== plupload.UPLOADING || up.state === plupload.STOPPED) { return; } // send additional 'name' parameter only if required if (up.settings.send_file_name) { args.name = file.target_name || file.name; } if (chunkSize && features.chunks && blob.size > chunkSize) { // blob will be of type string if it was loaded in memory curChunkSize = Math.min(chunkSize, blob.size - offset); chunkBlob = blob.slice(offset, offset + curChunkSize); } else { curChunkSize = blob.size; chunkBlob = blob; } // If chunking is enabled add corresponding args, no matter if file is bigger than chunk or smaller if (chunkSize && features.chunks) { // Setup query string arguments if (up.settings.send_chunk_number) { args.chunk = Math.ceil(offset / chunkSize); args.chunks = Math.ceil(blob.size / chunkSize); } else { // keep support for experimental chunk format, just in case args.offset = offset; args.total = blob.size; } } xhr = new o.XMLHttpRequest(); // Do we have upload progress support if (xhr.upload) { xhr.upload.onprogress = function(e) { file.loaded = Math.min(file.size, offset + e.loaded); up.trigger('UploadProgress', file); }; } xhr.onload = function() { // check if upload made itself through if (xhr.status >= 400) { handleError(); return; } retries = up.settings.max_retries; // reset the counter // Handle chunk response if (curChunkSize < blob.size) { chunkBlob.destroy(); offset += curChunkSize; file.loaded = Math.min(offset, blob.size); up.trigger('ChunkUploaded', file, { offset : file.loaded, total : blob.size, response : xhr.responseText, status : xhr.status, responseHeaders: xhr.getAllResponseHeaders() }); // stock Android browser doesn't fire upload progress events, but in chunking mode we can fake them if (o.Env.browser === 'Android Browser') { // doesn't harm in general, but is not required anywhere else up.trigger('UploadProgress', file); } } else { file.loaded = file.size; } chunkBlob = formData = null; // Free memory // Check if file is uploaded if (!offset || offset >= blob.size) { // If file was modified, destory the copy if (file.size != file.origSize) { blob.destroy(); blob = null; } up.trigger('UploadProgress', file); file.status = plupload.DONE; up.trigger('FileUploaded', file, { response : xhr.responseText, status : xhr.status, responseHeaders: xhr.getAllResponseHeaders() }); } else { // Still chunks left delay(uploadNextChunk, 1); // run detached, otherwise event handlers interfere } }; xhr.onerror = function() { handleError(); }; xhr.onloadend = function() { this.destroy(); xhr = null; }; // Build multipart request if (up.settings.multipart && features.multipart) { xhr.open("post", url, true); // Set custom headers plupload.each(up.settings.headers, function(value, name) { xhr.setRequestHeader(name, value); }); formData = new o.FormData(); // Add multipart params plupload.each(plupload.extend(args, up.settings.multipart_params), function(value, name) { formData.append(name, value); }); // Add file and send it formData.append(up.settings.file_data_name, chunkBlob); xhr.send(formData, { runtime_order: up.settings.runtimes, required_caps: up.settings.required_features, preferred_caps: preferred_caps }); } else { // if no multipart, send as binary stream url = plupload.buildUrl(up.settings.url, plupload.extend(args, up.settings.multipart_params)); xhr.open("post", url, true); xhr.setRequestHeader('Content-Type', 'application/octet-stream'); // Binary stream header // Set custom headers plupload.each(up.settings.headers, function(value, name) { xhr.setRequestHeader(name, value); }); xhr.send(chunkBlob, { runtime_order: up.settings.runtimes, required_caps: up.settings.required_features, preferred_caps: preferred_caps }); } } blob = file.getSource(); // Start uploading chunks if (up.settings.resize.enabled && runtimeCan(blob, 'send_binary_string') && !!~o.inArray(blob.type, ['image/jpeg', 'image/png'])) { // Resize if required resizeImage.call(this, blob, up.settings.resize, function(resizedBlob) { blob = resizedBlob; file.size = resizedBlob.size; uploadNextChunk(); }); } else { uploadNextChunk(); } } function onUploadProgress(up, file) { calcFile(file); } function onStateChanged(up) { if (up.state == plupload.STARTED) { // Get start time to calculate bps startTime = (+new Date()); } else if (up.state == plupload.STOPPED) { // Reset currently uploading files for (var i = up.files.length - 1; i >= 0; i--) { if (up.files[i].status == plupload.UPLOADING) { up.files[i].status = plupload.QUEUED; calc(); } } } } function onCancelUpload() { if (xhr) { xhr.abort(); } } function onFileUploaded(up) { calc(); // Upload next file but detach it from the error event // since other custom listeners might want to stop the queue delay(function() { uploadNext.call(up); }, 1); } function onError(up, err) { if (err.code === plupload.INIT_ERROR) { up.destroy(); } // Set failed status if an error occured on a file else if (err.code === plupload.HTTP_ERROR) { err.file.status = plupload.FAILED; calcFile(err.file); // Upload next file but detach it from the error event // since other custom listeners might want to stop the queue if (up.state == plupload.STARTED) { // upload in progress up.trigger('CancelUpload'); delay(function() { uploadNext.call(up); }, 1); } } } function onDestroy(up) { up.stop(); // Purge the queue plupload.each(files, function(file) { file.destroy(); }); files = []; if (fileInputs.length) { plupload.each(fileInputs, function(fileInput) { fileInput.destroy(); }); fileInputs = []; } if (fileDrops.length) { plupload.each(fileDrops, function(fileDrop) { fileDrop.destroy(); }); fileDrops = []; } preferred_caps = {}; disabled = false; startTime = xhr = null; total.reset(); } // Default settings settings = { runtimes: o.Runtime.order, max_retries: 0, chunk_size: 0, multipart: true, multi_selection: true, file_data_name: 'file', filters: { mime_types: [], prevent_duplicates: false, max_file_size: 0 }, resize: { enabled: false, preserve_headers: true, crop: false }, send_file_name: true, send_chunk_number: true }; setOption.call(this, options, null, true); // Inital total state total = new plupload.QueueProgress(); // Add public methods plupload.extend(this, { /** * Unique id for the Uploader instance. * * @property id * @type String */ id : uid, uid : uid, // mOxie uses this to differentiate between event targets /** * Current state of the total uploading progress. This one can either be plupload.STARTED or plupload.STOPPED. * These states are controlled by the stop/start methods. The default value is STOPPED. * * @property state * @type Number */ state : plupload.STOPPED, /** * Map of features that are available for the uploader runtime. Features will be filled * before the init event is called, these features can then be used to alter the UI for the end user. * Some of the current features that might be in this map is: dragdrop, chunks, jpgresize, pngresize. * * @property features * @type Object */ features : {}, /** * Current runtime name. * * @property runtime * @type String */ runtime : null, /** * Current upload queue, an array of File instances. * * @property files * @type Array * @see plupload.File */ files : files, /** * Object with name/value settings. * * @property settings * @type Object */ settings : settings, /** * Total progess information. How many files has been uploaded, total percent etc. * * @property total * @type plupload.QueueProgress */ total : total, /** * Initializes the Uploader instance and adds internal event listeners. * * @method init */ init : function() { var self = this, opt, preinitOpt, err; preinitOpt = self.getOption('preinit'); if (typeof(preinitOpt) == "function") { preinitOpt(self); } else { plupload.each(preinitOpt, function(func, name) { self.bind(name, func); }); } bindEventListeners.call(self); // Check for required options plupload.each(['container', 'browse_button', 'drop_element'], function(el) { if (self.getOption(el) === null) { err = { code : plupload.INIT_ERROR, message : plupload.translate("'%' specified, but cannot be found.") } return false; } }); if (err) { return self.trigger('Error', err); } if (!settings.browse_button && !settings.drop_element) { return self.trigger('Error', { code : plupload.INIT_ERROR, message : plupload.translate("You must specify either 'browse_button' or 'drop_element'.") }); } initControls.call(self, settings, function(inited) { var initOpt = self.getOption('init'); if (typeof(initOpt) == "function") { initOpt(self); } else { plupload.each(initOpt, function(func, name) { self.bind(name, func); }); } if (inited) { self.runtime = o.Runtime.getInfo(getRUID()).type; self.trigger('Init', { runtime: self.runtime }); self.trigger('PostInit'); } else { self.trigger('Error', { code : plupload.INIT_ERROR, message : plupload.translate('Init error.') }); } }); }, /** * Set the value for the specified option(s). * * @method setOption * @since 2.1 * @param {String|Object} option Name of the option to change or the set of key/value pairs * @param {Mixed} [value] Value for the option (is ignored, if first argument is object) */ setOption: function(option, value) { setOption.call(this, option, value, !this.runtime); // until runtime not set we do not need to reinitialize }, /** * Get the value for the specified option or the whole configuration, if not specified. * * @method getOption * @since 2.1 * @param {String} [option] Name of the option to get * @return {Mixed} Value for the option or the whole set */ getOption: function(option) { if (!option) { return settings; } return settings[option]; }, /** * Refreshes the upload instance by dispatching out a refresh event to all runtimes. * This would for example reposition flash/silverlight shims on the page. * * @method refresh */ refresh : function() { if (fileInputs.length) { plupload.each(fileInputs, function(fileInput) { fileInput.trigger('Refresh'); }); } this.trigger('Refresh'); }, /** * Starts uploading the queued files. * * @method start */ start : function() { if (this.state != plupload.STARTED) { this.state = plupload.STARTED; this.trigger('StateChanged'); uploadNext.call(this); } }, /** * Stops the upload of the queued files. * * @method stop */ stop : function() { if (this.state != plupload.STOPPED) { this.state = plupload.STOPPED; this.trigger('StateChanged'); this.trigger('CancelUpload'); } }, /** * Disables/enables browse button on request. * * @method disableBrowse * @param {Boolean} disable Whether to disable or enable (default: true) */ disableBrowse : function() { disabled = arguments[0] !== undef ? arguments[0] : true; if (fileInputs.length) { plupload.each(fileInputs, function(fileInput) { fileInput.disable(disabled); }); } this.trigger('DisableBrowse', disabled); }, /** * Returns the specified file object by id. * * @method getFile * @param {String} id File id to look for. * @return {plupload.File} File object or undefined if it wasn't found; */ getFile : function(id) { var i; for (i = files.length - 1; i >= 0; i--) { if (files[i].id === id) { return files[i]; } } }, /** * Adds file to the queue programmatically. Can be native file, instance of Plupload.File, * instance of mOxie.File, input[type="file"] element, or array of these. Fires FilesAdded, * if any files were added to the queue. Otherwise nothing happens. * * @method addFile * @since 2.0 * @param {plupload.File|mOxie.File|File|Node|Array} file File or files to add to the queue. * @param {String} [fileName] If specified, will be used as a name for the file */ addFile : function(file, fileName) { var self = this , queue = [] , filesAdded = [] , ruid ; function filterFile(file, cb) { var queue = []; o.each(self.settings.filters, function(rule, name) { if (fileFilters[name]) { queue.push(function(cb) { fileFilters[name].call(self, rule, file, function(res) { cb(!res); }); }); } }); o.inSeries(queue, cb); } /** * @method resolveFile * @private * @param {o.File|o.Blob|plupload.File|File|Blob|input[type="file"]} file */ function resolveFile(file) { var type = o.typeOf(file); // o.File if (file instanceof o.File) { if (!file.ruid && !file.isDetached()) { if (!ruid) { // weird case return false; } file.ruid = ruid; file.connectRuntime(ruid); } resolveFile(new plupload.File(file)); } // o.Blob else if (file instanceof o.Blob) { resolveFile(file.getSource()); file.destroy(); } // plupload.File - final step for other branches else if (file instanceof plupload.File) { if (fileName) { file.name = fileName; } queue.push(function(cb) { // run through the internal and user-defined filters, if any filterFile(file, function(err) { if (!err) { // make files available for the filters by updating the main queue directly files.push(file); // collect the files that will be passed to FilesAdded event filesAdded.push(file); self.trigger("FileFiltered", file); } delay(cb, 1); // do not build up recursions or eventually we might hit the limits }); }); } // native File or blob else if (o.inArray(type, ['file', 'blob']) !== -1) { resolveFile(new o.File(null, file)); } // input[type="file"] else if (type === 'node' && o.typeOf(file.files) === 'filelist') { // if we are dealing with input[type="file"] o.each(file.files, resolveFile); } // mixed array of any supported types (see above) else if (type === 'array') { fileName = null; // should never happen, but unset anyway to avoid funny situations o.each(file, resolveFile); } } ruid = getRUID(); resolveFile(file); if (queue.length) { o.inSeries(queue, function() { // if any files left after filtration, trigger FilesAdded if (filesAdded.length) { self.trigger("FilesAdded", filesAdded); } }); } }, /** * Removes a specific file. * * @method removeFile * @param {plupload.File|String} file File to remove from queue. */ removeFile : function(file) { var id = typeof(file) === 'string' ? file : file.id; for (var i = files.length - 1; i >= 0; i--) { if (files[i].id === id) { return this.splice(i, 1)[0]; } } }, /** * Removes part of the queue and returns the files removed. This will also trigger the FilesRemoved and QueueChanged events. * * @method splice * @param {Number} start (Optional) Start index to remove from. * @param {Number} length (Optional) Lengh of items to remove. * @return {Array} Array of files that was removed. */ splice : function(start, length) { // Splice and trigger events var removed = files.splice(start === undef ? 0 : start, length === undef ? files.length : length); // if upload is in progress we need to stop it and restart after files are removed var restartRequired = false; if (this.state == plupload.STARTED) { // upload in progress plupload.each(removed, function(file) { if (file.status === plupload.UPLOADING) { restartRequired = true; // do not restart, unless file that is being removed is uploading return false; } }); if (restartRequired) { this.stop(); } } this.trigger("FilesRemoved", removed); // Dispose any resources allocated by those files plupload.each(removed, function(file) { file.destroy(); }); if (restartRequired) { this.start(); } return removed; }, /** Dispatches the specified event name and its arguments to all listeners. @method trigger @param {String} name Event name to fire. @param {Object..} Multiple arguments to pass along to the listener functions. */ // override the parent method to match Plupload-like event logic dispatchEvent: function(type) { var list, args, result; type = type.toLowerCase(); list = this.hasEventListener(type); if (list) { // sort event list by priority list.sort(function(a, b) { return b.priority - a.priority; }); // first argument should be current plupload.Uploader instance args = [].slice.call(arguments); args.shift(); args.unshift(this); for (var i = 0; i < list.length; i++) { // Fire event, break chain if false is returned if (list[i].fn.apply(list[i].scope, args) === false) { return false; } } } return true; }, /** Check whether uploader has any listeners to the specified event. @method hasEventListener @param {String} name Event name to check for. */ /** Adds an event listener by name. @method bind @param {String} name Event name to listen for. @param {function} fn Function to call ones the event gets fired. @param {Object} [scope] Optional scope to execute the specified function in. @param {Number} [priority=0] Priority of the event handler - handlers with higher priorities will be called first */ bind: function(name, fn, scope, priority) { // adapt moxie EventTarget style to Plupload-like plupload.Uploader.prototype.bind.call(this, name, fn, priority, scope); }, /** Removes the specified event listener. @method unbind @param {String} name Name of event to remove. @param {function} fn Function to remove from listener. */ /** Removes all event listeners. @method unbindAll */ /** * Destroys Plupload instance and cleans after itself. * * @method destroy */ destroy : function() { this.trigger('Destroy'); settings = total = null; // purge these exclusively this.unbindAll(); } }); }; plupload.Uploader.prototype = o.EventTarget.instance; /** * Constructs a new file instance. * * @class File * @constructor * * @param {Object} file Object containing file properties * @param {String} file.name Name of the file. * @param {Number} file.size File size. */ plupload.File = (function() { var filepool = {}; function PluploadFile(file) { plupload.extend(this, { /** * File id this is a globally unique id for the specific file. * * @property id * @type String */ id: plupload.guid(), /** * File name for example "myfile.gif". * * @property name * @type String */ name: file.name || file.fileName, /** * File type, `e.g image/jpeg` * * @property type * @type String */ type: file.type || '', /** * File size in bytes (may change after client-side manupilation). * * @property size * @type Number */ size: file.size || file.fileSize, /** * Original file size in bytes. * * @property origSize * @type Number */ origSize: file.size || file.fileSize, /** * Number of bytes uploaded of the files total size. * * @property loaded * @type Number */ loaded: 0, /** * Number of percentage uploaded of the file. * * @property percent * @type Number */ percent: 0, /** * Status constant matching the plupload states QUEUED, UPLOADING, FAILED, DONE. * * @property status * @type Number * @see plupload */ status: plupload.QUEUED, /** * Date of last modification. * * @property lastModifiedDate * @type {String} */ lastModifiedDate: file.lastModifiedDate || (new Date()).toLocaleString(), // Thu Aug 23 2012 19:40:00 GMT+0400 (GET) /** * Returns native window.File object, when it's available. * * @method getNative * @return {window.File} or null, if plupload.File is of different origin */ getNative: function() { var file = this.getSource().getSource(); return o.inArray(o.typeOf(file), ['blob', 'file']) !== -1 ? file : null; }, /** * Returns mOxie.File - unified wrapper object that can be used across runtimes. * * @method getSource * @return {mOxie.File} or null */ getSource: function() { if (!filepool[this.id]) { return null; } return filepool[this.id]; }, /** * Destroys plupload.File object. * * @method destroy */ destroy: function() { var src = this.getSource(); if (src) { src.destroy(); delete filepool[this.id]; } } }); filepool[this.id] = file; } return PluploadFile; }()); /** * Constructs a queue progress. * * @class QueueProgress * @constructor */ plupload.QueueProgress = function() { var self = this; // Setup alias for self to reduce code size when it's compressed /** * Total queue file size. * * @property size * @type Number */ self.size = 0; /** * Total bytes uploaded. * * @property loaded * @type Number */ self.loaded = 0; /** * Number of files uploaded. * * @property uploaded * @type Number */ self.uploaded = 0; /** * Number of files failed to upload. * * @property failed * @type Number */ self.failed = 0; /** * Number of files yet to be uploaded. * * @property queued * @type Number */ self.queued = 0; /** * Total percent of the uploaded bytes. * * @property percent * @type Number */ self.percent = 0; /** * Bytes uploaded per second. * * @property bytesPerSec * @type Number */ self.bytesPerSec = 0; /** * Resets the progress to its initial values. * * @method reset */ self.reset = function() { self.size = self.loaded = self.uploaded = self.failed = self.queued = self.percent = self.bytesPerSec = 0; }; }; window.plupload = plupload; }(window, mOxie)); PK!{$IBOBOplupload/handlers.jsnu[/* global plupload, pluploadL10n, ajaxurl, post_id, wpUploaderInit, deleteUserSetting, setUserSetting, getUserSetting, shortform */ var topWin = window.dialogArguments || opener || parent || top, uploader, uploader_init; // Progress and success handlers for media multi uploads. function fileQueued( fileObj ) { // Get rid of unused form. jQuery( '.media-blank' ).remove(); var items = jQuery( '#media-items' ).children(), postid = post_id || 0; // Collapse a single item. if ( items.length == 1 ) { items.removeClass( 'open' ).find( '.slidetoggle' ).slideUp( 200 ); } // Create a progress bar containing the filename. jQuery( '
        ' ) .attr( 'id', 'media-item-' + fileObj.id ) .addClass( 'child-of-' + postid ) .append( '
        0%
        ', jQuery( '
        ' ).text( ' ' + fileObj.name ) ) .appendTo( jQuery( '#media-items' ) ); // Disable submit. jQuery( '#insert-gallery' ).prop( 'disabled', true ); } function uploadStart() { try { if ( typeof topWin.tb_remove != 'undefined' ) topWin.jQuery( '#TB_overlay' ).unbind( 'click', topWin.tb_remove ); } catch( e ){} return true; } function uploadProgress( up, file ) { var item = jQuery( '#media-item-' + file.id ); jQuery( '.bar', item ).width( ( 200 * file.loaded ) / file.size ); jQuery( '.percent', item ).html( file.percent + '%' ); } // Check to see if a large file failed to upload. function fileUploading( up, file ) { var hundredmb = 100 * 1024 * 1024, max = parseInt( up.settings.max_file_size, 10 ); if ( max > hundredmb && file.size > hundredmb ) { setTimeout( function() { if ( file.status < 3 && file.loaded === 0 ) { // Not uploading. wpFileError( file, pluploadL10n.big_upload_failed.replace( '%1$s', '' ).replace( '%2$s', '' ) ); up.stop(); // Stop the whole queue. up.removeFile( file ); up.start(); // Restart the queue. } }, 10000 ); // Wait for 10 seconds for the file to start uploading. } } function updateMediaForm() { var items = jQuery( '#media-items' ).children(); // Just one file, no need for collapsible part. if ( items.length == 1 ) { items.addClass( 'open' ).find( '.slidetoggle' ).show(); jQuery( '.insert-gallery' ).hide(); } else if ( items.length > 1 ) { items.removeClass( 'open' ); // Only show Gallery/Playlist buttons when there are at least two files. jQuery( '.insert-gallery' ).show(); } // Only show Save buttons when there is at least one file. if ( items.not( '.media-blank' ).length > 0 ) jQuery( '.savebutton' ).show(); else jQuery( '.savebutton' ).hide(); } function uploadSuccess( fileObj, serverData ) { var item = jQuery( '#media-item-' + fileObj.id ); // On success serverData should be numeric, // fix bug in html4 runtime returning the serverData wrapped in a
         tag.
        	if ( typeof serverData === 'string' ) {
        		serverData = serverData.replace( /^
        (\d+)<\/pre>$/, '$1' );
        
        		// If async-upload returned an error message, place it in the media item div and return.
        		if ( /media-upload-error|error-div/.test( serverData ) ) {
        			item.html( serverData );
        			return;
        		}
        	}
        
        	item.find( '.percent' ).html( pluploadL10n.crunching );
        
        	prepareMediaItem( fileObj, serverData );
        	updateMediaForm();
        
        	// Increment the counter.
        	if ( post_id && item.hasClass( 'child-of-' + post_id ) ) {
        		jQuery( '#attachments-count' ).text( 1 * jQuery( '#attachments-count' ).text() + 1 );
        	}
        }
        
        function setResize( arg ) {
        	if ( arg ) {
        		if ( window.resize_width && window.resize_height ) {
        			uploader.settings.resize = {
        				enabled: true,
        				width: window.resize_width,
        				height: window.resize_height,
        				quality: 100
        			};
        		} else {
        			uploader.settings.multipart_params.image_resize = true;
        		}
        	} else {
        		delete( uploader.settings.multipart_params.image_resize );
        	}
        }
        
        function prepareMediaItem( fileObj, serverData ) {
        	var f = ( typeof shortform == 'undefined' ) ? 1 : 2, item = jQuery( '#media-item-' + fileObj.id );
        	if ( f == 2 && shortform > 2 )
        		f = shortform;
        
        	try {
        		if ( typeof topWin.tb_remove != 'undefined' )
        			topWin.jQuery( '#TB_overlay' ).click( topWin.tb_remove );
        	} catch( e ){}
        
        	if ( isNaN( serverData ) || !serverData ) {
        		// Old style: Append the HTML returned by the server -- thumbnail and form inputs.
        		item.append( serverData );
        		prepareMediaItemInit( fileObj );
        	} else {
        		// New style: server data is just the attachment ID, fetch the thumbnail and form html from the server.
        		item.load( 'async-upload.php', {attachment_id:serverData, fetch:f}, function(){prepareMediaItemInit( fileObj );updateMediaForm();});
        	}
        }
        
        function prepareMediaItemInit( fileObj ) {
        	var item = jQuery( '#media-item-' + fileObj.id );
        	// Clone the thumbnail as a "pinkynail" -- a tiny image to the left of the filename.
        	jQuery( '.thumbnail', item ).clone().attr( 'class', 'pinkynail toggle' ).prependTo( item );
        
        	// Replace the original filename with the new (unique) one assigned during upload.
        	jQuery( '.filename.original', item ).replaceWith( jQuery( '.filename.new', item ) );
        
        	// Bind Ajax to the new Delete button.
        	jQuery( 'a.delete', item ).on( 'click', function(){
        		// Tell the server to delete it. TODO: Handle exceptions.
        		jQuery.ajax({
        			url: ajaxurl,
        			type: 'post',
        			success: deleteSuccess,
        			error: deleteError,
        			id: fileObj.id,
        			data: {
        				id : this.id.replace(/[^0-9]/g, '' ),
        				action : 'trash-post',
        				_ajax_nonce : this.href.replace(/^.*wpnonce=/,'' )
        			}
        		});
        		return false;
        	});
        
        	// Bind Ajax to the new Undo button.
        	jQuery( 'a.undo', item ).on( 'click', function(){
        		// Tell the server to untrash it. TODO: Handle exceptions.
        		jQuery.ajax({
        			url: ajaxurl,
        			type: 'post',
        			id: fileObj.id,
        			data: {
        				id : this.id.replace(/[^0-9]/g,'' ),
        				action: 'untrash-post',
        				_ajax_nonce: this.href.replace(/^.*wpnonce=/,'' )
        			},
        			success: function( ){
        				var type,
        					item = jQuery( '#media-item-' + fileObj.id );
        
        				if ( type = jQuery( '#type-of-' + fileObj.id ).val() )
        					jQuery( '#' + type + '-counter' ).text( jQuery( '#' + type + '-counter' ).text()-0+1 );
        
        				if ( post_id && item.hasClass( 'child-of-'+post_id ) )
        					jQuery( '#attachments-count' ).text( jQuery( '#attachments-count' ).text()-0+1 );
        
        				jQuery( '.filename .trashnotice', item ).remove();
        				jQuery( '.filename .title', item ).css( 'font-weight','normal' );
        				jQuery( 'a.undo', item ).addClass( 'hidden' );
        				jQuery( '.menu_order_input', item ).show();
        				item.css( {backgroundColor:'#ceb'} ).animate( {backgroundColor: '#fff'}, { queue: false, duration: 500, complete: function(){ jQuery( this ).css({backgroundColor:''}); } }).removeClass( 'undo' );
        			}
        		});
        		return false;
        	});
        
        	// Open this item if it says to start open (e.g. to display an error).
        	jQuery( '#media-item-' + fileObj.id + '.startopen' ).removeClass( 'startopen' ).addClass( 'open' ).find( 'slidetoggle' ).fadeIn();
        }
        
        // Generic error message.
        function wpQueueError( message ) {
        	jQuery( '#media-upload-error' ).show().html( '

        ' + message + '

        ' ); } // File-specific error messages. function wpFileError( fileObj, message ) { itemAjaxError( fileObj.id, message ); } function itemAjaxError( id, message ) { var item = jQuery( '#media-item-' + id ), filename = item.find( '.filename' ).text(), last_err = item.data( 'last-err' ); if ( last_err == id ) // Prevent firing an error for the same file twice. return; item.html( '
        ' + '' + pluploadL10n.dismiss + '' + '' + pluploadL10n.error_uploading.replace( '%s', jQuery.trim( filename )) + ' ' + message + '
        ' ).data( 'last-err', id ); } function deleteSuccess( data ) { var type, id, item; if ( data == '-1' ) return itemAjaxError( this.id, 'You do not have permission. Has your session expired?' ); if ( data == '0' ) return itemAjaxError( this.id, 'Could not be deleted. Has it been deleted already?' ); id = this.id; item = jQuery( '#media-item-' + id ); // Decrement the counters. if ( type = jQuery( '#type-of-' + id ).val() ) jQuery( '#' + type + '-counter' ).text( jQuery( '#' + type + '-counter' ).text() - 1 ); if ( post_id && item.hasClass( 'child-of-'+post_id ) ) jQuery( '#attachments-count' ).text( jQuery( '#attachments-count' ).text() - 1 ); if ( jQuery( 'form.type-form #media-items' ).children().length == 1 && jQuery( '.hidden', '#media-items' ).length > 0 ) { jQuery( '.toggle' ).toggle(); jQuery( '.slidetoggle' ).slideUp( 200 ).siblings().removeClass( 'hidden' ); } // Vanish it. jQuery( '.toggle', item ).toggle(); jQuery( '.slidetoggle', item ).slideUp( 200 ).siblings().removeClass( 'hidden' ); item.css( {backgroundColor:'#faa'} ).animate( {backgroundColor:'#f4f4f4'}, {queue:false, duration:500} ).addClass( 'undo' ); jQuery( '.filename:empty', item ).remove(); jQuery( '.filename .title', item ).css( 'font-weight','bold' ); jQuery( '.filename', item ).append( ' ' + pluploadL10n.deleted + ' ' ).siblings( 'a.toggle' ).hide(); jQuery( '.filename', item ).append( jQuery( 'a.undo', item ).removeClass( 'hidden' ) ); jQuery( '.menu_order_input', item ).hide(); return; } function deleteError() { } function uploadComplete() { jQuery( '#insert-gallery' ).prop( 'disabled', false ); } function switchUploader( s ) { if ( s ) { deleteUserSetting( 'uploader' ); jQuery( '.media-upload-form' ).removeClass( 'html-uploader' ); if ( typeof( uploader ) == 'object' ) uploader.refresh(); } else { setUserSetting( 'uploader', '1' ); // 1 == html uploader. jQuery( '.media-upload-form' ).addClass( 'html-uploader' ); } } function uploadError( fileObj, errorCode, message, up ) { var hundredmb = 100 * 1024 * 1024, max; switch ( errorCode ) { case plupload.FAILED: wpFileError( fileObj, pluploadL10n.upload_failed ); break; case plupload.FILE_EXTENSION_ERROR: wpFileExtensionError( up, fileObj, pluploadL10n.invalid_filetype ); break; case plupload.FILE_SIZE_ERROR: uploadSizeError( up, fileObj ); break; case plupload.IMAGE_FORMAT_ERROR: wpFileError( fileObj, pluploadL10n.not_an_image ); break; case plupload.IMAGE_MEMORY_ERROR: wpFileError( fileObj, pluploadL10n.image_memory_exceeded ); break; case plupload.IMAGE_DIMENSIONS_ERROR: wpFileError( fileObj, pluploadL10n.image_dimensions_exceeded ); break; case plupload.GENERIC_ERROR: wpQueueError( pluploadL10n.upload_failed ); break; case plupload.IO_ERROR: max = parseInt( up.settings.filters.max_file_size, 10 ); if ( max > hundredmb && fileObj.size > hundredmb ) { wpFileError( fileObj, pluploadL10n.big_upload_failed.replace( '%1$s', '' ).replace( '%2$s', '' ) ); } else { wpQueueError( pluploadL10n.io_error ); } break; case plupload.HTTP_ERROR: wpQueueError( pluploadL10n.http_error ); break; case plupload.INIT_ERROR: jQuery( '.media-upload-form' ).addClass( 'html-uploader' ); break; case plupload.SECURITY_ERROR: wpQueueError( pluploadL10n.security_error ); break; /* case plupload.UPLOAD_ERROR.UPLOAD_STOPPED: case plupload.UPLOAD_ERROR.FILE_CANCELLED: jQuery( '#media-item-' + fileObj.id ).remove(); break;*/ default: wpFileError( fileObj, pluploadL10n.default_error ); } } function uploadSizeError( up, file ) { var message, errorDiv; message = pluploadL10n.file_exceeds_size_limit.replace( '%s', file.name ); // Construct the error div. errorDiv = jQuery( '
        ' ) .attr( { 'id': 'media-item-' + file.id, 'class': 'media-item error' } ) .append( jQuery( '

        ' ) .text( message ) ); // Append the error. jQuery( '#media-items' ).append( errorDiv ); up.removeFile( file ); } function wpFileExtensionError( up, file, message ) { jQuery( '#media-items' ).append( '

        ' + message + '

        ' ); up.removeFile( file ); } /** * Copies the attachment URL to the clipboard. * * @since 5.8.0 * * @param {MouseEvent} event A click event. * * @return {void} */ function copyAttachmentUploadURLClipboard() { var clipboard = new ClipboardJS( '.copy-attachment-url' ), successTimeout; clipboard.on( 'success', function( event ) { var triggerElement = jQuery( event.trigger ), successElement = jQuery( '.success', triggerElement.closest( '.copy-to-clipboard-container' ) ); // Clear the selection and move focus back to the trigger. event.clearSelection(); // Handle ClipboardJS focus bug, see https://github.com/zenorocha/clipboard.js/issues/680 triggerElement.trigger( 'focus' ); // Show success visual feedback. clearTimeout( successTimeout ); successElement.removeClass( 'hidden' ); // Hide success visual feedback after 3 seconds since last success. successTimeout = setTimeout( function() { successElement.addClass( 'hidden' ); }, 3000 ); // Handle success audible feedback. wp.a11y.speak( pluploadL10n.file_url_copied ); } ); } jQuery( document ).ready( function( $ ) { copyAttachmentUploadURLClipboard(); var tryAgainCount = {}; var tryAgain; $( '.media-upload-form' ).on( 'click.uploader', function( e ) { var target = $( e.target ), tr, c; if ( target.is( 'input[type="radio"]' ) ) { // Remember the last used image size and alignment. tr = target.closest( 'tr' ); if ( tr.hasClass( 'align' ) ) setUserSetting( 'align', target.val() ); else if ( tr.hasClass( 'image-size' ) ) setUserSetting( 'imgsize', target.val() ); } else if ( target.is( 'button.button' ) ) { // Remember the last used image link url. c = e.target.className || ''; c = c.match( /url([^ '"]+)/ ); if ( c && c[1] ) { setUserSetting( 'urlbutton', c[1] ); target.siblings( '.urlfield' ).val( target.data( 'link-url' ) ); } } else if ( target.is( 'a.dismiss' ) ) { target.parents( '.media-item' ).fadeOut( 200, function() { $( this ).remove(); } ); } else if ( target.is( '.upload-flash-bypass a' ) || target.is( 'a.uploader-html' ) ) { // Switch uploader to html4. $( '#media-items, p.submit, span.big-file-warning' ).css( 'display', 'none' ); switchUploader( 0 ); e.preventDefault(); } else if ( target.is( '.upload-html-bypass a' ) ) { // Switch uploader to multi-file. $( '#media-items, p.submit, span.big-file-warning' ).css( 'display', '' ); switchUploader( 1 ); e.preventDefault(); } else if ( target.is( 'a.describe-toggle-on' ) ) { // Show. target.parent().addClass( 'open' ); target.siblings( '.slidetoggle' ).fadeIn( 250, function() { var S = $( window ).scrollTop(), H = $( window ).height(), top = $( this ).offset().top, h = $( this ).height(), b, B; if ( H && top && h ) { b = top + h; B = S + H; if ( b > B ) { if ( b - B < top - S ) window.scrollBy( 0, ( b - B ) + 10 ); else window.scrollBy( 0, top - S - 40 ); } } } ); e.preventDefault(); } else if ( target.is( 'a.describe-toggle-off' ) ) { // Hide. target.siblings( '.slidetoggle' ).fadeOut( 250, function() { target.parent().removeClass( 'open' ); } ); e.preventDefault(); } }); // Attempt to create image sub-sizes when an image was uploaded successfully // but the server responded with an HTTP 5xx error. tryAgain = function( up, error ) { var file = error.file; var times; var id; if ( ! error || ! error.responseHeaders ) { wpQueueError( pluploadL10n.http_error_image ); return; } id = error.responseHeaders.match( /x-wp-upload-attachment-id:\s*(\d+)/i ); if ( id && id[1] ) { id = id[1]; } else { wpQueueError( pluploadL10n.http_error_image ); return; } times = tryAgainCount[ file.id ]; if ( times && times > 4 ) { /* * The file may have been uploaded and attachment post created, * but post-processing and resizing failed... * Do a cleanup then tell the user to scale down the image and upload it again. */ $.ajax({ type: 'post', url: ajaxurl, dataType: 'json', data: { action: 'media-create-image-subsizes', _wpnonce: wpUploaderInit.multipart_params._wpnonce, attachment_id: id, _wp_upload_failed_cleanup: true, } }); if ( error.message && ( error.status < 500 || error.status >= 600 ) ) { wpQueueError( error.message ); } else { wpQueueError( pluploadL10n.http_error_image ); } return; } if ( ! times ) { tryAgainCount[ file.id ] = 1; } else { tryAgainCount[ file.id ] = ++times; } // Try to create the missing image sizes. $.ajax({ type: 'post', url: ajaxurl, dataType: 'json', data: { action: 'media-create-image-subsizes', _wpnonce: wpUploaderInit.multipart_params._wpnonce, attachment_id: id, _legacy_support: 'true', } }).done( function( response ) { var message; if ( response.success ) { uploadSuccess( file, response.data.id ); } else { if ( response.data && response.data.message ) { message = response.data.message; } wpQueueError( message || pluploadL10n.http_error_image ); } }).fail( function( jqXHR ) { // If another HTTP 5xx error, try try again... if ( jqXHR.status >= 500 && jqXHR.status < 600 ) { tryAgain( up, error ); return; } wpQueueError( pluploadL10n.http_error_image ); }); } // Init and set the uploader. uploader_init = function() { uploader = new plupload.Uploader( wpUploaderInit ); $( '#image_resize' ).on( 'change', function() { var arg = $( this ).prop( 'checked' ); setResize( arg ); if ( arg ) setUserSetting( 'upload_resize', '1' ); else deleteUserSetting( 'upload_resize' ); }); uploader.bind( 'Init', function( up ) { var uploaddiv = $( '#plupload-upload-ui' ); setResize( getUserSetting( 'upload_resize', false ) ); if ( up.features.dragdrop && ! $( document.body ).hasClass( 'mobile' ) ) { uploaddiv.addClass( 'drag-drop' ); $( '#drag-drop-area' ).on( 'dragover.wp-uploader', function() { // dragenter doesn't fire right :( uploaddiv.addClass( 'drag-over' ); }).on( 'dragleave.wp-uploader, drop.wp-uploader', function() { uploaddiv.removeClass( 'drag-over' ); }); } else { uploaddiv.removeClass( 'drag-drop' ); $( '#drag-drop-area' ).off( '.wp-uploader' ); } if ( up.runtime === 'html4' ) { $( '.upload-flash-bypass' ).hide(); } }); uploader.bind( 'postinit', function( up ) { up.refresh(); }); uploader.init(); uploader.bind( 'FilesAdded', function( up, files ) { $( '#media-upload-error' ).empty(); uploadStart(); plupload.each( files, function( file ) { if ( file.type === 'image/heic' && up.settings.heic_upload_error ) { // Show error but do not block uploading. wpQueueError( pluploadL10n.unsupported_image ); } else if ( file.type === 'image/webp' && up.settings.webp_upload_error ) { // Disallow uploading of WebP images if the server cannot edit them. wpQueueError( pluploadL10n.noneditable_image ); up.removeFile( file ); return; } fileQueued( file ); }); up.refresh(); up.start(); }); uploader.bind( 'UploadFile', function( up, file ) { fileUploading( up, file ); }); uploader.bind( 'UploadProgress', function( up, file ) { uploadProgress( up, file ); }); uploader.bind( 'Error', function( up, error ) { var isImage = error.file && error.file.type && error.file.type.indexOf( 'image/' ) === 0; var status = error && error.status; // If the file is an image and the error is HTTP 5xx try to create sub-sizes again. if ( isImage && status >= 500 && status < 600 ) { tryAgain( up, error ); return; } uploadError( error.file, error.code, error.message, up ); up.refresh(); }); uploader.bind( 'FileUploaded', function( up, file, response ) { uploadSuccess( file, response.response ); }); uploader.bind( 'UploadComplete', function() { uploadComplete(); }); }; if ( typeof( wpUploaderInit ) == 'object' ) { uploader_init(); } }); PK!\eCFCFplupload/license.txtnu[ GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. PK!TubUbUplupload/moxie.min.jsnu[var MXI_DEBUG=!1;!function(o,x){"use strict";var s={};function n(e,t){for(var i,n=[],r=0;rt[s]){a=1;break}}if(!i)return a;switch(i){case">":case"gt":return 0=":case"ge":return 0<=a;case"<=":case"le":return a<=0;case"==":case"=":case"eq":return 0===a;case"<>":case"!=":case"ne":return 0!==a;case"":case"<":case"lt":return a<0;default:return null}},global_event_dispatcher:"moxie.core.EventTarget.instance.dispatchEvent"};return l.OS=l.os,MXI_DEBUG&&(l.debug={runtime:!0,events:!1},l.log=function(){var e,t,i=arguments[0];"string"===n.typeOf(i)&&(i=n.sprintf.apply(this,arguments)),window&&window.console&&window.console.log?window.console.log(i):document&&((e=document.getElementById("moxie-console"))||((e=document.createElement("pre")).id="moxie-console",document.body.appendChild(e)),-1!==n.inArray(n.typeOf(i),["object","array"])?(t=i,e.appendChild(document.createTextNode(t+"\n"))):e.appendChild(document.createTextNode(i+"\n")))}),l}),e("moxie/core/I18n",["moxie/core/utils/Basic"],function(i){var t={};return{addI18n:function(e){return i.extend(t,e)},translate:function(e){return t[e]||e},_:function(e){return this.translate(e)},sprintf:function(e){var t=[].slice.call(arguments,1);return e.replace(/%[a-z]/g,function(){var e=t.shift();return"undefined"!==i.typeOf(e)?e:""})}}}),e("moxie/core/utils/Mime",["moxie/core/utils/Basic","moxie/core/I18n"],function(a,n){var e={mimes:{},extensions:{},addMimeType:function(e){for(var t,i,n=e.split(/,/),r=0;r>16&255,n=s>>8&255,s=255&s,d[l++]=64==r?String.fromCharCode(i):64==o?String.fromCharCode(i,n):String.fromCharCode(i,n,s),c>12&63,n=o>>6&63,r=63&o,c[u++]=s.charAt(o>>18&63)+s.charAt(i)+s.charAt(n)+s.charAt(r),ap.MAX_RESIZE_WIDTH||this.height>p.MAX_RESIZE_HEIGHT)throw new u.ImageError(u.ImageError.MAX_RESOLUTION_ERR);this.exec("Image","downsize",e.width,e.height,e.crop,e.preserveHeaders)}catch(e){this.trigger("error",e.code)}},crop:function(e,t,i){this.downsize(e,t,!0,i)},getAsCanvas:function(){if(l.can("create_canvas"))return this.connectRuntime(this.ruid).exec.call(this,"Image","getAsCanvas");throw new u.RuntimeError(u.RuntimeError.NOT_SUPPORTED_ERR)},getAsBlob:function(e,t){if(this.size)return this.exec("Image","getAsBlob",e||"image/jpeg",t||90);throw new u.DOMException(u.DOMException.INVALID_STATE_ERR)},getAsDataURL:function(e,t){if(this.size)return this.exec("Image","getAsDataURL",e||"image/jpeg",t||90);throw new u.DOMException(u.DOMException.INVALID_STATE_ERR)},getAsBinaryString:function(e,t){e=this.getAsDataURL(e,t);return h.atob(e.substring(e.indexOf("base64,")+7))},embed:function(r,e){var o,s=this;e=a.extend({width:this.width,height:this.height,type:this.type||"image/jpeg",quality:90},e||{});try{if(!(r=n.get(r)))throw new u.DOMException(u.DOMException.INVALID_NODE_TYPE_ERR);if(!this.size)throw new u.DOMException(u.DOMException.INVALID_STATE_ERR);this.width>p.MAX_RESIZE_WIDTH||this.height;var t=new p;return t.bind("Resize",function(){!function(e,t){var i=this;if(l.can("create_canvas")){var n=i.getAsCanvas();if(n)return r.appendChild(n),i.destroy(),void s.trigger("embedded")}if(!(n=i.getAsDataURL(e,t)))throw new u.ImageError(u.ImageError.WRONG_FORMAT);l.can("use_data_uri_of",n.length)?(r.innerHTML='',i.destroy(),s.trigger("embedded")):((t=new c).bind("TransportingComplete",function(){o=s.connectRuntime(this.result.ruid),s.bind("Embedded",function(){a.extend(o.getShimContainer().style,{top:"0px",left:"0px",width:i.width+"px",height:i.height+"px"}),o=null},999),o.exec.call(s,"ImageView","display",this.result.uid,width,height),i.destroy()}),t.transport(h.atob(n.substring(n.indexOf("base64,")+7)),e,{required_caps:{display_media:!0},runtime_order:"flash,silverlight",container:r}))}.call(this,e.type,e.quality)}),t.bind("Load",function(){t.downsize(e)}),this.meta.thumb&&this.meta.thumb.width>=e.width&&this.meta.thumb.height>=e.height?t.load(this.meta.thumb.data):t.clone(this,!1),t}catch(e){this.trigger("error",e.code)}},destroy:function(){this.ruid&&(this.getRuntime().exec.call(this,"Image","destroy"),this.disconnectRuntime()),this.unbindAll()}}),this.handleEventProps(f),this.bind("Load Resize",function(){!function(e){e=e||this.exec("Image","getInfo");this.size=e.size,this.width=e.width,this.height=e.height,this.type=e.type,this.meta=e.meta,""===this.name&&(this.name=e.name)}.call(this)},999)}return p.MAX_RESIZE_WIDTH=8192,p.MAX_RESIZE_HEIGHT=8192,p.prototype=i.instance,p}),e("moxie/runtime/html5/Runtime",["moxie/core/utils/Basic","moxie/core/Exceptions","moxie/runtime/Runtime","moxie/core/utils/Env"],function(s,e,a,u){var c={};return a.addConstructor("html5",function(e){var t,i=this,n=a.capTest,r=a.capTrue,o=s.extend({access_binary:n(window.FileReader||window.File&&window.File.getAsDataURL),access_image_binary:function(){return i.can("access_binary")&&!!c.Image},display_media:n(u.can("create_canvas")||u.can("use_data_uri_over32kb")),do_cors:n(window.XMLHttpRequest&&"withCredentials"in new XMLHttpRequest),drag_and_drop:n(("draggable"in(o=document.createElement("div"))||"ondragstart"in o&&"ondrop"in o)&&("IE"!==u.browser||u.verComp(u.version,9,">"))),filter_by_extension:n("Chrome"===u.browser&&u.verComp(u.version,28,">=")||"IE"===u.browser&&u.verComp(u.version,10,">=")||"Safari"===u.browser&&u.verComp(u.version,7,">=")),return_response_headers:r,return_response_type:function(e){return!("json"!==e||!window.JSON)||u.can("return_response_type",e)},return_status_code:r,report_upload_progress:n(window.XMLHttpRequest&&(new XMLHttpRequest).upload),resize_image:function(){return i.can("access_binary")&&u.can("create_canvas")},select_file:function(){return u.can("use_fileinput")&&window.File},select_folder:function(){return i.can("select_file")&&"Chrome"===u.browser&&u.verComp(u.version,21,">=")},select_multiple:function(){return i.can("select_file")&&!("Safari"===u.browser&&"Windows"===u.os)&&!("iOS"===u.os&&u.verComp(u.osVersion,"7.0.0",">")&&u.verComp(u.osVersion,"8.0.0","<"))},send_binary_string:n(window.XMLHttpRequest&&((new XMLHttpRequest).sendAsBinary||window.Uint8Array&&window.ArrayBuffer)),send_custom_headers:n(window.XMLHttpRequest),send_multipart:function(){return!!(window.XMLHttpRequest&&(new XMLHttpRequest).upload&&window.FormData)||i.can("send_binary_string")},slice_blob:n(window.File&&(File.prototype.mozSlice||File.prototype.webkitSlice||File.prototype.slice)),stream_upload:function(){return i.can("slice_blob")&&i.can("send_multipart")},summon_file_dialog:function(){return i.can("select_file")&&("Firefox"===u.browser&&u.verComp(u.version,4,">=")||"Opera"===u.browser&&u.verComp(u.version,12,">=")||"IE"===u.browser&&u.verComp(u.version,10,">=")||!!~s.inArray(u.browser,["Chrome","Safari"]))},upload_filesize:r},arguments[2]);a.call(this,e,arguments[1]||"html5",o),s.extend(this,{init:function(){this.trigger("Init")},destroy:(t=this.destroy,function(){t.call(i),t=i=null})}),s.extend(this.getShim(),c)}),c}),e("moxie/core/utils/Events",["moxie/core/utils/Basic"],function(o){var s={},a="moxie_"+o.guid();function u(){this.returnValue=!1}function c(){this.cancelBubble=!0}function r(t,e,i){if(e=e.toLowerCase(),t[a]&&s[t[a]]&&s[t[a]][e]){for(var n,r=(n=s[t[a]][e]).length-1;0<=r&&(n[r].orig!==i&&n[r].key!==i||(t.removeEventListener?t.removeEventListener(e,n[r].func,!1):t.detachEvent&&t.detachEvent("on"+e,n[r].func),n[r].orig=null,n[r].func=null,n.splice(r,1),void 0===i));r--);if(n.length||delete s[t[a]][e],o.isEmptyObj(s[t[a]])){delete s[t[a]];try{delete t[a]}catch(e){t[a]=void 0}}}}return{addEvent:function(e,t,i,n){var r;t=t.toLowerCase(),e.addEventListener?e.addEventListener(t,r=i,!1):e.attachEvent&&e.attachEvent("on"+t,r=function(){var e=window.event;e.target||(e.target=e.srcElement),e.preventDefault=u,e.stopPropagation=c,i(e)}),e[a]||(e[a]=o.guid()),s.hasOwnProperty(e[a])||(s[e[a]]={}),(e=s[e[a]]).hasOwnProperty(t)||(e[t]=[]),e[t].push({func:r,orig:i,key:n})},removeEvent:r,removeAllEvents:function(i,n){i&&i[a]&&o.each(s[i[a]],function(e,t){r(i,t,n)})}}}),e("moxie/runtime/html5/file/FileInput",["moxie/runtime/html5/Runtime","moxie/file/File","moxie/core/utils/Basic","moxie/core/utils/Dom","moxie/core/utils/Events","moxie/core/utils/Mime","moxie/core/utils/Env"],function(e,a,u,c,l,d,m){return e.FileInput=function(){var s;u.extend(this,{init:function(e){var t,i,n,r=this,o=r.getRuntime(),e=(s=e).accept.mimes||d.extList2mimes(s.accept,o.can("filter_by_extension"));(t=o.getShimContainer()).innerHTML='",e=c.get(o.uid),u.extend(e.style,{position:"absolute",top:0,left:0,width:"100%",height:"100%"}),i=c.get(s.browse_button),o.can("summon_file_dialog")&&("static"===c.getStyle(i,"position")&&(i.style.position="relative"),n=parseInt(c.getStyle(i,"z-index"),10)||1,i.style.zIndex=n,t.style.zIndex=n-1,l.addEvent(i,"click",function(e){var t=c.get(o.uid);t&&!t.disabled&&t.click(),e.preventDefault()},r.uid)),n=o.can("summon_file_dialog")?i:t,l.addEvent(n,"mouseover",function(){r.trigger("mouseenter")},r.uid),l.addEvent(n,"mouseout",function(){r.trigger("mouseleave")},r.uid),l.addEvent(n,"mousedown",function(){r.trigger("mousedown")},r.uid),l.addEvent(c.get(s.container),"mouseup",function(){r.trigger("mouseup")},r.uid),e.onchange=function e(t){var i;r.files=[],u.each(this.files,function(e){var t="";if(s.directory&&"."==e.name)return!0;e.webkitRelativePath&&(t="/"+e.webkitRelativePath.replace(/^\//,"")),(e=new a(o.uid,e)).relativePath=t,r.files.push(e)}),"IE"!==m.browser&&"IEMobile"!==m.browser?this.value="":(i=this.cloneNode(!0),this.parentNode.replaceChild(i,this),i.onchange=e),r.files.length&&r.trigger("change")},r.trigger({type:"ready",async:!0})},disable:function(e){var t=this.getRuntime();(t=c.get(t.uid))&&(t.disabled=!!e)},destroy:function(){var e=this.getRuntime(),t=e.getShim(),e=e.getShimContainer();l.removeAllEvents(e,this.uid),l.removeAllEvents(s&&c.get(s.container),this.uid),l.removeAllEvents(s&&c.get(s.browse_button),this.uid),e&&(e.innerHTML=""),t.removeInstance(this.uid),s=null}})}}),e("moxie/runtime/html5/file/Blob",["moxie/runtime/html5/Runtime","moxie/file/Blob"],function(e,t){return e.Blob=function(){this.slice=function(){return new t(this.getRuntime().uid,function(t,i,n){var e;if(!window.File.prototype.slice)return(e=window.File.prototype.webkitSlice||window.File.prototype.mozSlice)?e.call(t,i,n):null;try{return t.slice(),t.slice(i,n)}catch(e){return t.slice(i,n-i)}}.apply(this,arguments))}}}),e("moxie/runtime/html5/file/FileDrop",["moxie/runtime/html5/Runtime","moxie/file/File","moxie/core/utils/Basic","moxie/core/utils/Dom","moxie/core/utils/Events","moxie/core/utils/Mime"],function(e,r,l,i,d,m){return e.FileDrop=function(){var t,n,o=[],s=[];function a(e){if(e.dataTransfer&&e.dataTransfer.types)return e=l.toArray(e.dataTransfer.types||[]),-1!==l.inArray("Files",e)||-1!==l.inArray("public.file-url",e)||-1!==l.inArray("application/x-moz-file",e)}function u(e,t){var i;i=e,s.length&&(i=m.getFileExtension(i.name))&&-1===l.inArray(i,s)||((i=new r(n,e)).relativePath=t||"",o.push(i))}function c(e,t){var i=[];l.each(e,function(s){i.push(function(e){{var t,n,r;(o=e,(i=s).isFile)?i.file(function(e){u(e,i.fullPath),o()},function(){o()}):i.isDirectory?(t=o,n=[],r=(e=i).createReader(),function t(i){r.readEntries(function(e){e.length?([].push.apply(n,e),t(i)):i()},i)}(function(){c(n,t)})):o()}var i,o})}),l.inSeries(i,function(){t()})}l.extend(this,{init:function(e){var r=this;t=e,n=r.ruid,s=function(e){for(var t=[],i=0;i=")&&E.verComp(E.version,7,"<"),o="Android Browser"===E.browser,s=!1;if(l=e.url.replace(/^.+?\/([\w\-\.]+)$/,"$1").toLowerCase(),(c=!window.XMLHttpRequest||"IE"===E.browser&&E.verComp(E.version,8,"<")?function(){for(var e=["Msxml2.XMLHTTP.6.0","Microsoft.XMLHTTP"],t=0;tthis.length())throw new Error("You are trying to read outside the source boundaries.");for(n=this.littleEndian?0:-8*(t-1),i=r=0;rthis.length())throw new Error("You are trying to write outside the source boundaries.");for(n=this.littleEndian?0:-8*(i-1),r=0;r>Math.abs(n+8*r)&255)},BYTE:function(e){return this.read(e,1)},SHORT:function(e){return this.read(e,2)},LONG:function(e){return this.read(e,4)},SLONG:function(e){e=this.read(e,4);return 2147483647=o.length));i++);},purge:function(){this.headers=s=[]}}}}),e("moxie/runtime/html5/image/ExifParser",["moxie/core/utils/Basic","moxie/runtime/html5/utils/BinaryReader","moxie/core/Exceptions"],function(p,o,g){function s(e){var t,l,h,f,i;if(o.call(this,e),l={tiff:{274:"Orientation",270:"ImageDescription",271:"Make",272:"Model",305:"Software",34665:"ExifIFDPointer",34853:"GPSInfoIFDPointer"},exif:{36864:"ExifVersion",40961:"ColorSpace",40962:"PixelXDimension",40963:"PixelYDimension",36867:"DateTimeOriginal",33434:"ExposureTime",33437:"FNumber",34855:"ISOSpeedRatings",37377:"ShutterSpeedValue",37378:"ApertureValue",37383:"MeteringMode",37384:"LightSource",37385:"Flash",37386:"FocalLength",41986:"ExposureMode",41987:"WhiteBalance",41990:"SceneCaptureType",41988:"DigitalZoomRatio",41992:"Contrast",41993:"Saturation",41994:"Sharpness"},gps:{0:"GPSVersionID",1:"GPSLatitudeRef",2:"GPSLatitude",3:"GPSLongitudeRef",4:"GPSLongitude"},thumb:{513:"JPEGInterchangeFormat",514:"JPEGInterchangeFormatLength"}},h={ColorSpace:{1:"sRGB",0:"Uncalibrated"},MeteringMode:{0:"Unknown",1:"Average",2:"CenterWeightedAverage",3:"Spot",4:"MultiSpot",5:"Pattern",6:"Partial",255:"Other"},LightSource:{1:"Daylight",2:"Fliorescent",3:"Tungsten",4:"Flash",9:"Fine weather",10:"Cloudy weather",11:"Shade",12:"Daylight fluorescent (D 5700 - 7100K)",13:"Day white fluorescent (N 4600 -5400K)",14:"Cool white fluorescent (W 3900 - 4500K)",15:"White fluorescent (WW 3200 - 3700K)",17:"Standard light A",18:"Standard light B",19:"Standard light C",20:"D55",21:"D65",22:"D75",23:"D50",24:"ISO studio tungsten",255:"Other"},Flash:{0:"Flash did not fire",1:"Flash fired",5:"Strobe return light not detected",7:"Strobe return light detected",9:"Flash fired, compulsory flash mode",13:"Flash fired, compulsory flash mode, return light not detected",15:"Flash fired, compulsory flash mode, return light detected",16:"Flash did not fire, compulsory flash mode",24:"Flash did not fire, auto mode",25:"Flash fired, auto mode",29:"Flash fired, auto mode, return light not detected",31:"Flash fired, auto mode, return light detected",32:"No flash function",65:"Flash fired, red-eye reduction mode",69:"Flash fired, red-eye reduction mode, return light not detected",71:"Flash fired, red-eye reduction mode, return light detected",73:"Flash fired, compulsory flash mode, red-eye reduction mode",77:"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected",79:"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected",89:"Flash fired, auto mode, red-eye reduction mode",93:"Flash fired, auto mode, return light not detected, red-eye reduction mode",95:"Flash fired, auto mode, return light detected, red-eye reduction mode"},ExposureMode:{0:"Auto exposure",1:"Manual exposure",2:"Auto bracket"},WhiteBalance:{0:"Auto white balance",1:"Manual white balance"},SceneCaptureType:{0:"Standard",1:"Landscape",2:"Portrait",3:"Night scene"},Contrast:{0:"Normal",1:"Soft",2:"Hard"},Saturation:{0:"Normal",1:"Low saturation",2:"High saturation"},Sharpness:{0:"Normal",1:"Soft",2:"Hard"},GPSLatitudeRef:{N:"North latitude",S:"South latitude"},GPSLongitudeRef:{E:"East longitude",W:"West longitude"}},n=(f={tiffHeader:10}).tiffHeader,t={clear:this.clear},p.extend(this,{read:function(){try{return s.prototype.read.apply(this,arguments)}catch(e){throw new g.ImageError(g.ImageError.INVALID_META_ERR)}},write:function(){try{return s.prototype.write.apply(this,arguments)}catch(e){throw new g.ImageError(g.ImageError.INVALID_META_ERR)}},UNDEFINED:function(){return this.BYTE.apply(this,arguments)},RATIONAL:function(e){return this.LONG(e)/this.LONG(e+4)},SRATIONAL:function(e){return this.SLONG(e)/this.SLONG(e+4)},ASCII:function(e){return this.CHAR(e)},TIFF:function(){return i||null},EXIF:function(){var e=null;if(f.exifIFD){try{e=r.call(this,f.exifIFD,l.exif)}catch(e){return null}if(e.ExifVersion&&"array"===p.typeOf(e.ExifVersion)){for(var t=0,i="";t=this.length())throw new g.ImageError(g.ImageError.INVALID_META_ERR);"ASCII"===o?u[i]=p.trim(a.STRING(r,n).replace(/\0$/,"")):(s=a.asArray(o,r,n),o=1==n?s[0]:s,h.hasOwnProperty(i)&&"object"!=typeof o?u[i]=h[i][o]:u[i]=o)}return u}n&&(f.IFD1=f.tiffHeader+n)}return s.prototype=o.prototype,s}),e("moxie/runtime/html5/image/JPEG",["moxie/core/utils/Basic","moxie/core/Exceptions","moxie/runtime/html5/image/JPEGHeaders","moxie/runtime/html5/utils/BinaryReader","moxie/runtime/html5/image/ExifParser"],function(s,a,u,c,l){return function(e){var i,n,t,r=new c(e);if(65496!==r.SHORT(0))throw new a.ImageError(a.ImageError.WRONG_FORMAT);i=new u(e);try{n=new l(i.get("app1")[0])}catch(e){}function o(e){var t,i=0;for(e=e||r;i<=e.length();){if(65472<=(t=e.SHORT(i+=2))&&t<=65475)return i+=5,{height:e.SHORT(i),width:e.SHORT(i+=2)};t=e.SHORT(i+=2),i+=t-2}return null}t=o.call(this),s.extend(this,{type:"image/jpeg",size:r.length(),width:t&&t.width||0,height:t&&t.height||0,setExif:function(e,t){if(!n)return!1;"object"===s.typeOf(e)?s.each(e,function(e,t){n.setExif(t,e)}):n.setExif(e,t),i.set("app1",n.SEGMENT())},writeHeaders:function(){return arguments.length?i.restore(arguments[0]):i.restore(e)},stripHeaders:function(e){return i.strip(e)},purge:function(){!function(){n&&i&&r&&(n.clear(),i.purge(),r.clear(),t=i=n=r=null)}.call(this)}}),n&&(this.meta={tiff:n.TIFF(),exif:n.EXIF(),gps:n.GPS(),thumb:function(){var e,t,i=n.thumb();if(i&&(e=new c(i),t=o(e),e.clear(),t))return t.data=i,t;return null}()})}}),e("moxie/runtime/html5/image/PNG",["moxie/core/Exceptions","moxie/core/utils/Basic","moxie/runtime/html5/utils/BinaryReader"],function(a,u,c){return function(e){for(var t,r=new c(e),i=0,n=0,o=[35152,20039,3338,6666],n=0;n>1;i=null;e=a/t;return 0==e?1:e}(e,r),f=0;f=")||"IE"===a.browser&&a.verComp(a.version,10,">=")||"Safari"===a.browser&&a.verComp(a.version,7,">=")),resize_image:function(){return u.Image&&i.can("access_binary")&&a.can("create_canvas")},report_upload_progress:!1,return_response_headers:!1,return_response_type:function(e){return!("json"!==e||!window.JSON)||!!~o.inArray(e,["text","document",""])},return_status_code:function(e){return!o.arrayDiff(e,[200,404])},select_file:function(){return a.can("use_fileinput")},select_multiple:!1,send_binary_string:!1,send_custom_headers:!1,send_multipart:!0,slice_blob:!1,stream_upload:function(){return i.can("select_file")},summon_file_dialog:function(){return i.can("select_file")&&("Firefox"===a.browser&&a.verComp(a.version,4,">=")||"Opera"===a.browser&&a.verComp(a.version,12,">=")||"IE"===a.browser&&a.verComp(a.version,10,">=")||!!~o.inArray(a.browser,["Chrome","Safari"]))},upload_filesize:r,use_http_method:function(e){return!o.arrayDiff(e,["GET","POST"])}}),o.extend(this,{init:function(){this.trigger("Init")},destroy:(t=this.destroy,function(){t.call(i),t=i=null})}),o.extend(this.getShim(),u)}),u}),e("moxie/runtime/html4/file/FileInput",["moxie/runtime/html4/Runtime","moxie/file/File","moxie/core/utils/Basic","moxie/core/utils/Dom","moxie/core/utils/Events","moxie/core/utils/Mime","moxie/core/utils/Env"],function(e,d,m,h,f,s,p){return e.FileInput=function(){var a,u,c=[];function l(){var e,t,i,n=this,r=n.getRuntime(),o=m.guid("uid_"),s=r.getShimContainer();a&&(e=h.get(a+"_form"))&&m.extend(e.style,{top:"100%"}),(t=document.createElement("form")).setAttribute("id",o+"_form"),t.setAttribute("method","post"),t.setAttribute("enctype","multipart/form-data"),t.setAttribute("encoding","multipart/form-data"),m.extend(t.style,{overflow:"hidden",position:"absolute",top:0,left:0,width:"100%",height:"100%"}),(i=document.createElement("input")).setAttribute("id",o),i.setAttribute("type","file"),i.setAttribute("name",u.name||"Filedata"),i.setAttribute("accept",c.join(",")),m.extend(i.style,{fontSize:"999px",opacity:0}),t.appendChild(i),s.appendChild(t),m.extend(i.style,{position:"absolute",top:0,left:0,width:"100%",height:"100%"}),"IE"===p.browser&&p.verComp(p.version,10,"<")&&m.extend(i.style,{filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=0)"}),i.onchange=function(){var e;if(this.value){if(this.files){if(0===(e=this.files[0]).size)return void t.parentNode.removeChild(t)}else e={name:this.value};e=new d(r.uid,e),this.onchange=function(){},l.call(n),n.files=[e],i.setAttribute("id",e.uid),t.setAttribute("id",e.uid+"_form"),n.trigger("change"),i=t=null}},r.can("summon_file_dialog")&&(e=h.get(u.browse_button),f.removeEvent(e,"click",n.uid),f.addEvent(e,"click",function(e){i&&!i.disabled&&i.click(),e.preventDefault()},n.uid)),a=o}m.extend(this,{init:function(e){var t,i,n,r=this,o=r.getRuntime();c=(u=e).accept.mimes||s.extList2mimes(e.accept,o.can("filter_by_extension")),t=o.getShimContainer(),n=h.get(e.browse_button),o.can("summon_file_dialog")&&("static"===h.getStyle(n,"position")&&(n.style.position="relative"),i=parseInt(h.getStyle(n,"z-index"),10)||1,n.style.zIndex=i,t.style.zIndex=i-1),i=o.can("summon_file_dialog")?n:t,f.addEvent(i,"mouseover",function(){r.trigger("mouseenter")},r.uid),f.addEvent(i,"mouseout",function(){r.trigger("mouseleave")},r.uid),f.addEvent(i,"mousedown",function(){r.trigger("mousedown")},r.uid),f.addEvent(h.get(e.container),"mouseup",function(){r.trigger("mouseup")},r.uid),l.call(this),t=null,r.trigger({type:"ready",async:!0})},disable:function(e){var t;(t=h.get(a))&&(t.disabled=!!e)},destroy:function(){var e=this.getRuntime(),t=e.getShim(),e=e.getShimContainer();f.removeAllEvents(e,this.uid),f.removeAllEvents(u&&h.get(u.container),this.uid),f.removeAllEvents(u&&h.get(u.browse_button),this.uid),e&&(e.innerHTML=""),t.removeInstance(this.uid),a=c=u=null}})}}),e("moxie/runtime/html4/file/FileReader",["moxie/runtime/html4/Runtime","moxie/runtime/html5/file/FileReader"],function(e,t){return e.FileReader=t}),e("moxie/runtime/html4/xhr/XMLHttpRequest",["moxie/runtime/html4/Runtime","moxie/core/utils/Basic","moxie/core/utils/Dom","moxie/core/utils/Url","moxie/core/Exceptions","moxie/core/utils/Events","moxie/file/Blob","moxie/xhr/FormData"],function(e,m,h,f,p,g,x,E){return e.XMLHttpRequest=function(){var u,c,l;function d(t){var e,i,n,r=this,o=!1;if(l){if(e=l.id.replace(/_iframe$/,""),e=h.get(e+"_form")){for(n=(i=e.getElementsByTagName("input")).length;n--;)switch(i[n].getAttribute("type")){case"hidden":i[n].parentNode.removeChild(i[n]);break;case"file":o=!0}i=[],o||e.parentNode.removeChild(e),e=null}setTimeout(function(){g.removeEvent(l,"load",r.uid),l.parentNode&&l.parentNode.removeChild(l);var e=r.getRuntime().getShimContainer();e.children.length||e.parentNode.removeChild(e),e=l=null,t()},1)}}m.extend(this,{send:function(t,e){var i,n,r,o,s=this,a=s.getRuntime();if(u=c=null,e instanceof E&&e.hasBlob()){if(o=e.getBlob(),i=o.uid,r=h.get(i),!(n=h.get(i+"_form")))throw new p.DOMException(p.DOMException.NOT_FOUND_ERR)}else i=m.guid("uid_"),(n=document.createElement("form")).setAttribute("id",i+"_form"),n.setAttribute("method",t.method),n.setAttribute("enctype","multipart/form-data"),n.setAttribute("encoding","multipart/form-data"),a.getShimContainer().appendChild(n);n.setAttribute("target",i+"_iframe"),e instanceof E&&e.each(function(e,t){var i;e instanceof x?r&&r.setAttribute("name",t):(i=document.createElement("input"),m.extend(i,{type:"hidden",name:t,value:e}),r?n.insertBefore(i,r):n.appendChild(i))}),n.setAttribute("action",t.url),e=a.getShimContainer()||document.body,(a=document.createElement("div")).innerHTML='',l=a.firstChild,e.appendChild(l),g.addEvent(l,"load",function(){var e;try{e=l.contentWindow.document||l.contentDocument||window.frames[l.id].document,/^4(0[0-9]|1[0-7]|2[2346])\s/.test(e.title)?u=e.title.replace(/^(\d+).*$/,"$1"):(u=200,c=m.trim(e.body.innerHTML),s.trigger({type:"progress",loaded:c.length,total:c.length}),o&&s.trigger({type:"uploadprogress",loaded:o.size||1025,total:o.size||1025}))}catch(e){if(!f.hasSameOrigin(t.url))return void d.call(s,function(){s.trigger("error")});u=404}d.call(s,function(){s.trigger("load")})},s.uid),n.submit(),s.trigger("loadstart")},getStatus:function(){return u},getResponse:function(e){if("json"===e&&"string"===m.typeOf(c)&&window.JSON)try{return JSON.parse(c.replace(/^\s*]*>/,"").replace(/<\/pre>\s*$/,""))}catch(e){return null}return c},abort:function(){var e=this;l&&l.contentWindow&&(l.contentWindow.stop?l.contentWindow.stop():l.contentWindow.document.execCommand?l.contentWindow.document.execCommand("Stop"):l.src="about:blank"),d.call(this,function(){e.dispatchEvent("abort")})}})}}),e("moxie/runtime/html4/image/Image",["moxie/runtime/html4/Runtime","moxie/runtime/html5/image/Image"],function(e,t){return e.Image=t});for(var t=["moxie/core/utils/Basic","moxie/core/utils/Env","moxie/core/I18n","moxie/core/utils/Mime","moxie/core/utils/Dom","moxie/core/Exceptions","moxie/core/EventTarget","moxie/runtime/Runtime","moxie/runtime/RuntimeClient","moxie/file/FileInput","moxie/core/utils/Encode","moxie/file/Blob","moxie/file/File","moxie/file/FileDrop","moxie/file/FileReader","moxie/core/utils/Url","moxie/runtime/RuntimeTarget","moxie/file/FileReaderSync","moxie/xhr/FormData","moxie/xhr/XMLHttpRequest","moxie/runtime/Transporter","moxie/image/Image","moxie/core/utils/Events"],i=0;i":"gt","&":"amp",'"':"quot","'":"#39"};return e&&(""+e).replace(/[<>&\"\']/g,function(e){return t[e]?"&"+t[e]+";":e})},toArray:I.toArray,inArray:I.inArray,addI18n:I.addI18n,translate:I.translate,isEmptyObj:I.isEmptyObj,hasClass:I.hasClass,addClass:I.addClass,removeClass:I.removeClass,getStyle:I.getStyle,addEvent:I.addEvent,removeEvent:I.removeEvent,removeAllEvents:I.removeAllEvents,cleanName:function(e){for(var t=[/[\300-\306]/g,"A",/[\340-\346]/g,"a",/\307/g,"C",/\347/g,"c",/[\310-\313]/g,"E",/[\350-\353]/g,"e",/[\314-\317]/g,"I",/[\354-\357]/g,"i",/\321/g,"N",/\361/g,"n",/[\322-\330]/g,"O",/[\362-\370]/g,"o",/[\331-\334]/g,"U",/[\371-\374]/g,"u"],i=0;i(t/=1024)?i(e/t,1)+" "+F.translate("gb"):e>(t/=1024)?i(e/t,1)+" "+F.translate("mb"):1024e?(this.trigger("Error",{code:F.FILE_SIZE_ERROR,message:F.translate("File size error."),file:t}),i(!1)):i(!0)}),F.addFileFilter("prevent_duplicates",function(e,t,i){if(e)for(var n=this.files.length;n--;)if(t.name===this.files[n].name&&t.size===this.files[n].size)return this.trigger("Error",{code:F.FILE_DUPLICATE_ERROR,message:F.translate("Duplicate file error."),file:t}),void i(!1);i(!0)}),F.Uploader=function(e){var u,i,n,p,t=F.guid(),l=[],h={},o=[],d=[],c=!1;function r(){var e,t,i=0;if(this.state==F.STARTED){for(t=0;tu?(t=Math.min(u,a.size-c),a.slice(c,c+t)):(t=a.size,a),u&&d.chunks&&(r.settings.send_chunk_number?(n.chunk=Math.ceil(c/u),n.chunks=Math.ceil(a.size/u)):(n.offset=c,n.total=a.size)),(p=new I.XMLHttpRequest).upload&&(p.upload.onprogress=function(e){s.loaded=Math.min(s.size,c+e.loaded),r.trigger("UploadProgress",s)}),p.onload=function(){400<=p.status?f():(l=r.settings.max_retries,t=a.size?(s.size!=s.origSize&&(a.destroy(),a=null),r.trigger("UploadProgress",s),s.status=F.DONE,r.trigger("FileUploaded",s,{response:p.responseText,status:p.status,responseHeaders:p.getAllResponseHeaders()})):T(g,1))},p.onerror=function(){f()},p.onloadend=function(){this.destroy(),p=null},r.settings.multipart&&d.multipart?(p.open("post",o,!0),F.each(r.settings.headers,function(e,t){p.setRequestHeader(t,e)}),i=new I.FormData,F.each(F.extend(n,r.settings.multipart_params),function(e,t){i.append(t,e)}),i.append(r.settings.file_data_name,e),p.send(i,{runtime_order:r.settings.runtimes,required_caps:r.settings.required_features,preferred_caps:h})):(o=F.buildUrl(r.settings.url,F.extend(n,r.settings.multipart_params)),p.open("post",o,!0),p.setRequestHeader("Content-Type","application/octet-stream"),F.each(r.settings.headers,function(e,t){p.setRequestHeader(t,e)}),p.send(e,{runtime_order:r.settings.runtimes,required_caps:r.settings.required_features,preferred_caps:h})))}s.loaded&&(c=s.loaded=u?u*Math.floor(s.loaded/u):0),a=s.getSource(),r.settings.resize.enabled&&function(e,t){if(e.ruid){e=I.Runtime.getInfo(e.ruid);if(e)return e.can(t)}}(a,"send_binary_string")&&~I.inArray(a.type,["image/jpeg","image/png"])?function(t,e,i){var n=new I.Image;try{n.onload=function(){if(e.width>this.width&&e.height>this.height&&e.quality===S&&e.preserve_headers&&!e.crop)return this.destroy(),i(t);n.downsize(e.width,e.height,e.crop,e.preserve_headers)},n.onresize=function(){i(this.getAsBlob(t.type,e.quality)),this.destroy()},n.onerror=function(){i(t)},n.load(t)}catch(e){i(t)}}.call(this,a,r.settings.resize,function(e){a=e,s.size=e.size,g()}):g()}function R(e,t){s(t)}function E(e){if(e.state==F.STARTED)i=+new Date;else if(e.state==F.STOPPED)for(var t=e.files.length-1;0<=t;t--)e.files[t].status==F.UPLOADING&&(e.files[t].status=F.QUEUED,a())}function y(){p&&p.abort()}function v(e){a(),T(function(){r.call(e)},1)}function z(e,t){t.code===F.INIT_ERROR?e.destroy():t.code===F.HTTP_ERROR&&(t.file.status=F.FAILED,s(t.file),e.state==F.STARTED)&&(e.trigger("CancelUpload"),T(function(){r.call(e)},1))}function O(e){e.stop(),F.each(l,function(e){e.destroy()}),l=[],o.length&&(F.each(o,function(e){e.destroy()}),o=[]),d.length&&(F.each(d,function(e){e.destroy()}),d=[]),c=!(h={}),i=p=null,n.reset()}u={runtimes:I.Runtime.order,max_retries:0,chunk_size:0,multipart:!0,multi_selection:!0,file_data_name:"file",filters:{mime_types:[],prevent_duplicates:!1,max_file_size:0},resize:{enabled:!1,preserve_headers:!0,crop:!1},send_file_name:!0,send_chunk_number:!0},_.call(this,e,null,!0),n=new F.QueueProgress,F.extend(this,{id:t,uid:t,state:F.STOPPED,features:{},runtime:null,files:l,settings:u,total:n,init:function(){var t,i=this,e=i.getOption("preinit");return"function"==typeof e?e(i):F.each(e,function(e,t){i.bind(t,e)}),function(){this.bind("FilesAdded FilesRemoved",function(e){e.trigger("QueueChanged"),e.refresh()}),this.bind("CancelUpload",y),this.bind("BeforeUpload",m),this.bind("UploadFile",b),this.bind("UploadProgress",R),this.bind("StateChanged",E),this.bind("QueueChanged",a),this.bind("Error",z),this.bind("FileUploaded",v),this.bind("Destroy",O)}.call(i),F.each(["container","browse_button","drop_element"],function(e){if(null===i.getOption(e))return!(t={code:F.INIT_ERROR,message:F.translate("'%' specified, but cannot be found.")})}),t?i.trigger("Error",t):u.browse_button||u.drop_element?void g.call(i,u,function(e){var t=i.getOption("init");"function"==typeof t?t(i):F.each(t,function(e,t){i.bind(t,e)}),e?(i.runtime=I.Runtime.getInfo(f()).type,i.trigger("Init",{runtime:i.runtime}),i.trigger("PostInit")):i.trigger("Error",{code:F.INIT_ERROR,message:F.translate("Init error.")})}):i.trigger("Error",{code:F.INIT_ERROR,message:F.translate("You must specify either 'browse_button' or 'drop_element'.")})},setOption:function(e,t){_.call(this,e,t,!this.runtime)},getOption:function(e){return e?u[e]:u},refresh:function(){o.length&&F.each(o,function(e){e.trigger("Refresh")}),this.trigger("Refresh")},start:function(){this.state!=F.STARTED&&(this.state=F.STARTED,this.trigger("StateChanged"),r.call(this))},stop:function(){this.state!=F.STOPPED&&(this.state=F.STOPPED,this.trigger("StateChanged"),this.trigger("CancelUpload"))},disableBrowse:function(){c=arguments[0]===S||arguments[0],o.length&&F.each(o,function(e){e.disable(c)}),this.trigger("DisableBrowse",c)},getFile:function(e){for(var t=l.length-1;0<=t;t--)if(l[t].id===e)return l[t]},addFile:function(e,n){var r,s=this,a=[],o=[];r=f(),function e(i){var t=I.typeOf(i);if(i instanceof I.File){if(!i.ruid&&!i.isDetached()){if(!r)return!1;i.ruid=r,i.connectRuntime(r)}e(new F.File(i))}else i instanceof I.Blob?(e(i.getSource()),i.destroy()):i instanceof F.File?(n&&(i.name=n),a.push(function(t){var n,e,r;n=i,e=function(e){e||(l.push(i),o.push(i),s.trigger("FileFiltered",i)),T(t,1)},r=[],I.each(s.settings.filters,function(e,i){D[i]&&r.push(function(t){D[i].call(s,e,n,function(e){t(!e)})})}),I.inSeries(r,e)})):-1!==I.inArray(t,["file","blob"])?e(new I.File(null,i)):"node"===t&&"filelist"===I.typeOf(i.files)?I.each(i.files,e):"array"===t&&(n=null,I.each(i,e))}(e),a.length&&I.inSeries(a,function(){o.length&&s.trigger("FilesAdded",o)})},removeFile:function(e){for(var t="string"==typeof e?e:e.id,i=l.length-1;0<=i;i--)if(l[i].id===t)return this.splice(i,1)[0]},splice:function(e,t){var e=l.splice(e===S?0:e,t===S?l.length:t),i=!1;return this.state==F.STARTED&&(F.each(e,function(e){if(e.status===F.UPLOADING)return!(i=!0)}),i)&&this.stop(),this.trigger("FilesRemoved",e),F.each(e,function(e){e.destroy()}),i&&this.start(),e},dispatchEvent:function(e){var t,i;if(e=e.toLowerCase(),t=this.hasEventListener(e)){t.sort(function(e,t){return t.priority-e.priority}),(i=[].slice.call(arguments)).shift(),i.unshift(this);for(var n=0;n').attr("id","media-item-"+e.id).addClass("child-of-"+r).append('
        0%
        ',jQuery('
        ').text(" "+e.name)).appendTo(jQuery("#media-items")),jQuery("#insert-gallery").prop("disabled",!0)}function uploadStart(){try{void 0!==topWin.tb_remove&&topWin.jQuery("#TB_overlay").unbind("click",topWin.tb_remove)}catch(e){}return!0}function uploadProgress(e,a){var r=jQuery("#media-item-"+a.id);jQuery(".bar",r).width(200*a.loaded/a.size),jQuery(".percent",r).html(a.percent+"%")}function fileUploading(e,a){var r=104857600;rr&&setTimeout(function(){a.status<3&&0===a.loaded&&(wpFileError(a,pluploadL10n.big_upload_failed.replace("%1$s",'').replace("%2$s","")),e.stop(),e.removeFile(a),e.start())},1e4)}function updateMediaForm(){var e=jQuery("#media-items").children();1==e.length?(e.addClass("open").find(".slidetoggle").show(),jQuery(".insert-gallery").hide()):1(\d+)<\/pre>$/,"$1"),/media-upload-error|error-div/.test(a))?r.html(a):(r.find(".percent").html(pluploadL10n.crunching),prepareMediaItem(e,a),updateMediaForm(),post_id&&r.hasClass("child-of-"+post_id)&&jQuery("#attachments-count").text(+jQuery("#attachments-count").text()+1))}function setResize(e){e?window.resize_width&&window.resize_height?uploader.settings.resize={enabled:!0,width:window.resize_width,height:window.resize_height,quality:100}:uploader.settings.multipart_params.image_resize=!0:delete uploader.settings.multipart_params.image_resize}function prepareMediaItem(e,a){var r="undefined"==typeof shortform?1:2,t=jQuery("#media-item-"+e.id);2==r&&2

        '+e+"

        ")}function wpFileError(e,a){itemAjaxError(e.id,a)}function itemAjaxError(e,a){var r=jQuery("#media-item-"+e),t=r.find(".filename").text();r.data("last-err")!=e&&r.html('
        '+pluploadL10n.dismiss+""+pluploadL10n.error_uploading.replace("%s",jQuery.trim(t))+" "+a+"
        ").data("last-err",e)}function deleteSuccess(e){var a;return"-1"==e?itemAjaxError(this.id,"You do not have permission. Has your session expired?"):"0"==e?itemAjaxError(this.id,"Could not be deleted. Has it been deleted already?"):(e=this.id,a=jQuery("#media-item-"+e),(e=jQuery("#type-of-"+e).val())&&jQuery("#"+e+"-counter").text(jQuery("#"+e+"-counter").text()-1),post_id&&a.hasClass("child-of-"+post_id)&&jQuery("#attachments-count").text(jQuery("#attachments-count").text()-1),1==jQuery("form.type-form #media-items").children().length&&0 '+pluploadL10n.deleted+" ").siblings("a.toggle").hide(),jQuery(".filename",a).append(jQuery("a.undo",a).removeClass("hidden")),void jQuery(".menu_order_input",a).hide())}function deleteError(){}function uploadComplete(){jQuery("#insert-gallery").prop("disabled",!1)}function switchUploader(e){e?(deleteUserSetting("uploader"),jQuery(".media-upload-form").removeClass("html-uploader"),"object"==typeof uploader&&uploader.refresh()):(setUserSetting("uploader","1"),jQuery(".media-upload-form").addClass("html-uploader"))}function uploadError(e,a,r,t){var i=104857600;switch(a){case plupload.FAILED:wpFileError(e,pluploadL10n.upload_failed);break;case plupload.FILE_EXTENSION_ERROR:wpFileExtensionError(t,e,pluploadL10n.invalid_filetype);break;case plupload.FILE_SIZE_ERROR:uploadSizeError(t,e);break;case plupload.IMAGE_FORMAT_ERROR:wpFileError(e,pluploadL10n.not_an_image);break;case plupload.IMAGE_MEMORY_ERROR:wpFileError(e,pluploadL10n.image_memory_exceeded);break;case plupload.IMAGE_DIMENSIONS_ERROR:wpFileError(e,pluploadL10n.image_dimensions_exceeded);break;case plupload.GENERIC_ERROR:wpQueueError(pluploadL10n.upload_failed);break;case plupload.IO_ERROR:ii?wpFileError(e,pluploadL10n.big_upload_failed.replace("%1$s",'').replace("%2$s","")):wpQueueError(pluploadL10n.io_error);break;case plupload.HTTP_ERROR:wpQueueError(pluploadL10n.http_error);break;case plupload.INIT_ERROR:jQuery(".media-upload-form").addClass("html-uploader");break;case plupload.SECURITY_ERROR:wpQueueError(pluploadL10n.security_error);break;default:wpFileError(e,pluploadL10n.default_error)}}function uploadSizeError(e,a){var r=pluploadL10n.file_exceeds_size_limit.replace("%s",a.name),r=jQuery("
        ").attr({id:"media-item-"+a.id,class:"media-item error"}).append(jQuery("

        ").text(r));jQuery("#media-items").append(r),e.removeFile(a)}function wpFileExtensionError(e,a,r){jQuery("#media-items").append('

        '+r+"

        "),e.removeFile(a)}function copyAttachmentUploadURLClipboard(){var t;new ClipboardJS(".copy-attachment-url").on("success",function(e){var a=jQuery(e.trigger),r=jQuery(".success",a.closest(".copy-to-clipboard-container"));e.clearSelection(),a.trigger("focus"),clearTimeout(t),r.removeClass("hidden"),t=setTimeout(function(){r.addClass("hidden")},3e3),wp.a11y.speak(pluploadL10n.file_url_copied)})}jQuery(document).ready(function(o){copyAttachmentUploadURLClipboard();var d,l={};o(".media-upload-form").on("click.uploader",function(e){var a,r=o(e.target);r.is('input[type="radio"]')?(a=r.closest("tr")).hasClass("align")?setUserSetting("align",r.val()):a.hasClass("image-size")&&setUserSetting("imgsize",r.val()):r.is("button.button")?(a=(a=e.target.className||"").match(/url([^ '"]+)/))&&a[1]&&(setUserSetting("urlbutton",a[1]),r.siblings(".urlfield").val(r.data("link-url"))):r.is("a.dismiss")?r.parents(".media-item").fadeOut(200,function(){o(this).remove()}):r.is(".upload-flash-bypass a")||r.is("a.uploader-html")?(o("#media-items, p.submit, span.big-file-warning").css("display","none"),switchUploader(0),e.preventDefault()):r.is(".upload-html-bypass a")?(o("#media-items, p.submit, span.big-file-warning").css("display",""),switchUploader(1),e.preventDefault()):r.is("a.describe-toggle-on")?(r.parent().addClass("open"),r.siblings(".slidetoggle").fadeIn(250,function(){var e=o(window).scrollTop(),a=o(window).height(),r=o(this).offset().top,t=o(this).height();a&&r&&t&&(a=e+a)<(t=r+t)&&(t-a').css({position:"fixed",top:"-1000px",left:"-1000px",height:0,width:0}).attr("id","wp-uploader-browser-"+this.uploader.id).appendTo("body")).append(this.browser))}this.uploader.refresh()}}),l.queue=new wp.media.model.Attachments([],{query:!1}),l.errors=new Backbone.Collection,e.Uploader=l)}(wp,jQuery);PK!ﴑIXIX quicktags.jsnu[ /* * Quicktags * * This is the HTML editor in WordPress. It can be attached to any textarea and will * append a toolbar above it. This script is self-contained (does not require external libraries). * * Run quicktags(settings) to initialize it, where settings is an object containing up to 3 properties: * settings = { * id : 'my_id', the HTML ID of the textarea, required * buttons: '' Comma separated list of the names of the default buttons to show. Optional. * Current list of default button names: 'strong,em,link,block,del,ins,img,ul,ol,li,code,more,close'; * } * * The settings can also be a string quicktags_id. * * quicktags_id string The ID of the textarea that will be the editor canvas * buttons string Comma separated list of the default buttons names that will be shown in that instance. * * @output wp-includes/js/quicktags.js */ // New edit toolbar used with permission // by Alex King // http://www.alexking.org/ /* global adminpage, wpActiveEditor, quicktagsL10n, wpLink, prompt, edButtons */ window.edButtons = []; /* jshint ignore:start */ /** * Back-compat * * Define all former global functions so plugins that hack quicktags.js directly don't cause fatal errors. */ window.edAddTag = function(){}; window.edCheckOpenTags = function(){}; window.edCloseAllTags = function(){}; window.edInsertImage = function(){}; window.edInsertLink = function(){}; window.edInsertTag = function(){}; window.edLink = function(){}; window.edQuickLink = function(){}; window.edRemoveTag = function(){}; window.edShowButton = function(){}; window.edShowLinks = function(){}; window.edSpell = function(){}; window.edToolbar = function(){}; /* jshint ignore:end */ (function(){ // Private stuff is prefixed with an underscore. var _domReady = function(func) { var t, i, DOMContentLoaded, _tryReady; if ( typeof jQuery !== 'undefined' ) { jQuery( func ); } else { t = _domReady; t.funcs = []; t.ready = function() { if ( ! t.isReady ) { t.isReady = true; for ( i = 0; i < t.funcs.length; i++ ) { t.funcs[i](); } } }; if ( t.isReady ) { func(); } else { t.funcs.push(func); } if ( ! t.eventAttached ) { if ( document.addEventListener ) { DOMContentLoaded = function(){document.removeEventListener('DOMContentLoaded', DOMContentLoaded, false);t.ready();}; document.addEventListener('DOMContentLoaded', DOMContentLoaded, false); window.addEventListener('load', t.ready, false); } else if ( document.attachEvent ) { DOMContentLoaded = function(){if (document.readyState === 'complete'){ document.detachEvent('onreadystatechange', DOMContentLoaded);t.ready();}}; document.attachEvent('onreadystatechange', DOMContentLoaded); window.attachEvent('onload', t.ready); _tryReady = function() { try { document.documentElement.doScroll('left'); } catch(e) { setTimeout(_tryReady, 50); return; } t.ready(); }; _tryReady(); } t.eventAttached = true; } } }, _datetime = (function() { var now = new Date(), zeroise; zeroise = function(number) { var str = number.toString(); if ( str.length < 2 ) { str = '0' + str; } return str; }; return now.getUTCFullYear() + '-' + zeroise( now.getUTCMonth() + 1 ) + '-' + zeroise( now.getUTCDate() ) + 'T' + zeroise( now.getUTCHours() ) + ':' + zeroise( now.getUTCMinutes() ) + ':' + zeroise( now.getUTCSeconds() ) + '+00:00'; })(); var qt = window.QTags = function(settings) { if ( typeof(settings) === 'string' ) { settings = {id: settings}; } else if ( typeof(settings) !== 'object' ) { return false; } var t = this, id = settings.id, canvas = document.getElementById(id), name = 'qt_' + id, tb, onclick, toolbar_id, wrap, setActiveEditor; if ( !id || !canvas ) { return false; } t.name = name; t.id = id; t.canvas = canvas; t.settings = settings; if ( id === 'content' && typeof(adminpage) === 'string' && ( adminpage === 'post-new-php' || adminpage === 'post-php' ) ) { // Back compat hack :-( window.edCanvas = canvas; toolbar_id = 'ed_toolbar'; } else { toolbar_id = name + '_toolbar'; } tb = document.getElementById( toolbar_id ); if ( ! tb ) { tb = document.createElement('div'); tb.id = toolbar_id; tb.className = 'quicktags-toolbar'; } canvas.parentNode.insertBefore(tb, canvas); t.toolbar = tb; // Listen for click events. onclick = function(e) { e = e || window.event; var target = e.target || e.srcElement, visible = target.clientWidth || target.offsetWidth, i; // Don't call the callback on pressing the accesskey when the button is not visible. if ( !visible ) { return; } // As long as it has the class ed_button, execute the callback. if ( / ed_button /.test(' ' + target.className + ' ') ) { // We have to reassign canvas here. t.canvas = canvas = document.getElementById(id); i = target.id.replace(name + '_', ''); if ( t.theButtons[i] ) { t.theButtons[i].callback.call(t.theButtons[i], target, canvas, t); } } }; setActiveEditor = function() { window.wpActiveEditor = id; }; wrap = document.getElementById( 'wp-' + id + '-wrap' ); if ( tb.addEventListener ) { tb.addEventListener( 'click', onclick, false ); if ( wrap ) { wrap.addEventListener( 'click', setActiveEditor, false ); } } else if ( tb.attachEvent ) { tb.attachEvent( 'onclick', onclick ); if ( wrap ) { wrap.attachEvent( 'onclick', setActiveEditor ); } } t.getButton = function(id) { return t.theButtons[id]; }; t.getButtonElement = function(id) { return document.getElementById(name + '_' + id); }; t.init = function() { _domReady( function(){ qt._buttonsInit( id ); } ); }; t.remove = function() { delete qt.instances[id]; if ( tb && tb.parentNode ) { tb.parentNode.removeChild( tb ); } }; qt.instances[id] = t; t.init(); }; function _escape( text ) { text = text || ''; text = text.replace( /&([^#])(?![a-z1-4]{1,8};)/gi, '&$1' ); return text.replace( //g, '>' ).replace( /"/g, '"' ).replace( /'/g, ''' ); } qt.instances = {}; qt.getInstance = function(id) { return qt.instances[id]; }; qt._buttonsInit = function( id ) { var t = this; function _init( instanceId ) { var canvas, name, settings, theButtons, html, ed, id, i, use, defaults = ',strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,'; ed = t.instances[instanceId]; canvas = ed.canvas; name = ed.name; settings = ed.settings; html = ''; theButtons = {}; use = ''; // Set buttons. if ( settings.buttons ) { use = ','+settings.buttons+','; } for ( i in edButtons ) { if ( ! edButtons[i] ) { continue; } id = edButtons[i].id; if ( use && defaults.indexOf( ',' + id + ',' ) !== -1 && use.indexOf( ',' + id + ',' ) === -1 ) { continue; } if ( ! edButtons[i].instance || edButtons[i].instance === instanceId ) { theButtons[id] = edButtons[i]; if ( edButtons[i].html ) { html += edButtons[i].html( name + '_' ); } } } if ( use && use.indexOf(',dfw,') !== -1 ) { theButtons.dfw = new qt.DFWButton(); html += theButtons.dfw.html( name + '_' ); } if ( 'rtl' === document.getElementsByTagName( 'html' )[0].dir ) { theButtons.textdirection = new qt.TextDirectionButton(); html += theButtons.textdirection.html( name + '_' ); } ed.toolbar.innerHTML = html; ed.theButtons = theButtons; if ( typeof jQuery !== 'undefined' ) { jQuery( document ).triggerHandler( 'quicktags-init', [ ed ] ); } } if ( id ) { _init( id ); } else { for ( id in t.instances ) { _init( id ); } } t.buttonsInitDone = true; }; /** * Main API function for adding a button to Quicktags * * Adds qt.Button or qt.TagButton depending on the args. The first three args are always required. * To be able to add button(s) to Quicktags, your script should be enqueued as dependent * on "quicktags" and outputted in the footer. If you are echoing JS directly from PHP, * use add_action( 'admin_print_footer_scripts', 'output_my_js', 100 ) or add_action( 'wp_footer', 'output_my_js', 100 ) * * Minimum required to add a button that calls an external function: * QTags.addButton( 'my_id', 'my button', my_callback ); * function my_callback() { alert('yeah!'); } * * Minimum required to add a button that inserts a tag: * QTags.addButton( 'my_id', 'my button', '', '' ); * QTags.addButton( 'my_id2', 'my button', '
        ' ); * * @param string id Required. Button HTML ID * @param string display Required. Button's value="..." * @param string|function arg1 Required. Either a starting tag to be inserted like "" or a callback that is executed when the button is clicked. * @param string arg2 Optional. Ending tag like "" * @param string access_key Deprecated Not used * @param string title Optional. Button's title="..." * @param int priority Optional. Number representing the desired position of the button in the toolbar. 1 - 9 = first, 11 - 19 = second, 21 - 29 = third, etc. * @param string instance Optional. Limit the button to a specific instance of Quicktags, add to all instances if not present. * @param attr object Optional. Used to pass additional attributes. Currently supports `ariaLabel` and `ariaLabelClose` (for "close tag" state) * @return mixed null or the button object that is needed for back-compat. */ qt.addButton = function( id, display, arg1, arg2, access_key, title, priority, instance, attr ) { var btn; if ( !id || !display ) { return; } priority = priority || 0; arg2 = arg2 || ''; attr = attr || {}; if ( typeof(arg1) === 'function' ) { btn = new qt.Button( id, display, access_key, title, instance, attr ); btn.callback = arg1; } else if ( typeof(arg1) === 'string' ) { btn = new qt.TagButton( id, display, arg1, arg2, access_key, title, instance, attr ); } else { return; } if ( priority === -1 ) { // Back-compat. return btn; } if ( priority > 0 ) { while ( typeof(edButtons[priority]) !== 'undefined' ) { priority++; } edButtons[priority] = btn; } else { edButtons[edButtons.length] = btn; } if ( this.buttonsInitDone ) { this._buttonsInit(); // Add the button HTML to all instances toolbars if addButton() was called too late. } }; qt.insertContent = function(content) { var sel, startPos, endPos, scrollTop, text, canvas = document.getElementById(wpActiveEditor), event; if ( !canvas ) { return false; } if ( document.selection ) { // IE. canvas.focus(); sel = document.selection.createRange(); sel.text = content; canvas.focus(); } else if ( canvas.selectionStart || canvas.selectionStart === 0 ) { // FF, WebKit, Opera. text = canvas.value; startPos = canvas.selectionStart; endPos = canvas.selectionEnd; scrollTop = canvas.scrollTop; canvas.value = text.substring(0, startPos) + content + text.substring(endPos, text.length); canvas.selectionStart = startPos + content.length; canvas.selectionEnd = startPos + content.length; canvas.scrollTop = scrollTop; canvas.focus(); } else { canvas.value += content; canvas.focus(); } if ( document.createEvent ) { event = document.createEvent( 'HTMLEvents' ); event.initEvent( 'change', false, true ); canvas.dispatchEvent( event ); } else if ( canvas.fireEvent ) { canvas.fireEvent( 'onchange' ); } return true; }; // A plain, dumb button. qt.Button = function( id, display, access, title, instance, attr ) { this.id = id; this.display = display; this.access = ''; this.title = title || ''; this.instance = instance || ''; this.attr = attr || {}; }; qt.Button.prototype.html = function(idPrefix) { var active, on, wp, title = this.title ? ' title="' + _escape( this.title ) + '"' : '', ariaLabel = this.attr && this.attr.ariaLabel ? ' aria-label="' + _escape( this.attr.ariaLabel ) + '"' : '', val = this.display ? ' value="' + _escape( this.display ) + '"' : '', id = this.id ? ' id="' + _escape( idPrefix + this.id ) + '"' : '', dfw = ( wp = window.wp ) && wp.editor && wp.editor.dfw; if ( this.id === 'fullscreen' ) { return ''; } else if ( this.id === 'dfw' ) { active = dfw && dfw.isActive() ? '' : ' disabled="disabled"'; on = dfw && dfw.isOn() ? ' active' : ''; return ''; } return ''; }; qt.Button.prototype.callback = function(){}; // A button that inserts HTML tag. qt.TagButton = function( id, display, tagStart, tagEnd, access, title, instance, attr ) { var t = this; qt.Button.call( t, id, display, access, title, instance, attr ); t.tagStart = tagStart; t.tagEnd = tagEnd; }; qt.TagButton.prototype = new qt.Button(); qt.TagButton.prototype.openTag = function( element, ed ) { if ( ! ed.openTags ) { ed.openTags = []; } if ( this.tagEnd ) { ed.openTags.push( this.id ); element.value = '/' + element.value; if ( this.attr.ariaLabelClose ) { element.setAttribute( 'aria-label', this.attr.ariaLabelClose ); } } }; qt.TagButton.prototype.closeTag = function( element, ed ) { var i = this.isOpen(ed); if ( i !== false ) { ed.openTags.splice( i, 1 ); } element.value = this.display; if ( this.attr.ariaLabel ) { element.setAttribute( 'aria-label', this.attr.ariaLabel ); } }; // Whether a tag is open or not. Returns false if not open, or current open depth of the tag. qt.TagButton.prototype.isOpen = function (ed) { var t = this, i = 0, ret = false; if ( ed.openTags ) { while ( ret === false && i < ed.openTags.length ) { ret = ed.openTags[i] === t.id ? i : false; i ++; } } else { ret = false; } return ret; }; qt.TagButton.prototype.callback = function(element, canvas, ed) { var t = this, startPos, endPos, cursorPos, scrollTop, v = canvas.value, l, r, i, sel, endTag = v ? t.tagEnd : '', event; if ( document.selection ) { // IE. canvas.focus(); sel = document.selection.createRange(); if ( sel.text.length > 0 ) { if ( !t.tagEnd ) { sel.text = sel.text + t.tagStart; } else { sel.text = t.tagStart + sel.text + endTag; } } else { if ( !t.tagEnd ) { sel.text = t.tagStart; } else if ( t.isOpen(ed) === false ) { sel.text = t.tagStart; t.openTag(element, ed); } else { sel.text = endTag; t.closeTag(element, ed); } } canvas.focus(); } else if ( canvas.selectionStart || canvas.selectionStart === 0 ) { // FF, WebKit, Opera. startPos = canvas.selectionStart; endPos = canvas.selectionEnd; if ( startPos < endPos && v.charAt( endPos - 1 ) === '\n' ) { endPos -= 1; } cursorPos = endPos; scrollTop = canvas.scrollTop; l = v.substring(0, startPos); // Left of the selection. r = v.substring(endPos, v.length); // Right of the selection. i = v.substring(startPos, endPos); // Inside the selection. if ( startPos !== endPos ) { if ( !t.tagEnd ) { canvas.value = l + i + t.tagStart + r; // Insert self-closing tags after the selection. cursorPos += t.tagStart.length; } else { canvas.value = l + t.tagStart + i + endTag + r; cursorPos += t.tagStart.length + endTag.length; } } else { if ( !t.tagEnd ) { canvas.value = l + t.tagStart + r; cursorPos = startPos + t.tagStart.length; } else if ( t.isOpen(ed) === false ) { canvas.value = l + t.tagStart + r; t.openTag(element, ed); cursorPos = startPos + t.tagStart.length; } else { canvas.value = l + endTag + r; cursorPos = startPos + endTag.length; t.closeTag(element, ed); } } canvas.selectionStart = cursorPos; canvas.selectionEnd = cursorPos; canvas.scrollTop = scrollTop; canvas.focus(); } else { // Other browsers? if ( !endTag ) { canvas.value += t.tagStart; } else if ( t.isOpen(ed) !== false ) { canvas.value += t.tagStart; t.openTag(element, ed); } else { canvas.value += endTag; t.closeTag(element, ed); } canvas.focus(); } if ( document.createEvent ) { event = document.createEvent( 'HTMLEvents' ); event.initEvent( 'change', false, true ); canvas.dispatchEvent( event ); } else if ( canvas.fireEvent ) { canvas.fireEvent( 'onchange' ); } }; // Removed. qt.SpellButton = function() {}; // The close tags button. qt.CloseButton = function() { qt.Button.call( this, 'close', quicktagsL10n.closeTags, '', quicktagsL10n.closeAllOpenTags ); }; qt.CloseButton.prototype = new qt.Button(); qt._close = function(e, c, ed) { var button, element, tbo = ed.openTags; if ( tbo ) { while ( tbo.length > 0 ) { button = ed.getButton(tbo[tbo.length - 1]); element = document.getElementById(ed.name + '_' + button.id); if ( e ) { button.callback.call(button, element, c, ed); } else { button.closeTag(element, ed); } } } }; qt.CloseButton.prototype.callback = qt._close; qt.closeAllTags = function( editor_id ) { var ed = this.getInstance( editor_id ); if ( ed ) { qt._close( '', ed.canvas, ed ); } }; // The link button. qt.LinkButton = function() { var attr = { ariaLabel: quicktagsL10n.link }; qt.TagButton.call( this, 'link', 'link', '', '', '', '', '', attr ); }; qt.LinkButton.prototype = new qt.TagButton(); qt.LinkButton.prototype.callback = function(e, c, ed, defaultValue) { var URL, t = this; if ( typeof wpLink !== 'undefined' ) { wpLink.open( ed.id ); return; } if ( ! defaultValue ) { defaultValue = 'http://'; } if ( t.isOpen(ed) === false ) { URL = prompt( quicktagsL10n.enterURL, defaultValue ); if ( URL ) { t.tagStart = ''; qt.TagButton.prototype.callback.call(t, e, c, ed); } } else { qt.TagButton.prototype.callback.call(t, e, c, ed); } }; // The img button. qt.ImgButton = function() { var attr = { ariaLabel: quicktagsL10n.image }; qt.TagButton.call( this, 'img', 'img', '', '', '', '', '', attr ); }; qt.ImgButton.prototype = new qt.TagButton(); qt.ImgButton.prototype.callback = function(e, c, ed, defaultValue) { if ( ! defaultValue ) { defaultValue = 'http://'; } var src = prompt(quicktagsL10n.enterImageURL, defaultValue), alt; if ( src ) { alt = prompt(quicktagsL10n.enterImageDescription, ''); this.tagStart = '' + alt + ''; qt.TagButton.prototype.callback.call(this, e, c, ed); } }; qt.DFWButton = function() { qt.Button.call( this, 'dfw', '', 'f', quicktagsL10n.dfw ); }; qt.DFWButton.prototype = new qt.Button(); qt.DFWButton.prototype.callback = function() { var wp; if ( ! ( wp = window.wp ) || ! wp.editor || ! wp.editor.dfw ) { return; } window.wp.editor.dfw.toggle(); }; qt.TextDirectionButton = function() { qt.Button.call( this, 'textdirection', quicktagsL10n.textdirection, '', quicktagsL10n.toggleTextdirection ); }; qt.TextDirectionButton.prototype = new qt.Button(); qt.TextDirectionButton.prototype.callback = function(e, c) { var isRTL = ( 'rtl' === document.getElementsByTagName('html')[0].dir ), currentDirection = c.style.direction; if ( ! currentDirection ) { currentDirection = ( isRTL ) ? 'rtl' : 'ltr'; } c.style.direction = ( 'rtl' === currentDirection ) ? 'ltr' : 'rtl'; c.focus(); }; // Ensure backward compatibility. edButtons[10] = new qt.TagButton( 'strong', 'b', '', '', '', '', '', { ariaLabel: quicktagsL10n.strong, ariaLabelClose: quicktagsL10n.strongClose } ); edButtons[20] = new qt.TagButton( 'em', 'i', '', '', '', '', '', { ariaLabel: quicktagsL10n.em, ariaLabelClose: quicktagsL10n.emClose } ); edButtons[30] = new qt.LinkButton(); // Special case. edButtons[40] = new qt.TagButton( 'block', 'b-quote', '\n\n
        ', '
        \n\n', '', '', '', { ariaLabel: quicktagsL10n.blockquote, ariaLabelClose: quicktagsL10n.blockquoteClose } ); edButtons[50] = new qt.TagButton( 'del', 'del', '', '', '', '', '', { ariaLabel: quicktagsL10n.del, ariaLabelClose: quicktagsL10n.delClose } ); edButtons[60] = new qt.TagButton( 'ins', 'ins', '', '', '', '', '', { ariaLabel: quicktagsL10n.ins, ariaLabelClose: quicktagsL10n.insClose } ); edButtons[70] = new qt.ImgButton(); // Special case. edButtons[80] = new qt.TagButton( 'ul', 'ul', '
          \n', '
        \n\n', '', '', '', { ariaLabel: quicktagsL10n.ul, ariaLabelClose: quicktagsL10n.ulClose } ); edButtons[90] = new qt.TagButton( 'ol', 'ol', '
          \n', '
        \n\n', '', '', '', { ariaLabel: quicktagsL10n.ol, ariaLabelClose: quicktagsL10n.olClose } ); edButtons[100] = new qt.TagButton( 'li', 'li', '\t
      • ', '
      • \n', '', '', '', { ariaLabel: quicktagsL10n.li, ariaLabelClose: quicktagsL10n.liClose } ); edButtons[110] = new qt.TagButton( 'code', 'code', '', '', '', '', '', { ariaLabel: quicktagsL10n.code, ariaLabelClose: quicktagsL10n.codeClose } ); edButtons[120] = new qt.TagButton( 'more', 'more', '\n\n', '', '', '', '', { ariaLabel: quicktagsL10n.more } ); edButtons[140] = new qt.CloseButton(); })(); /** * Initialize new instance of the Quicktags editor */ window.quicktags = function(settings) { return new window.QTags(settings); }; /** * Inserts content at the caret in the active editor (textarea) * * Added for back compatibility * @see QTags.insertContent() */ window.edInsertContent = function(bah, txt) { return window.QTags.insertContent(txt); }; /** * Adds a button to all instances of the editor * * Added for back compatibility, use QTags.addButton() as it gives more flexibility like type of button, button placement, etc. * @see QTags.addButton() */ window.edButton = function(id, display, tagStart, tagEnd, access) { return window.QTags.addButton( id, display, tagStart, tagEnd, access, '', -1 ); }; PK!==twemoji.min.jsnu[/*! This file is auto-generated */ var twemoji=function(){"use strict";var m={base:"https://twemoji.maxcdn.com/v/14.0.2/",ext:".png",size:"72x72",className:"emoji",convert:{fromCodePoint:function(d){d="string"==typeof d?parseInt(d,16):d;if(d<65536)return e(d);return e(55296+((d-=65536)>>10),56320+(1023&d))},toCodePoint:o},onerror:function(){this.parentNode&&this.parentNode.replaceChild(x(this.alt,!1),this)},parse:function(d,u){u&&"function"!=typeof u||(u={callback:u});return m.doNotParse=u.doNotParse,("string"==typeof d?function(d,a){return n(d,function(d){var u,f,c=d,e=N(d),b=a.callback(e,a);if(e&&b){for(f in c="")}return c})}:function(d,u){var f,c,e,b,a,t,r,n,o,i,s,l=function d(u,f){var c,e,b=u.childNodes,a=b.length;for(;a--;)c=b[a],3===(e=c.nodeType)?f.push(c):1!==e||"ownerSVGElement"in c||g.test(c.nodeName.toLowerCase())||m.doNotParse&&m.doNotParse(c)||d(c,f);return f}(d,[]),p=l.length;for(;p--;){for(e=!1,b=document.createDocumentFragment(),a=l[p],t=a.nodeValue,r=0;o=h.exec(t);){if((s=o.index)!==r&&b.appendChild(x(t.slice(r,s),!0)),o=o[0],i=N(o),r=s+o.length,s=u.callback(i,u),i&&s){for(c in(n=new Image).onerror=u.onerror,n.setAttribute("draggable","false"),f=u.attributes(o,i))f.hasOwnProperty(c)&&0!==c.indexOf("on")&&!n.hasAttribute(c)&&n.setAttribute(c,f[c]);n.className=u.className,n.alt=o,n.src=s,e=!0,b.appendChild(n)}n||b.appendChild(x(o,!1)),n=null}e&&(r":">","'":"'",'"':"""},h=/(?:\ud83d\udc68\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83e\uddd1\ud83c[\udffc-\udfff]|\ud83e\uddd1\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83e\uddd1\ud83c[\udffb\udffd-\udfff]|\ud83e\uddd1\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83e\uddd1\ud83c[\udffb\udffc\udffe\udfff]|\ud83e\uddd1\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83e\uddd1\ud83c[\udffb-\udffd\udfff]|\ud83e\uddd1\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83e\uddd1\ud83c[\udffb-\udffe]|\ud83d\udc68\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffc-\udfff]|\ud83d\udc68\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffd-\udfff]|\ud83d\udc68\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc68\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffd\udfff]|\ud83d\udc68\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffe]|\ud83d\udc69\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffc-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffc-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffd-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb\udffd-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc69\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc69\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffd\udfff]|\ud83d\udc69\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb-\udffd\udfff]|\ud83d\udc69\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffe]|\ud83d\udc69\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb-\udffe]|\ud83e\uddd1\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83e\uddd1\ud83c[\udffc-\udfff]|\ud83e\uddd1\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83e\uddd1\ud83c[\udffb\udffd-\udfff]|\ud83e\uddd1\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83e\uddd1\ud83c[\udffb\udffc\udffe\udfff]|\ud83e\uddd1\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83e\uddd1\ud83c[\udffb-\udffd\udfff]|\ud83e\uddd1\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83e\uddd1\ud83c[\udffb-\udffe]|\ud83e\uddd1\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68|\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d[\udc68\udc69]|\ud83e\udef1\ud83c\udffb\u200d\ud83e\udef2\ud83c[\udffc-\udfff]|\ud83e\udef1\ud83c\udffc\u200d\ud83e\udef2\ud83c[\udffb\udffd-\udfff]|\ud83e\udef1\ud83c\udffd\u200d\ud83e\udef2\ud83c[\udffb\udffc\udffe\udfff]|\ud83e\udef1\ud83c\udffe\u200d\ud83e\udef2\ud83c[\udffb-\udffd\udfff]|\ud83e\udef1\ud83c\udfff\u200d\ud83e\udef2\ud83c[\udffb-\udffe]|\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc68|\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d[\udc68\udc69]|\ud83e\uddd1\u200d\ud83e\udd1d\u200d\ud83e\uddd1|\ud83d\udc6b\ud83c[\udffb-\udfff]|\ud83d\udc6c\ud83c[\udffb-\udfff]|\ud83d\udc6d\ud83c[\udffb-\udfff]|\ud83d\udc8f\ud83c[\udffb-\udfff]|\ud83d\udc91\ud83c[\udffb-\udfff]|\ud83e\udd1d\ud83c[\udffb-\udfff]|\ud83d[\udc6b-\udc6d\udc8f\udc91]|\ud83e\udd1d)|(?:\ud83d[\udc68\udc69]|\ud83e\uddd1)(?:\ud83c[\udffb-\udfff])?\u200d(?:\u2695\ufe0f|\u2696\ufe0f|\u2708\ufe0f|\ud83c[\udf3e\udf73\udf7c\udf84\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d[\udcbb\udcbc\udd27\udd2c\ude80\ude92]|\ud83e[\uddaf-\uddb3\uddbc\uddbd])|(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75]|\u26f9)((?:\ud83c[\udffb-\udfff]|\ufe0f)\u200d[\u2640\u2642]\ufe0f)|(?:\ud83c[\udfc3\udfc4\udfca]|\ud83d[\udc6e\udc70\udc71\udc73\udc77\udc81\udc82\udc86\udc87\ude45-\ude47\ude4b\ude4d\ude4e\udea3\udeb4-\udeb6]|\ud83e[\udd26\udd35\udd37-\udd39\udd3d\udd3e\uddb8\uddb9\uddcd-\uddcf\uddd4\uddd6-\udddd])(?:\ud83c[\udffb-\udfff])?\u200d[\u2640\u2642]\ufe0f|(?:\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f|\ud83c\udff3\ufe0f\u200d\ud83c\udf08|\ud83d\ude36\u200d\ud83c\udf2b\ufe0f|\u2764\ufe0f\u200d\ud83d\udd25|\u2764\ufe0f\u200d\ud83e\ude79|\ud83c\udff4\u200d\u2620\ufe0f|\ud83d\udc15\u200d\ud83e\uddba|\ud83d\udc3b\u200d\u2744\ufe0f|\ud83d\udc41\u200d\ud83d\udde8|\ud83d\udc68\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83d\udc6f\u200d\u2640\ufe0f|\ud83d\udc6f\u200d\u2642\ufe0f|\ud83d\ude2e\u200d\ud83d\udca8|\ud83d\ude35\u200d\ud83d\udcab|\ud83e\udd3c\u200d\u2640\ufe0f|\ud83e\udd3c\u200d\u2642\ufe0f|\ud83e\uddde\u200d\u2640\ufe0f|\ud83e\uddde\u200d\u2642\ufe0f|\ud83e\udddf\u200d\u2640\ufe0f|\ud83e\udddf\u200d\u2642\ufe0f|\ud83d\udc08\u200d\u2b1b)|[#*0-9]\ufe0f?\u20e3|(?:[\xa9\xae\u2122\u265f]\ufe0f)|(?:\ud83c[\udc04\udd70\udd71\udd7e\udd7f\ude02\ude1a\ude2f\ude37\udf21\udf24-\udf2c\udf36\udf7d\udf96\udf97\udf99-\udf9b\udf9e\udf9f\udfcd\udfce\udfd4-\udfdf\udff3\udff5\udff7]|\ud83d[\udc3f\udc41\udcfd\udd49\udd4a\udd6f\udd70\udd73\udd76-\udd79\udd87\udd8a-\udd8d\udda5\udda8\uddb1\uddb2\uddbc\uddc2-\uddc4\uddd1-\uddd3\udddc-\uddde\udde1\udde3\udde8\uddef\uddf3\uddfa\udecb\udecd-\udecf\udee0-\udee5\udee9\udef0\udef3]|[\u203c\u2049\u2139\u2194-\u2199\u21a9\u21aa\u231a\u231b\u2328\u23cf\u23ed-\u23ef\u23f1\u23f2\u23f8-\u23fa\u24c2\u25aa\u25ab\u25b6\u25c0\u25fb-\u25fe\u2600-\u2604\u260e\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262a\u262e\u262f\u2638-\u263a\u2640\u2642\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267b\u267f\u2692-\u2697\u2699\u269b\u269c\u26a0\u26a1\u26a7\u26aa\u26ab\u26b0\u26b1\u26bd\u26be\u26c4\u26c5\u26c8\u26cf\u26d1\u26d3\u26d4\u26e9\u26ea\u26f0-\u26f5\u26f8\u26fa\u26fd\u2702\u2708\u2709\u270f\u2712\u2714\u2716\u271d\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u2764\u27a1\u2934\u2935\u2b05-\u2b07\u2b1b\u2b1c\u2b50\u2b55\u3030\u303d\u3297\u3299])(?:\ufe0f|(?!\ufe0e))|(?:(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75\udd90]|[\u261d\u26f7\u26f9\u270c\u270d])(?:\ufe0f|(?!\ufe0e))|(?:\ud83c[\udf85\udfc2-\udfc4\udfc7\udfca]|\ud83d[\udc42\udc43\udc46-\udc50\udc66-\udc69\udc6e\udc70-\udc78\udc7c\udc81-\udc83\udc85-\udc87\udcaa\udd7a\udd95\udd96\ude45-\ude47\ude4b-\ude4f\udea3\udeb4-\udeb6\udec0\udecc]|\ud83e[\udd0c\udd0f\udd18-\udd1c\udd1e\udd1f\udd26\udd30-\udd39\udd3d\udd3e\udd77\uddb5\uddb6\uddb8\uddb9\uddbb\uddcd-\uddcf\uddd1-\udddd\udec3-\udec5\udef0-\udef6]|[\u270a\u270b]))(?:\ud83c[\udffb-\udfff])?|(?:\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f|\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc73\udb40\udc63\udb40\udc74\udb40\udc7f|\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc77\udb40\udc6c\udb40\udc73\udb40\udc7f|\ud83c\udde6\ud83c[\udde8-\uddec\uddee\uddf1\uddf2\uddf4\uddf6-\uddfa\uddfc\uddfd\uddff]|\ud83c\udde7\ud83c[\udde6\udde7\udde9-\uddef\uddf1-\uddf4\uddf6-\uddf9\uddfb\uddfc\uddfe\uddff]|\ud83c\udde8\ud83c[\udde6\udde8\udde9\uddeb-\uddee\uddf0-\uddf5\uddf7\uddfa-\uddff]|\ud83c\udde9\ud83c[\uddea\uddec\uddef\uddf0\uddf2\uddf4\uddff]|\ud83c\uddea\ud83c[\udde6\udde8\uddea\uddec\udded\uddf7-\uddfa]|\ud83c\uddeb\ud83c[\uddee-\uddf0\uddf2\uddf4\uddf7]|\ud83c\uddec\ud83c[\udde6\udde7\udde9-\uddee\uddf1-\uddf3\uddf5-\uddfa\uddfc\uddfe]|\ud83c\udded\ud83c[\uddf0\uddf2\uddf3\uddf7\uddf9\uddfa]|\ud83c\uddee\ud83c[\udde8-\uddea\uddf1-\uddf4\uddf6-\uddf9]|\ud83c\uddef\ud83c[\uddea\uddf2\uddf4\uddf5]|\ud83c\uddf0\ud83c[\uddea\uddec-\uddee\uddf2\uddf3\uddf5\uddf7\uddfc\uddfe\uddff]|\ud83c\uddf1\ud83c[\udde6-\udde8\uddee\uddf0\uddf7-\uddfb\uddfe]|\ud83c\uddf2\ud83c[\udde6\udde8-\udded\uddf0-\uddff]|\ud83c\uddf3\ud83c[\udde6\udde8\uddea-\uddec\uddee\uddf1\uddf4\uddf5\uddf7\uddfa\uddff]|\ud83c\uddf4\ud83c\uddf2|\ud83c\uddf5\ud83c[\udde6\uddea-\udded\uddf0-\uddf3\uddf7-\uddf9\uddfc\uddfe]|\ud83c\uddf6\ud83c\udde6|\ud83c\uddf7\ud83c[\uddea\uddf4\uddf8\uddfa\uddfc]|\ud83c\uddf8\ud83c[\udde6-\uddea\uddec-\uddf4\uddf7-\uddf9\uddfb\uddfd-\uddff]|\ud83c\uddf9\ud83c[\udde6\udde8\udde9\uddeb-\udded\uddef-\uddf4\uddf7\uddf9\uddfb\uddfc\uddff]|\ud83c\uddfa\ud83c[\udde6\uddec\uddf2\uddf3\uddf8\uddfe\uddff]|\ud83c\uddfb\ud83c[\udde6\udde8\uddea\uddec\uddee\uddf3\uddfa]|\ud83c\uddfc\ud83c[\uddeb\uddf8]|\ud83c\uddfd\ud83c\uddf0|\ud83c\uddfe\ud83c[\uddea\uddf9]|\ud83c\uddff\ud83c[\udde6\uddf2\uddfc]|\ud83c[\udccf\udd8e\udd91-\udd9a\udde6-\uddff\ude01\ude32-\ude36\ude38-\ude3a\ude50\ude51\udf00-\udf20\udf2d-\udf35\udf37-\udf7c\udf7e-\udf84\udf86-\udf93\udfa0-\udfc1\udfc5\udfc6\udfc8\udfc9\udfcf-\udfd3\udfe0-\udff0\udff4\udff8-\udfff]|\ud83d[\udc00-\udc3e\udc40\udc44\udc45\udc51-\udc65\udc6a\udc6f\udc79-\udc7b\udc7d-\udc80\udc84\udc88-\udc8e\udc90\udc92-\udca9\udcab-\udcfc\udcff-\udd3d\udd4b-\udd4e\udd50-\udd67\udda4\uddfb-\ude44\ude48-\ude4a\ude80-\udea2\udea4-\udeb3\udeb7-\udebf\udec1-\udec5\uded0-\uded2\uded5-\uded7\udedd-\udedf\udeeb\udeec\udef4-\udefc\udfe0-\udfeb\udff0]|\ud83e[\udd0d\udd0e\udd10-\udd17\udd20-\udd25\udd27-\udd2f\udd3a\udd3c\udd3f-\udd45\udd47-\udd76\udd78-\uddb4\uddb7\uddba\uddbc-\uddcc\uddd0\uddde-\uddff\ude70-\ude74\ude78-\ude7c\ude80-\ude86\ude90-\udeac\udeb0-\udeba\udec0-\udec2\uded0-\uded9\udee0-\udee7]|[\u23e9-\u23ec\u23f0\u23f3\u267e\u26ce\u2705\u2728\u274c\u274e\u2753-\u2755\u2795-\u2797\u27b0\u27bf\ue50a])|\ufe0f/g,f=/\uFE0F/g,c=String.fromCharCode(8205),t=/[&<>'"]/g,g=/^(?:iframe|noframes|noscript|script|select|style|textarea)$/,e=String.fromCharCode;return m;function x(d,u){return document.createTextNode(u?d.replace(f,""):d)}function b(d,u){return"".concat(u.base,u.size,"/",d,u.ext)}function N(d){return o(d.indexOf(c)<0?d.replace(f,""):d)}function r(d){return u[d]}function a(){return null}function n(d,u){return String(d).replace(h,u)}function o(d,u){for(var f=[],c=0,e=0,b=0;b' + dragInfoText + '
        ' )[0], priority: -40 }) ); } // Add the 'Reverse order' button to the toolbar. attachmentsBrowserView.toolbar.set( 'reverse', { text: l10n.reverseOrder, priority: 80, click: function() { library.reset( library.toArray().reverse() ); } }); } }); module.exports = CollectionEdit; /***/ }), /***/ 2288: /***/ (function(module) { var l10n = wp.media.view.l10n, Cropper; /** * wp.media.controller.Cropper * * A class for cropping an image when called from the header media customization panel. * * @memberOf wp.media.controller * * @class * @augments wp.media.controller.State * @augments Backbone.Model */ Cropper = wp.media.controller.State.extend(/** @lends wp.media.controller.Cropper.prototype */{ defaults: { id: 'cropper', title: l10n.cropImage, // Region mode defaults. toolbar: 'crop', content: 'crop', router: false, canSkipCrop: false, // Default doCrop Ajax arguments to allow the Customizer (for example) to inject state. doCropArgs: {} }, /** * Shows the crop image window when called from the Add new image button. * * @since 4.2.0 * * @return {void} */ activate: function() { this.frame.on( 'content:create:crop', this.createCropContent, this ); this.frame.on( 'close', this.removeCropper, this ); this.set('selection', new Backbone.Collection(this.frame._selection.single)); }, /** * Changes the state of the toolbar window to browse mode. * * @since 4.2.0 * * @return {void} */ deactivate: function() { this.frame.toolbar.mode('browse'); }, /** * Creates the crop image window. * * Initialized when clicking on the Select and Crop button. * * @since 4.2.0 * * @fires crop window * * @return {void} */ createCropContent: function() { this.cropperView = new wp.media.view.Cropper({ controller: this, attachment: this.get('selection').first() }); this.cropperView.on('image-loaded', this.createCropToolbar, this); this.frame.content.set(this.cropperView); }, /** * Removes the image selection and closes the cropping window. * * @since 4.2.0 * * @return {void} */ removeCropper: function() { this.imgSelect.cancelSelection(); this.imgSelect.setOptions({remove: true}); this.imgSelect.update(); this.cropperView.remove(); }, /** * Checks if cropping can be skipped and creates crop toolbar accordingly. * * @since 4.2.0 * * @return {void} */ createCropToolbar: function() { var canSkipCrop, toolbarOptions; canSkipCrop = this.get('canSkipCrop') || false; toolbarOptions = { controller: this.frame, items: { insert: { style: 'primary', text: l10n.cropImage, priority: 80, requires: { library: false, selection: false }, click: function() { var controller = this.controller, selection; selection = controller.state().get('selection').first(); selection.set({cropDetails: controller.state().imgSelect.getSelection()}); this.$el.text(l10n.cropping); this.$el.attr('disabled', true); controller.state().doCrop( selection ).done( function( croppedImage ) { controller.trigger('cropped', croppedImage ); controller.close(); }).fail( function() { controller.trigger('content:error:crop'); }); } } } }; if ( canSkipCrop ) { _.extend( toolbarOptions.items, { skip: { style: 'secondary', text: l10n.skipCropping, priority: 70, requires: { library: false, selection: false }, click: function() { var selection = this.controller.state().get('selection').first(); this.controller.state().cropperView.remove(); this.controller.trigger('skippedcrop', selection); this.controller.close(); } } }); } this.frame.toolbar.set( new wp.media.view.Toolbar(toolbarOptions) ); }, /** * Creates an object with the image attachment and crop properties. * * @since 4.2.0 * * @return {$.promise} A jQuery promise with the custom header crop details. */ doCrop: function( attachment ) { return wp.ajax.post( 'custom-header-crop', _.extend( {}, this.defaults.doCropArgs, { nonce: attachment.get( 'nonces' ).edit, id: attachment.get( 'id' ), cropDetails: attachment.get( 'cropDetails' ) } ) ); } }); module.exports = Cropper; /***/ }), /***/ 6934: /***/ (function(module) { var Controller = wp.media.controller, CustomizeImageCropper; /** * A state for cropping an image in the customizer. * * @since 4.3.0 * * @constructs wp.media.controller.CustomizeImageCropper * @memberOf wp.media.controller * @augments wp.media.controller.CustomizeImageCropper.Cropper * @inheritDoc */ CustomizeImageCropper = Controller.Cropper.extend(/** @lends wp.media.controller.CustomizeImageCropper.prototype */{ /** * Posts the crop details to the admin. * * Uses crop measurements when flexible in both directions. * Constrains flexible side based on image ratio and size of the fixed side. * * @since 4.3.0 * * @param {Object} attachment The attachment to crop. * * @return {$.promise} A jQuery promise that represents the crop image request. */ doCrop: function( attachment ) { var cropDetails = attachment.get( 'cropDetails' ), control = this.get( 'control' ), ratio = cropDetails.width / cropDetails.height; // Use crop measurements when flexible in both directions. if ( control.params.flex_width && control.params.flex_height ) { cropDetails.dst_width = cropDetails.width; cropDetails.dst_height = cropDetails.height; // Constrain flexible side based on image ratio and size of the fixed side. } else { cropDetails.dst_width = control.params.flex_width ? control.params.height * ratio : control.params.width; cropDetails.dst_height = control.params.flex_height ? control.params.width / ratio : control.params.height; } return wp.ajax.post( 'crop-image', { wp_customize: 'on', nonce: attachment.get( 'nonces' ).edit, id: attachment.get( 'id' ), context: control.id, cropDetails: cropDetails } ); } }); module.exports = CustomizeImageCropper; /***/ }), /***/ 7658: /***/ (function(module) { var l10n = wp.media.view.l10n, EditImage; /** * wp.media.controller.EditImage * * A state for editing (cropping, etc.) an image. * * @memberOf wp.media.controller * * @class * @augments wp.media.controller.State * @augments Backbone.Model * * @param {object} attributes The attributes hash passed to the state. * @param {wp.media.model.Attachment} attributes.model The attachment. * @param {string} [attributes.id=edit-image] Unique identifier. * @param {string} [attributes.title=Edit Image] Title for the state. Displays in the media menu and the frame's title region. * @param {string} [attributes.content=edit-image] Initial mode for the content region. * @param {string} [attributes.toolbar=edit-image] Initial mode for the toolbar region. * @param {string} [attributes.menu=false] Initial mode for the menu region. * @param {string} [attributes.url] Unused. @todo Consider removal. */ EditImage = wp.media.controller.State.extend(/** @lends wp.media.controller.EditImage.prototype */{ defaults: { id: 'edit-image', title: l10n.editImage, menu: false, toolbar: 'edit-image', content: 'edit-image', url: '' }, /** * Activates a frame for editing a featured image. * * @since 3.9.0 * * @return {void} */ activate: function() { this.frame.on( 'toolbar:render:edit-image', _.bind( this.toolbar, this ) ); }, /** * Deactivates a frame for editing a featured image. * * @since 3.9.0 * * @return {void} */ deactivate: function() { this.frame.off( 'toolbar:render:edit-image' ); }, /** * Adds a toolbar with a back button. * * When the back button is pressed it checks whether there is a previous state. * In case there is a previous state it sets that previous state otherwise it * closes the frame. * * @since 3.9.0 * * @return {void} */ toolbar: function() { var frame = this.frame, lastState = frame.lastState(), previous = lastState && lastState.id; frame.toolbar.set( new wp.media.view.Toolbar({ controller: frame, items: { back: { style: 'primary', text: l10n.back, priority: 20, click: function() { if ( previous ) { frame.setState( previous ); } else { frame.close(); } } } } }) ); } }); module.exports = EditImage; /***/ }), /***/ 9067: /***/ (function(module) { var l10n = wp.media.view.l10n, $ = Backbone.$, Embed; /** * wp.media.controller.Embed * * A state for embedding media from a URL. * * @memberOf wp.media.controller * * @class * @augments wp.media.controller.State * @augments Backbone.Model * * @param {object} attributes The attributes hash passed to the state. * @param {string} [attributes.id=embed] Unique identifier. * @param {string} [attributes.title=Insert From URL] Title for the state. Displays in the media menu and the frame's title region. * @param {string} [attributes.content=embed] Initial mode for the content region. * @param {string} [attributes.menu=default] Initial mode for the menu region. * @param {string} [attributes.toolbar=main-embed] Initial mode for the toolbar region. * @param {string} [attributes.menu=false] Initial mode for the menu region. * @param {int} [attributes.priority=120] The priority for the state link in the media menu. * @param {string} [attributes.type=link] The type of embed. Currently only link is supported. * @param {string} [attributes.url] The embed URL. * @param {object} [attributes.metadata={}] Properties of the embed, which will override attributes.url if set. */ Embed = wp.media.controller.State.extend(/** @lends wp.media.controller.Embed.prototype */{ defaults: { id: 'embed', title: l10n.insertFromUrlTitle, content: 'embed', menu: 'default', toolbar: 'main-embed', priority: 120, type: 'link', url: '', metadata: {} }, // The amount of time used when debouncing the scan. sensitivity: 400, initialize: function(options) { this.metadata = options.metadata; this.debouncedScan = _.debounce( _.bind( this.scan, this ), this.sensitivity ); this.props = new Backbone.Model( this.metadata || { url: '' }); this.props.on( 'change:url', this.debouncedScan, this ); this.props.on( 'change:url', this.refresh, this ); this.on( 'scan', this.scanImage, this ); }, /** * Trigger a scan of the embedded URL's content for metadata required to embed. * * @fires wp.media.controller.Embed#scan */ scan: function() { var scanners, embed = this, attributes = { type: 'link', scanners: [] }; /* * Scan is triggered with the list of `attributes` to set on the * state, useful for the 'type' attribute and 'scanners' attribute, * an array of promise objects for asynchronous scan operations. */ if ( this.props.get('url') ) { this.trigger( 'scan', attributes ); } if ( attributes.scanners.length ) { scanners = attributes.scanners = $.when.apply( $, attributes.scanners ); scanners.always( function() { if ( embed.get('scanners') === scanners ) { embed.set( 'loading', false ); } }); } else { attributes.scanners = null; } attributes.loading = !! attributes.scanners; this.set( attributes ); }, /** * Try scanning the embed as an image to discover its dimensions. * * @param {Object} attributes */ scanImage: function( attributes ) { var frame = this.frame, state = this, url = this.props.get('url'), image = new Image(), deferred = $.Deferred(); attributes.scanners.push( deferred.promise() ); // Try to load the image and find its width/height. image.onload = function() { deferred.resolve(); if ( state !== frame.state() || url !== state.props.get('url') ) { return; } state.set({ type: 'image' }); state.props.set({ width: image.width, height: image.height }); }; image.onerror = deferred.reject; image.src = url; }, refresh: function() { this.frame.toolbar.get().refresh(); }, reset: function() { this.props.clear().set({ url: '' }); if ( this.active ) { this.refresh(); } } }); module.exports = Embed; /***/ }), /***/ 5095: /***/ (function(module) { var Attachment = wp.media.model.Attachment, Library = wp.media.controller.Library, l10n = wp.media.view.l10n, FeaturedImage; /** * wp.media.controller.FeaturedImage * * A state for selecting a featured image for a post. * * @memberOf wp.media.controller * * @class * @augments wp.media.controller.Library * @augments wp.media.controller.State * @augments Backbone.Model * * @param {object} [attributes] The attributes hash passed to the state. * @param {string} [attributes.id=featured-image] Unique identifier. * @param {string} [attributes.title=Set Featured Image] Title for the state. Displays in the media menu and the frame's title region. * @param {wp.media.model.Attachments} [attributes.library] The attachments collection to browse. * If one is not supplied, a collection of all images will be created. * @param {boolean} [attributes.multiple=false] Whether multi-select is enabled. * @param {string} [attributes.content=upload] Initial mode for the content region. * Overridden by persistent user setting if 'contentUserSetting' is true. * @param {string} [attributes.menu=default] Initial mode for the menu region. * @param {string} [attributes.router=browse] Initial mode for the router region. * @param {string} [attributes.toolbar=featured-image] Initial mode for the toolbar region. * @param {int} [attributes.priority=60] The priority for the state link in the media menu. * @param {boolean} [attributes.searchable=true] Whether the library is searchable. * @param {boolean|string} [attributes.filterable=false] Whether the library is filterable, and if so what filters should be shown. * Accepts 'all', 'uploaded', or 'unattached'. * @param {boolean} [attributes.sortable=true] Whether the Attachments should be sortable. Depends on the orderby property being set to menuOrder on the attachments collection. * @param {boolean} [attributes.autoSelect=true] Whether an uploaded attachment should be automatically added to the selection. * @param {boolean} [attributes.describe=false] Whether to offer UI to describe attachments - e.g. captioning images in a gallery. * @param {boolean} [attributes.contentUserSetting=true] Whether the content region's mode should be set and persisted per user. * @param {boolean} [attributes.syncSelection=true] Whether the Attachments selection should be persisted from the last state. */ FeaturedImage = Library.extend(/** @lends wp.media.controller.FeaturedImage.prototype */{ defaults: _.defaults({ id: 'featured-image', title: l10n.setFeaturedImageTitle, multiple: false, filterable: 'uploaded', toolbar: 'featured-image', priority: 60, syncSelection: true }, Library.prototype.defaults ), /** * @since 3.5.0 */ initialize: function() { var library, comparator; // If we haven't been provided a `library`, create a `Selection`. if ( ! this.get('library') ) { this.set( 'library', wp.media.query({ type: 'image' }) ); } Library.prototype.initialize.apply( this, arguments ); library = this.get('library'); comparator = library.comparator; // Overload the library's comparator to push items that are not in // the mirrored query to the front of the aggregate collection. library.comparator = function( a, b ) { var aInQuery = !! this.mirroring.get( a.cid ), bInQuery = !! this.mirroring.get( b.cid ); if ( ! aInQuery && bInQuery ) { return -1; } else if ( aInQuery && ! bInQuery ) { return 1; } else { return comparator.apply( this, arguments ); } }; // Add all items in the selection to the library, so any featured // images that are not initially loaded still appear. library.observe( this.get('selection') ); }, /** * @since 3.5.0 */ activate: function() { this.frame.on( 'open', this.updateSelection, this ); Library.prototype.activate.apply( this, arguments ); }, /** * @since 3.5.0 */ deactivate: function() { this.frame.off( 'open', this.updateSelection, this ); Library.prototype.deactivate.apply( this, arguments ); }, /** * @since 3.5.0 */ updateSelection: function() { var selection = this.get('selection'), id = wp.media.view.settings.post.featuredImageId, attachment; if ( '' !== id && -1 !== id ) { attachment = Attachment.get( id ); attachment.fetch(); } selection.reset( attachment ? [ attachment ] : [] ); } }); module.exports = FeaturedImage; /***/ }), /***/ 7323: /***/ (function(module) { var Selection = wp.media.model.Selection, Library = wp.media.controller.Library, l10n = wp.media.view.l10n, GalleryAdd; /** * wp.media.controller.GalleryAdd * * A state for selecting more images to add to a gallery. * * @since 3.5.0 * * @class * @augments wp.media.controller.Library * @augments wp.media.controller.State * @augments Backbone.Model * * @memberof wp.media.controller * * @param {Object} [attributes] The attributes hash passed to the state. * @param {string} [attributes.id=gallery-library] Unique identifier. * @param {string} [attributes.title=Add to Gallery] Title for the state. Displays in the frame's title region. * @param {boolean} [attributes.multiple=add] Whether multi-select is enabled. @todo 'add' doesn't seem do anything special, and gets used as a boolean. * @param {wp.media.model.Attachments} [attributes.library] The attachments collection to browse. * If one is not supplied, a collection of all images will be created. * @param {boolean|string} [attributes.filterable=uploaded] Whether the library is filterable, and if so what filters should be shown. * Accepts 'all', 'uploaded', or 'unattached'. * @param {string} [attributes.menu=gallery] Initial mode for the menu region. * @param {string} [attributes.content=upload] Initial mode for the content region. * Overridden by persistent user setting if 'contentUserSetting' is true. * @param {string} [attributes.router=browse] Initial mode for the router region. * @param {string} [attributes.toolbar=gallery-add] Initial mode for the toolbar region. * @param {boolean} [attributes.searchable=true] Whether the library is searchable. * @param {boolean} [attributes.sortable=true] Whether the Attachments should be sortable. Depends on the orderby property being set to menuOrder on the attachments collection. * @param {boolean} [attributes.autoSelect=true] Whether an uploaded attachment should be automatically added to the selection. * @param {boolean} [attributes.contentUserSetting=true] Whether the content region's mode should be set and persisted per user. * @param {number} [attributes.priority=100] The priority for the state link in the media menu. * @param {boolean} [attributes.syncSelection=false] Whether the Attachments selection should be persisted from the last state. * Defaults to false because for this state, because the library of the Edit Gallery state is the selection. */ GalleryAdd = Library.extend(/** @lends wp.media.controller.GalleryAdd.prototype */{ defaults: _.defaults({ id: 'gallery-library', title: l10n.addToGalleryTitle, multiple: 'add', filterable: 'uploaded', menu: 'gallery', toolbar: 'gallery-add', priority: 100, syncSelection: false }, Library.prototype.defaults ), /** * Initializes the library. Creates a library of images if a library isn't supplied. * * @since 3.5.0 * * @return {void} */ initialize: function() { if ( ! this.get('library') ) { this.set( 'library', wp.media.query({ type: 'image' }) ); } Library.prototype.initialize.apply( this, arguments ); }, /** * Activates the library. * * Removes all event listeners if in edit mode. Creates a validator to check an attachment. * Resets library and re-enables event listeners. Activates edit mode. Calls the parent's activate method. * * @since 3.5.0 * * @return {void} */ activate: function() { var library = this.get('library'), edit = this.frame.state('gallery-edit').get('library'); if ( this.editLibrary && this.editLibrary !== edit ) { library.unobserve( this.editLibrary ); } /* * Accept attachments that exist in the original library but * that do not exist in gallery's library yet. */ library.validator = function( attachment ) { return !! this.mirroring.get( attachment.cid ) && ! edit.get( attachment.cid ) && Selection.prototype.validator.apply( this, arguments ); }; /* * Reset the library to ensure that all attachments are re-added * to the collection. Do so silently, as calling `observe` will * trigger the `reset` event. */ library.reset( library.mirroring.models, { silent: true }); library.observe( edit ); this.editLibrary = edit; Library.prototype.activate.apply( this, arguments ); } }); module.exports = GalleryAdd; /***/ }), /***/ 6328: /***/ (function(module) { var Library = wp.media.controller.Library, l10n = wp.media.view.l10n, GalleryEdit; /** * wp.media.controller.GalleryEdit * * A state for editing a gallery's images and settings. * * @since 3.5.0 * * @class * @augments wp.media.controller.Library * @augments wp.media.controller.State * @augments Backbone.Model * * @memberOf wp.media.controller * * @param {Object} [attributes] The attributes hash passed to the state. * @param {string} [attributes.id=gallery-edit] Unique identifier. * @param {string} [attributes.title=Edit Gallery] Title for the state. Displays in the frame's title region. * @param {wp.media.model.Attachments} [attributes.library] The collection of attachments in the gallery. * If one is not supplied, an empty media.model.Selection collection is created. * @param {boolean} [attributes.multiple=false] Whether multi-select is enabled. * @param {boolean} [attributes.searchable=false] Whether the library is searchable. * @param {boolean} [attributes.sortable=true] Whether the Attachments should be sortable. Depends on the orderby property being set to menuOrder on the attachments collection. * @param {boolean} [attributes.date=true] Whether to show the date filter in the browser's toolbar. * @param {string|false} [attributes.content=browse] Initial mode for the content region. * @param {string|false} [attributes.toolbar=image-details] Initial mode for the toolbar region. * @param {boolean} [attributes.describe=true] Whether to offer UI to describe attachments - e.g. captioning images in a gallery. * @param {boolean} [attributes.displaySettings=true] Whether to show the attachment display settings interface. * @param {boolean} [attributes.dragInfo=true] Whether to show instructional text about the attachments being sortable. * @param {number} [attributes.idealColumnWidth=170] The ideal column width in pixels for attachments. * @param {boolean} [attributes.editing=false] Whether the gallery is being created, or editing an existing instance. * @param {number} [attributes.priority=60] The priority for the state link in the media menu. * @param {boolean} [attributes.syncSelection=false] Whether the Attachments selection should be persisted from the last state. * Defaults to false for this state, because the library passed in *is* the selection. * @param {view} [attributes.AttachmentView] The single `Attachment` view to be used in the `Attachments`. * If none supplied, defaults to wp.media.view.Attachment.EditLibrary. */ GalleryEdit = Library.extend(/** @lends wp.media.controller.GalleryEdit.prototype */{ defaults: { id: 'gallery-edit', title: l10n.editGalleryTitle, multiple: false, searchable: false, sortable: true, date: false, display: false, content: 'browse', toolbar: 'gallery-edit', describe: true, displaySettings: true, dragInfo: true, idealColumnWidth: 170, editing: false, priority: 60, syncSelection: false }, /** * Initializes the library. * * Creates a selection if a library isn't supplied and creates an attachment * view if no attachment view is supplied. * * @since 3.5.0 * * @return {void} */ initialize: function() { // If we haven't been provided a `library`, create a `Selection`. if ( ! this.get('library') ) { this.set( 'library', new wp.media.model.Selection() ); } // The single `Attachment` view to be used in the `Attachments` view. if ( ! this.get('AttachmentView') ) { this.set( 'AttachmentView', wp.media.view.Attachment.EditLibrary ); } Library.prototype.initialize.apply( this, arguments ); }, /** * Activates the library. * * Limits the library to images, watches for uploaded attachments. Watches for * the browse event on the frame and binds it to gallerySettings. * * @since 3.5.0 * * @return {void} */ activate: function() { var library = this.get('library'); // Limit the library to images only. library.props.set( 'type', 'image' ); // Watch for uploaded attachments. this.get('library').observe( wp.Uploader.queue ); this.frame.on( 'content:render:browse', this.gallerySettings, this ); Library.prototype.activate.apply( this, arguments ); }, /** * Deactivates the library. * * Stops watching for uploaded attachments and browse events. * * @since 3.5.0 * * @return {void} */ deactivate: function() { // Stop watching for uploaded attachments. this.get('library').unobserve( wp.Uploader.queue ); this.frame.off( 'content:render:browse', this.gallerySettings, this ); Library.prototype.deactivate.apply( this, arguments ); }, /** * Adds the gallery settings to the sidebar and adds a reverse button to the * toolbar. * * @since 3.5.0 * * @param {wp.media.view.Frame} browser The file browser. * * @return {void} */ gallerySettings: function( browser ) { if ( ! this.get('displaySettings') ) { return; } var library = this.get('library'); if ( ! library || ! browser ) { return; } library.gallery = library.gallery || new Backbone.Model(); browser.sidebar.set({ gallery: new wp.media.view.Settings.Gallery({ controller: this, model: library.gallery, priority: 40 }) }); browser.toolbar.set( 'reverse', { text: l10n.reverseOrder, priority: 80, click: function() { library.reset( library.toArray().reverse() ); } }); } }); module.exports = GalleryEdit; /***/ }), /***/ 3849: /***/ (function(module) { var State = wp.media.controller.State, Library = wp.media.controller.Library, l10n = wp.media.view.l10n, ImageDetails; /** * wp.media.controller.ImageDetails * * A state for editing the attachment display settings of an image that's been * inserted into the editor. * * @memberOf wp.media.controller * * @class * @augments wp.media.controller.State * @augments Backbone.Model * * @param {object} [attributes] The attributes hash passed to the state. * @param {string} [attributes.id=image-details] Unique identifier. * @param {string} [attributes.title=Image Details] Title for the state. Displays in the frame's title region. * @param {wp.media.model.Attachment} attributes.image The image's model. * @param {string|false} [attributes.content=image-details] Initial mode for the content region. * @param {string|false} [attributes.menu=false] Initial mode for the menu region. * @param {string|false} [attributes.router=false] Initial mode for the router region. * @param {string|false} [attributes.toolbar=image-details] Initial mode for the toolbar region. * @param {boolean} [attributes.editing=false] Unused. * @param {int} [attributes.priority=60] Unused. * * @todo This state inherits some defaults from media.controller.Library.prototype.defaults, * however this may not do anything. */ ImageDetails = State.extend(/** @lends wp.media.controller.ImageDetails.prototype */{ defaults: _.defaults({ id: 'image-details', title: l10n.imageDetailsTitle, content: 'image-details', menu: false, router: false, toolbar: 'image-details', editing: false, priority: 60 }, Library.prototype.defaults ), /** * @since 3.9.0 * * @param options Attributes */ initialize: function( options ) { this.image = options.image; State.prototype.initialize.apply( this, arguments ); }, /** * @since 3.9.0 */ activate: function() { this.frame.modal.$el.addClass('image-details'); } }); module.exports = ImageDetails; /***/ }), /***/ 9024: /***/ (function(module) { var l10n = wp.media.view.l10n, getUserSetting = window.getUserSetting, setUserSetting = window.setUserSetting, Library; /** * wp.media.controller.Library * * A state for choosing an attachment or group of attachments from the media library. * * @memberOf wp.media.controller * * @class * @augments wp.media.controller.State * @augments Backbone.Model * @mixes media.selectionSync * * @param {object} [attributes] The attributes hash passed to the state. * @param {string} [attributes.id=library] Unique identifier. * @param {string} [attributes.title=Media library] Title for the state. Displays in the media menu and the frame's title region. * @param {wp.media.model.Attachments} [attributes.library] The attachments collection to browse. * If one is not supplied, a collection of all attachments will be created. * @param {wp.media.model.Selection|object} [attributes.selection] A collection to contain attachment selections within the state. * If the 'selection' attribute is a plain JS object, * a Selection will be created using its values as the selection instance's `props` model. * Otherwise, it will copy the library's `props` model. * @param {boolean} [attributes.multiple=false] Whether multi-select is enabled. * @param {string} [attributes.content=upload] Initial mode for the content region. * Overridden by persistent user setting if 'contentUserSetting' is true. * @param {string} [attributes.menu=default] Initial mode for the menu region. * @param {string} [attributes.router=browse] Initial mode for the router region. * @param {string} [attributes.toolbar=select] Initial mode for the toolbar region. * @param {boolean} [attributes.searchable=true] Whether the library is searchable. * @param {boolean|string} [attributes.filterable=false] Whether the library is filterable, and if so what filters should be shown. * Accepts 'all', 'uploaded', or 'unattached'. * @param {boolean} [attributes.sortable=true] Whether the Attachments should be sortable. Depends on the orderby property being set to menuOrder on the attachments collection. * @param {boolean} [attributes.autoSelect=true] Whether an uploaded attachment should be automatically added to the selection. * @param {boolean} [attributes.describe=false] Whether to offer UI to describe attachments - e.g. captioning images in a gallery. * @param {boolean} [attributes.contentUserSetting=true] Whether the content region's mode should be set and persisted per user. * @param {boolean} [attributes.syncSelection=true] Whether the Attachments selection should be persisted from the last state. */ Library = wp.media.controller.State.extend(/** @lends wp.media.controller.Library.prototype */{ defaults: { id: 'library', title: l10n.mediaLibraryTitle, multiple: false, content: 'upload', menu: 'default', router: 'browse', toolbar: 'select', searchable: true, filterable: false, sortable: true, autoSelect: true, describe: false, contentUserSetting: true, syncSelection: true }, /** * If a library isn't provided, query all media items. * If a selection instance isn't provided, create one. * * @since 3.5.0 */ initialize: function() { var selection = this.get('selection'), props; if ( ! this.get('library') ) { this.set( 'library', wp.media.query() ); } if ( ! ( selection instanceof wp.media.model.Selection ) ) { props = selection; if ( ! props ) { props = this.get('library').props.toJSON(); props = _.omit( props, 'orderby', 'query' ); } this.set( 'selection', new wp.media.model.Selection( null, { multiple: this.get('multiple'), props: props }) ); } this.resetDisplays(); }, /** * @since 3.5.0 */ activate: function() { this.syncSelection(); wp.Uploader.queue.on( 'add', this.uploading, this ); this.get('selection').on( 'add remove reset', this.refreshContent, this ); if ( this.get( 'router' ) && this.get('contentUserSetting') ) { this.frame.on( 'content:activate', this.saveContentMode, this ); this.set( 'content', getUserSetting( 'libraryContent', this.get('content') ) ); } }, /** * @since 3.5.0 */ deactivate: function() { this.recordSelection(); this.frame.off( 'content:activate', this.saveContentMode, this ); // Unbind all event handlers that use this state as the context // from the selection. this.get('selection').off( null, null, this ); wp.Uploader.queue.off( null, null, this ); }, /** * Reset the library to its initial state. * * @since 3.5.0 */ reset: function() { this.get('selection').reset(); this.resetDisplays(); this.refreshContent(); }, /** * Reset the attachment display settings defaults to the site options. * * If site options don't define them, fall back to a persistent user setting. * * @since 3.5.0 */ resetDisplays: function() { var defaultProps = wp.media.view.settings.defaultProps; this._displays = []; this._defaultDisplaySettings = { align: getUserSetting( 'align', defaultProps.align ) || 'none', size: getUserSetting( 'imgsize', defaultProps.size ) || 'medium', link: getUserSetting( 'urlbutton', defaultProps.link ) || 'none' }; }, /** * Create a model to represent display settings (alignment, etc.) for an attachment. * * @since 3.5.0 * * @param {wp.media.model.Attachment} attachment * @return {Backbone.Model} */ display: function( attachment ) { var displays = this._displays; if ( ! displays[ attachment.cid ] ) { displays[ attachment.cid ] = new Backbone.Model( this.defaultDisplaySettings( attachment ) ); } return displays[ attachment.cid ]; }, /** * Given an attachment, create attachment display settings properties. * * @since 3.6.0 * * @param {wp.media.model.Attachment} attachment * @return {Object} */ defaultDisplaySettings: function( attachment ) { var settings = _.clone( this._defaultDisplaySettings ); settings.canEmbed = this.canEmbed( attachment ); if ( settings.canEmbed ) { settings.link = 'embed'; } else if ( ! this.isImageAttachment( attachment ) && settings.link === 'none' ) { settings.link = 'file'; } return settings; }, /** * Whether an attachment is image. * * @since 4.4.1 * * @param {wp.media.model.Attachment} attachment * @return {boolean} */ isImageAttachment: function( attachment ) { // If uploading, we know the filename but not the mime type. if ( attachment.get('uploading') ) { return /\.(jpe?g|png|gif|webp)$/i.test( attachment.get('filename') ); } return attachment.get('type') === 'image'; }, /** * Whether an attachment can be embedded (audio or video). * * @since 3.6.0 * * @param {wp.media.model.Attachment} attachment * @return {boolean} */ canEmbed: function( attachment ) { // If uploading, we know the filename but not the mime type. if ( ! attachment.get('uploading') ) { var type = attachment.get('type'); if ( type !== 'audio' && type !== 'video' ) { return false; } } return _.contains( wp.media.view.settings.embedExts, attachment.get('filename').split('.').pop() ); }, /** * If the state is active, no items are selected, and the current * content mode is not an option in the state's router (provided * the state has a router), reset the content mode to the default. * * @since 3.5.0 */ refreshContent: function() { var selection = this.get('selection'), frame = this.frame, router = frame.router.get(), mode = frame.content.mode(); if ( this.active && ! selection.length && router && ! router.get( mode ) ) { this.frame.content.render( this.get('content') ); } }, /** * Callback handler when an attachment is uploaded. * * Switch to the Media Library if uploaded from the 'Upload Files' tab. * * Adds any uploading attachments to the selection. * * If the state only supports one attachment to be selected and multiple * attachments are uploaded, the last attachment in the upload queue will * be selected. * * @since 3.5.0 * * @param {wp.media.model.Attachment} attachment */ uploading: function( attachment ) { var content = this.frame.content; if ( 'upload' === content.mode() ) { this.frame.content.mode('browse'); } if ( this.get( 'autoSelect' ) ) { this.get('selection').add( attachment ); this.frame.trigger( 'library:selection:add' ); } }, /** * Persist the mode of the content region as a user setting. * * @since 3.5.0 */ saveContentMode: function() { if ( 'browse' !== this.get('router') ) { return; } var mode = this.frame.content.mode(), view = this.frame.router.get(); if ( view && view.get( mode ) ) { setUserSetting( 'libraryContent', mode ); } } }); // Make selectionSync available on any Media Library state. _.extend( Library.prototype, wp.media.selectionSync ); module.exports = Library; /***/ }), /***/ 3742: /***/ (function(module) { /** * wp.media.controller.MediaLibrary * * @memberOf wp.media.controller * * @class * @augments wp.media.controller.Library * @augments wp.media.controller.State * @augments Backbone.Model */ var Library = wp.media.controller.Library, MediaLibrary; MediaLibrary = Library.extend(/** @lends wp.media.controller.MediaLibrary.prototype */{ defaults: _.defaults({ // Attachments browser defaults. @see media.view.AttachmentsBrowser filterable: 'uploaded', displaySettings: false, priority: 80, syncSelection: false }, Library.prototype.defaults ), /** * @since 3.9.0 * * @param options */ initialize: function( options ) { this.media = options.media; this.type = options.type; this.set( 'library', wp.media.query({ type: this.type }) ); Library.prototype.initialize.apply( this, arguments ); }, /** * @since 3.9.0 */ activate: function() { // @todo this should use this.frame. if ( wp.media.frame.lastMime ) { this.set( 'library', wp.media.query({ type: wp.media.frame.lastMime }) ); delete wp.media.frame.lastMime; } Library.prototype.activate.apply( this, arguments ); } }); module.exports = MediaLibrary; /***/ }), /***/ 4903: /***/ (function(module) { /** * wp.media.controller.Region * * A region is a persistent application layout area. * * A region assumes one mode at any time, and can be switched to another. * * When mode changes, events are triggered on the region's parent view. * The parent view will listen to specific events and fill the region with an * appropriate view depending on mode. For example, a frame listens for the * 'browse' mode t be activated on the 'content' view and then fills the region * with an AttachmentsBrowser view. * * @memberOf wp.media.controller * * @class * * @param {Object} options Options hash for the region. * @param {string} options.id Unique identifier for the region. * @param {Backbone.View} options.view A parent view the region exists within. * @param {string} options.selector jQuery selector for the region within the parent view. */ var Region = function( options ) { _.extend( this, _.pick( options || {}, 'id', 'view', 'selector' ) ); }; // Use Backbone's self-propagating `extend` inheritance method. Region.extend = Backbone.Model.extend; _.extend( Region.prototype,/** @lends wp.media.controller.Region.prototype */{ /** * Activate a mode. * * @since 3.5.0 * * @param {string} mode * * @fires Region#activate * @fires Region#deactivate * * @return {wp.media.controller.Region} Returns itself to allow chaining. */ mode: function( mode ) { if ( ! mode ) { return this._mode; } // Bail if we're trying to change to the current mode. if ( mode === this._mode ) { return this; } /** * Region mode deactivation event. * * @event wp.media.controller.Region#deactivate */ this.trigger('deactivate'); this._mode = mode; this.render( mode ); /** * Region mode activation event. * * @event wp.media.controller.Region#activate */ this.trigger('activate'); return this; }, /** * Render a mode. * * @since 3.5.0 * * @param {string} mode * * @fires Region#create * @fires Region#render * * @return {wp.media.controller.Region} Returns itself to allow chaining. */ render: function( mode ) { // If the mode isn't active, activate it. if ( mode && mode !== this._mode ) { return this.mode( mode ); } var set = { view: null }, view; /** * Create region view event. * * Region view creation takes place in an event callback on the frame. * * @event wp.media.controller.Region#create * @type {object} * @property {object} view */ this.trigger( 'create', set ); view = set.view; /** * Render region view event. * * Region view creation takes place in an event callback on the frame. * * @event wp.media.controller.Region#render * @type {object} */ this.trigger( 'render', view ); if ( view ) { this.set( view ); } return this; }, /** * Get the region's view. * * @since 3.5.0 * * @return {wp.media.View} */ get: function() { return this.view.views.first( this.selector ); }, /** * Set the region's view as a subview of the frame. * * @since 3.5.0 * * @param {Array|Object} views * @param {Object} [options={}] * @return {wp.Backbone.Subviews} Subviews is returned to allow chaining. */ set: function( views, options ) { if ( options ) { options.add = false; } return this.view.views.set( this.selector, views, options ); }, /** * Trigger regional view events on the frame. * * @since 3.5.0 * * @param {string} event * @return {undefined|wp.media.controller.Region} Returns itself to allow chaining. */ trigger: function( event ) { var base, args; if ( ! this._mode ) { return; } args = _.toArray( arguments ); base = this.id + ':' + event; // Trigger `{this.id}:{event}:{this._mode}` event on the frame. args[0] = base + ':' + this._mode; this.view.trigger.apply( this.view, args ); // Trigger `{this.id}:{event}` event on the frame. args[0] = base; this.view.trigger.apply( this.view, args ); return this; } }); module.exports = Region; /***/ }), /***/ 8493: /***/ (function(module) { var Library = wp.media.controller.Library, l10n = wp.media.view.l10n, ReplaceImage; /** * wp.media.controller.ReplaceImage * * A state for replacing an image. * * @memberOf wp.media.controller * * @class * @augments wp.media.controller.Library * @augments wp.media.controller.State * @augments Backbone.Model * * @param {object} [attributes] The attributes hash passed to the state. * @param {string} [attributes.id=replace-image] Unique identifier. * @param {string} [attributes.title=Replace Image] Title for the state. Displays in the media menu and the frame's title region. * @param {wp.media.model.Attachments} [attributes.library] The attachments collection to browse. * If one is not supplied, a collection of all images will be created. * @param {boolean} [attributes.multiple=false] Whether multi-select is enabled. * @param {string} [attributes.content=upload] Initial mode for the content region. * Overridden by persistent user setting if 'contentUserSetting' is true. * @param {string} [attributes.menu=default] Initial mode for the menu region. * @param {string} [attributes.router=browse] Initial mode for the router region. * @param {string} [attributes.toolbar=replace] Initial mode for the toolbar region. * @param {int} [attributes.priority=60] The priority for the state link in the media menu. * @param {boolean} [attributes.searchable=true] Whether the library is searchable. * @param {boolean|string} [attributes.filterable=uploaded] Whether the library is filterable, and if so what filters should be shown. * Accepts 'all', 'uploaded', or 'unattached'. * @param {boolean} [attributes.sortable=true] Whether the Attachments should be sortable. Depends on the orderby property being set to menuOrder on the attachments collection. * @param {boolean} [attributes.autoSelect=true] Whether an uploaded attachment should be automatically added to the selection. * @param {boolean} [attributes.describe=false] Whether to offer UI to describe attachments - e.g. captioning images in a gallery. * @param {boolean} [attributes.contentUserSetting=true] Whether the content region's mode should be set and persisted per user. * @param {boolean} [attributes.syncSelection=true] Whether the Attachments selection should be persisted from the last state. */ ReplaceImage = Library.extend(/** @lends wp.media.controller.ReplaceImage.prototype */{ defaults: _.defaults({ id: 'replace-image', title: l10n.replaceImageTitle, multiple: false, filterable: 'uploaded', toolbar: 'replace', menu: false, priority: 60, syncSelection: true }, Library.prototype.defaults ), /** * @since 3.9.0 * * @param options */ initialize: function( options ) { var library, comparator; this.image = options.image; // If we haven't been provided a `library`, create a `Selection`. if ( ! this.get('library') ) { this.set( 'library', wp.media.query({ type: 'image' }) ); } Library.prototype.initialize.apply( this, arguments ); library = this.get('library'); comparator = library.comparator; // Overload the library's comparator to push items that are not in // the mirrored query to the front of the aggregate collection. library.comparator = function( a, b ) { var aInQuery = !! this.mirroring.get( a.cid ), bInQuery = !! this.mirroring.get( b.cid ); if ( ! aInQuery && bInQuery ) { return -1; } else if ( aInQuery && ! bInQuery ) { return 1; } else { return comparator.apply( this, arguments ); } }; // Add all items in the selection to the library, so any featured // images that are not initially loaded still appear. library.observe( this.get('selection') ); }, /** * @since 3.9.0 */ activate: function() { this.frame.on( 'content:render:browse', this.updateSelection, this ); Library.prototype.activate.apply( this, arguments ); }, /** * @since 5.9.0 */ deactivate: function() { this.frame.off( 'content:render:browse', this.updateSelection, this ); Library.prototype.deactivate.apply( this, arguments ); }, /** * @since 3.9.0 */ updateSelection: function() { var selection = this.get('selection'), attachment = this.image.attachment; selection.reset( attachment ? [ attachment ] : [] ); } }); module.exports = ReplaceImage; /***/ }), /***/ 5274: /***/ (function(module) { var Controller = wp.media.controller, SiteIconCropper; /** * wp.media.controller.SiteIconCropper * * A state for cropping a Site Icon. * * @memberOf wp.media.controller * * @class * @augments wp.media.controller.Cropper * @augments wp.media.controller.State * @augments Backbone.Model */ SiteIconCropper = Controller.Cropper.extend(/** @lends wp.media.controller.SiteIconCropper.prototype */{ activate: function() { this.frame.on( 'content:create:crop', this.createCropContent, this ); this.frame.on( 'close', this.removeCropper, this ); this.set('selection', new Backbone.Collection(this.frame._selection.single)); }, createCropContent: function() { this.cropperView = new wp.media.view.SiteIconCropper({ controller: this, attachment: this.get('selection').first() }); this.cropperView.on('image-loaded', this.createCropToolbar, this); this.frame.content.set(this.cropperView); }, doCrop: function( attachment ) { var cropDetails = attachment.get( 'cropDetails' ), control = this.get( 'control' ); cropDetails.dst_width = control.params.width; cropDetails.dst_height = control.params.height; return wp.ajax.post( 'crop-image', { nonce: attachment.get( 'nonces' ).edit, id: attachment.get( 'id' ), context: 'site-icon', cropDetails: cropDetails } ); } }); module.exports = SiteIconCropper; /***/ }), /***/ 5466: /***/ (function(module) { /** * wp.media.controller.StateMachine * * A state machine keeps track of state. It is in one state at a time, * and can change from one state to another. * * States are stored as models in a Backbone collection. * * @memberOf wp.media.controller * * @since 3.5.0 * * @class * @augments Backbone.Model * @mixin * @mixes Backbone.Events */ var StateMachine = function() { return { // Use Backbone's self-propagating `extend` inheritance method. extend: Backbone.Model.extend }; }; _.extend( StateMachine.prototype, Backbone.Events,/** @lends wp.media.controller.StateMachine.prototype */{ /** * Fetch a state. * * If no `id` is provided, returns the active state. * * Implicitly creates states. * * Ensure that the `states` collection exists so the `StateMachine` * can be used as a mixin. * * @since 3.5.0 * * @param {string} id * @return {wp.media.controller.State} Returns a State model from * the StateMachine collection. */ state: function( id ) { this.states = this.states || new Backbone.Collection(); // Default to the active state. id = id || this._state; if ( id && ! this.states.get( id ) ) { this.states.add({ id: id }); } return this.states.get( id ); }, /** * Sets the active state. * * Bail if we're trying to select the current state, if we haven't * created the `states` collection, or are trying to select a state * that does not exist. * * @since 3.5.0 * * @param {string} id * * @fires wp.media.controller.State#deactivate * @fires wp.media.controller.State#activate * * @return {wp.media.controller.StateMachine} Returns itself to allow chaining. */ setState: function( id ) { var previous = this.state(); if ( ( previous && id === previous.id ) || ! this.states || ! this.states.get( id ) ) { return this; } if ( previous ) { previous.trigger('deactivate'); this._lastState = previous.id; } this._state = id; this.state().trigger('activate'); return this; }, /** * Returns the previous active state. * * Call the `state()` method with no parameters to retrieve the current * active state. * * @since 3.5.0 * * @return {wp.media.controller.State} Returns a State model from * the StateMachine collection. */ lastState: function() { if ( this._lastState ) { return this.state( this._lastState ); } } }); // Map all event binding and triggering on a StateMachine to its `states` collection. _.each([ 'on', 'off', 'trigger' ], function( method ) { /** * @function on * @memberOf wp.media.controller.StateMachine * @instance * @return {wp.media.controller.StateMachine} Returns itself to allow chaining. */ /** * @function off * @memberOf wp.media.controller.StateMachine * @instance * @return {wp.media.controller.StateMachine} Returns itself to allow chaining. */ /** * @function trigger * @memberOf wp.media.controller.StateMachine * @instance * @return {wp.media.controller.StateMachine} Returns itself to allow chaining. */ StateMachine.prototype[ method ] = function() { // Ensure that the `states` collection exists so the `StateMachine` // can be used as a mixin. this.states = this.states || new Backbone.Collection(); // Forward the method to the `states` collection. this.states[ method ].apply( this.states, arguments ); return this; }; }); module.exports = StateMachine; /***/ }), /***/ 5826: /***/ (function(module) { /** * wp.media.controller.State * * A state is a step in a workflow that when set will trigger the controllers * for the regions to be updated as specified in the frame. * * A state has an event-driven lifecycle: * * 'ready' triggers when a state is added to a state machine's collection. * 'activate' triggers when a state is activated by a state machine. * 'deactivate' triggers when a state is deactivated by a state machine. * 'reset' is not triggered automatically. It should be invoked by the * proper controller to reset the state to its default. * * @memberOf wp.media.controller * * @class * @augments Backbone.Model */ var State = Backbone.Model.extend(/** @lends wp.media.controller.State.prototype */{ /** * Constructor. * * @since 3.5.0 */ constructor: function() { this.on( 'activate', this._preActivate, this ); this.on( 'activate', this.activate, this ); this.on( 'activate', this._postActivate, this ); this.on( 'deactivate', this._deactivate, this ); this.on( 'deactivate', this.deactivate, this ); this.on( 'reset', this.reset, this ); this.on( 'ready', this._ready, this ); this.on( 'ready', this.ready, this ); /** * Call parent constructor with passed arguments */ Backbone.Model.apply( this, arguments ); this.on( 'change:menu', this._updateMenu, this ); }, /** * Ready event callback. * * @abstract * @since 3.5.0 */ ready: function() {}, /** * Activate event callback. * * @abstract * @since 3.5.0 */ activate: function() {}, /** * Deactivate event callback. * * @abstract * @since 3.5.0 */ deactivate: function() {}, /** * Reset event callback. * * @abstract * @since 3.5.0 */ reset: function() {}, /** * @since 3.5.0 * @access private */ _ready: function() { this._updateMenu(); }, /** * @since 3.5.0 * @access private */ _preActivate: function() { this.active = true; }, /** * @since 3.5.0 * @access private */ _postActivate: function() { this.on( 'change:menu', this._menu, this ); this.on( 'change:titleMode', this._title, this ); this.on( 'change:content', this._content, this ); this.on( 'change:toolbar', this._toolbar, this ); this.frame.on( 'title:render:default', this._renderTitle, this ); this._title(); this._menu(); this._toolbar(); this._content(); this._router(); }, /** * @since 3.5.0 * @access private */ _deactivate: function() { this.active = false; this.frame.off( 'title:render:default', this._renderTitle, this ); this.off( 'change:menu', this._menu, this ); this.off( 'change:titleMode', this._title, this ); this.off( 'change:content', this._content, this ); this.off( 'change:toolbar', this._toolbar, this ); }, /** * @since 3.5.0 * @access private */ _title: function() { this.frame.title.render( this.get('titleMode') || 'default' ); }, /** * @since 3.5.0 * @access private */ _renderTitle: function( view ) { view.$el.text( this.get('title') || '' ); }, /** * @since 3.5.0 * @access private */ _router: function() { var router = this.frame.router, mode = this.get('router'), view; this.frame.$el.toggleClass( 'hide-router', ! mode ); if ( ! mode ) { return; } this.frame.router.render( mode ); view = router.get(); if ( view && view.select ) { view.select( this.frame.content.mode() ); } }, /** * @since 3.5.0 * @access private */ _menu: function() { var menu = this.frame.menu, mode = this.get('menu'), view; this.frame.$el.toggleClass( 'hide-menu', ! mode ); if ( ! mode ) { return; } menu.mode( mode ); view = menu.get(); if ( view && view.select ) { view.select( this.id ); } }, /** * @since 3.5.0 * @access private */ _updateMenu: function() { var previous = this.previous('menu'), menu = this.get('menu'); if ( previous ) { this.frame.off( 'menu:render:' + previous, this._renderMenu, this ); } if ( menu ) { this.frame.on( 'menu:render:' + menu, this._renderMenu, this ); } }, /** * Create a view in the media menu for the state. * * @since 3.5.0 * @access private * * @param {media.view.Menu} view The menu view. */ _renderMenu: function( view ) { var menuItem = this.get('menuItem'), title = this.get('title'), priority = this.get('priority'); if ( ! menuItem && title ) { menuItem = { text: title }; if ( priority ) { menuItem.priority = priority; } } if ( ! menuItem ) { return; } view.set( this.id, menuItem ); } }); _.each(['toolbar','content'], function( region ) { /** * @access private */ State.prototype[ '_' + region ] = function() { var mode = this.get( region ); if ( mode ) { this.frame[ region ].render( mode ); } }; }); module.exports = State; /***/ }), /***/ 3526: /***/ (function(module) { /** * wp.media.selectionSync * * Sync an attachments selection in a state with another state. * * Allows for selecting multiple images in the Add Media workflow, and then * switching to the Insert Gallery workflow while preserving the attachments selection. * * @memberOf wp.media * * @mixin */ var selectionSync = { /** * @since 3.5.0 */ syncSelection: function() { var selection = this.get('selection'), manager = this.frame._selection; if ( ! this.get('syncSelection') || ! manager || ! selection ) { return; } /* * If the selection supports multiple items, validate the stored * attachments based on the new selection's conditions. Record * the attachments that are not included; we'll maintain a * reference to those. Other attachments are considered in flux. */ if ( selection.multiple ) { selection.reset( [], { silent: true }); selection.validateAll( manager.attachments ); manager.difference = _.difference( manager.attachments.models, selection.models ); } // Sync the selection's single item with the master. selection.single( manager.single ); }, /** * Record the currently active attachments, which is a combination * of the selection's attachments and the set of selected * attachments that this specific selection considered invalid. * Reset the difference and record the single attachment. * * @since 3.5.0 */ recordSelection: function() { var selection = this.get('selection'), manager = this.frame._selection; if ( ! this.get('syncSelection') || ! manager || ! selection ) { return; } if ( selection.multiple ) { manager.attachments.reset( selection.toArray().concat( manager.difference ) ); manager.difference = []; } else { manager.attachments.add( selection.toArray() ); } manager.single = selection._single; } }; module.exports = selectionSync; /***/ }), /***/ 8093: /***/ (function(module) { var View = wp.media.View, AttachmentCompat; /** * wp.media.view.AttachmentCompat * * A view to display fields added via the `attachment_fields_to_edit` filter. * * @memberOf wp.media.view * * @class * @augments wp.media.View * @augments wp.Backbone.View * @augments Backbone.View */ AttachmentCompat = View.extend(/** @lends wp.media.view.AttachmentCompat.prototype */{ tagName: 'form', className: 'compat-item', events: { 'submit': 'preventDefault', 'change input': 'save', 'change select': 'save', 'change textarea': 'save' }, initialize: function() { // Render the view when a new item is added. this.listenTo( this.model, 'add', this.render ); }, /** * @return {wp.media.view.AttachmentCompat} Returns itself to allow chaining. */ dispose: function() { if ( this.$(':focus').length ) { this.save(); } /** * call 'dispose' directly on the parent class */ return View.prototype.dispose.apply( this, arguments ); }, /** * @return {wp.media.view.AttachmentCompat} Returns itself to allow chaining. */ render: function() { var compat = this.model.get('compat'); if ( ! compat || ! compat.item ) { return; } this.views.detach(); this.$el.html( compat.item ); this.views.render(); return this; }, /** * @param {Object} event */ preventDefault: function( event ) { event.preventDefault(); }, /** * @param {Object} event */ save: function( event ) { var data = {}; if ( event ) { event.preventDefault(); } _.each( this.$el.serializeArray(), function( pair ) { data[ pair.name ] = pair.value; }); this.controller.trigger( 'attachment:compat:waiting', ['waiting'] ); this.model.saveCompat( data ).always( _.bind( this.postSave, this ) ); }, postSave: function() { this.controller.trigger( 'attachment:compat:ready', ['ready'] ); } }); module.exports = AttachmentCompat; /***/ }), /***/ 4906: /***/ (function(module) { var $ = jQuery, AttachmentFilters; /** * wp.media.view.AttachmentFilters * * @memberOf wp.media.view * * @class * @augments wp.media.View * @augments wp.Backbone.View * @augments Backbone.View */ AttachmentFilters = wp.media.View.extend(/** @lends wp.media.view.AttachmentFilters.prototype */{ tagName: 'select', className: 'attachment-filters', id: 'media-attachment-filters', events: { change: 'change' }, keys: [], initialize: function() { this.createFilters(); _.extend( this.filters, this.options.filters ); // Build `' ).val( value ).html( filter.text )[0], priority: filter.priority || 50 }; }, this ).sortBy('priority').pluck('el').value() ); this.listenTo( this.model, 'change', this.select ); this.select(); }, /** * @abstract */ createFilters: function() { this.filters = {}; }, /** * When the selected filter changes, update the Attachment Query properties to match. */ change: function() { var filter = this.filters[ this.el.value ]; if ( filter ) { this.model.set( filter.props ); } }, select: function() { var model = this.model, value = 'all', props = model.toJSON(); _.find( this.filters, function( filter, id ) { var equal = _.all( filter.props, function( prop, key ) { return prop === ( _.isUndefined( props[ key ] ) ? null : props[ key ] ); }); if ( equal ) { return value = id; } }); this.$el.val( value ); } }); module.exports = AttachmentFilters; /***/ }), /***/ 2868: /***/ (function(module) { var l10n = wp.media.view.l10n, All; /** * wp.media.view.AttachmentFilters.All * * @memberOf wp.media.view.AttachmentFilters * * @class * @augments wp.media.view.AttachmentFilters * @augments wp.media.View * @augments wp.Backbone.View * @augments Backbone.View */ All = wp.media.view.AttachmentFilters.extend(/** @lends wp.media.view.AttachmentFilters.All.prototype */{ createFilters: function() { var filters = {}, uid = window.userSettings ? parseInt( window.userSettings.uid, 10 ) : 0; _.each( wp.media.view.settings.mimeTypes || {}, function( text, key ) { filters[ key ] = { text: text, props: { status: null, type: key, uploadedTo: null, orderby: 'date', order: 'DESC', author: null } }; }); filters.all = { text: l10n.allMediaItems, props: { status: null, type: null, uploadedTo: null, orderby: 'date', order: 'DESC', author: null }, priority: 10 }; if ( wp.media.view.settings.post.id ) { filters.uploaded = { text: l10n.uploadedToThisPost, props: { status: null, type: null, uploadedTo: wp.media.view.settings.post.id, orderby: 'menuOrder', order: 'ASC', author: null }, priority: 20 }; } filters.unattached = { text: l10n.unattached, props: { status: null, uploadedTo: 0, type: null, orderby: 'menuOrder', order: 'ASC', author: null }, priority: 50 }; if ( uid ) { filters.mine = { text: l10n.mine, props: { status: null, type: null, uploadedTo: null, orderby: 'date', order: 'DESC', author: uid }, priority: 50 }; } if ( wp.media.view.settings.mediaTrash && this.controller.isModeActive( 'grid' ) ) { filters.trash = { text: l10n.trash, props: { uploadedTo: null, status: 'trash', type: null, orderby: 'date', order: 'DESC', author: null }, priority: 50 }; } this.filters = filters; } }); module.exports = All; /***/ }), /***/ 9663: /***/ (function(module) { var l10n = wp.media.view.l10n, DateFilter; /** * A filter dropdown for month/dates. * * @memberOf wp.media.view.AttachmentFilters * * @class * @augments wp.media.view.AttachmentFilters * @augments wp.media.View * @augments wp.Backbone.View * @augments Backbone.View */ DateFilter = wp.media.view.AttachmentFilters.extend(/** @lends wp.media.view.AttachmentFilters.Date.prototype */{ id: 'media-attachment-date-filters', createFilters: function() { var filters = {}; _.each( wp.media.view.settings.months || {}, function( value, index ) { filters[ index ] = { text: value.text, props: { year: value.year, monthnum: value.month } }; }); filters.all = { text: l10n.allDates, props: { monthnum: false, year: false }, priority: 10 }; this.filters = filters; } }); module.exports = DateFilter; /***/ }), /***/ 7040: /***/ (function(module) { var l10n = wp.media.view.l10n, Uploaded; /** * wp.media.view.AttachmentFilters.Uploaded * * @memberOf wp.media.view.AttachmentFilters * * @class * @augments wp.media.view.AttachmentFilters * @augments wp.media.View * @augments wp.Backbone.View * @augments Backbone.View */ Uploaded = wp.media.view.AttachmentFilters.extend(/** @lends wp.media.view.AttachmentFilters.Uploaded.prototype */{ createFilters: function() { var type = this.model.get('type'), types = wp.media.view.settings.mimeTypes, uid = window.userSettings ? parseInt( window.userSettings.uid, 10 ) : 0, text; if ( types && type ) { text = types[ type ]; } this.filters = { all: { text: text || l10n.allMediaItems, props: { uploadedTo: null, orderby: 'date', order: 'DESC', author: null }, priority: 10 }, uploaded: { text: l10n.uploadedToThisPost, props: { uploadedTo: wp.media.view.settings.post.id, orderby: 'menuOrder', order: 'ASC', author: null }, priority: 20 }, unattached: { text: l10n.unattached, props: { uploadedTo: 0, orderby: 'menuOrder', order: 'ASC', author: null }, priority: 50 } }; if ( uid ) { this.filters.mine = { text: l10n.mine, props: { orderby: 'date', order: 'DESC', author: uid }, priority: 50 }; } } }); module.exports = Uploaded; /***/ }), /***/ 5019: /***/ (function(module) { var View = wp.media.View, $ = jQuery, Attachment; /** * wp.media.view.Attachment * * @memberOf wp.media.view * * @class * @augments wp.media.View * @augments wp.Backbone.View * @augments Backbone.View */ Attachment = View.extend(/** @lends wp.media.view.Attachment.prototype */{ tagName: 'li', className: 'attachment', template: wp.template('attachment'), attributes: function() { return { 'tabIndex': 0, 'role': 'checkbox', 'aria-label': this.model.get( 'title' ), 'aria-checked': false, 'data-id': this.model.get( 'id' ) }; }, events: { 'click': 'toggleSelectionHandler', 'change [data-setting]': 'updateSetting', 'change [data-setting] input': 'updateSetting', 'change [data-setting] select': 'updateSetting', 'change [data-setting] textarea': 'updateSetting', 'click .attachment-close': 'removeFromLibrary', 'click .check': 'checkClickHandler', 'keydown': 'toggleSelectionHandler' }, buttons: {}, initialize: function() { var selection = this.options.selection, options = _.defaults( this.options, { rerenderOnModelChange: true } ); if ( options.rerenderOnModelChange ) { this.listenTo( this.model, 'change', this.render ); } else { this.listenTo( this.model, 'change:percent', this.progress ); } this.listenTo( this.model, 'change:title', this._syncTitle ); this.listenTo( this.model, 'change:caption', this._syncCaption ); this.listenTo( this.model, 'change:artist', this._syncArtist ); this.listenTo( this.model, 'change:album', this._syncAlbum ); // Update the selection. this.listenTo( this.model, 'add', this.select ); this.listenTo( this.model, 'remove', this.deselect ); if ( selection ) { selection.on( 'reset', this.updateSelect, this ); // Update the model's details view. this.listenTo( this.model, 'selection:single selection:unsingle', this.details ); this.details( this.model, this.controller.state().get('selection') ); } this.listenTo( this.controller.states, 'attachment:compat:waiting attachment:compat:ready', this.updateSave ); }, /** * @return {wp.media.view.Attachment} Returns itself to allow chaining. */ dispose: function() { var selection = this.options.selection; // Make sure all settings are saved before removing the view. this.updateAll(); if ( selection ) { selection.off( null, null, this ); } /** * call 'dispose' directly on the parent class */ View.prototype.dispose.apply( this, arguments ); return this; }, /** * @return {wp.media.view.Attachment} Returns itself to allow chaining. */ render: function() { var options = _.defaults( this.model.toJSON(), { orientation: 'landscape', uploading: false, type: '', subtype: '', icon: '', filename: '', caption: '', title: '', dateFormatted: '', width: '', height: '', compat: false, alt: '', description: '' }, this.options ); options.buttons = this.buttons; options.describe = this.controller.state().get('describe'); if ( 'image' === options.type ) { options.size = this.imageSize(); } options.can = {}; if ( options.nonces ) { options.can.remove = !! options.nonces['delete']; options.can.save = !! options.nonces.update; } if ( this.controller.state().get('allowLocalEdits') ) { options.allowLocalEdits = true; } if ( options.uploading && ! options.percent ) { options.percent = 0; } this.views.detach(); this.$el.html( this.template( options ) ); this.$el.toggleClass( 'uploading', options.uploading ); if ( options.uploading ) { this.$bar = this.$('.media-progress-bar div'); } else { delete this.$bar; } // Check if the model is selected. this.updateSelect(); // Update the save status. this.updateSave(); this.views.render(); return this; }, progress: function() { if ( this.$bar && this.$bar.length ) { this.$bar.width( this.model.get('percent') + '%' ); } }, /** * @param {Object} event */ toggleSelectionHandler: function( event ) { var method; // Don't do anything inside inputs and on the attachment check and remove buttons. if ( 'INPUT' === event.target.nodeName || 'BUTTON' === event.target.nodeName ) { return; } // Catch arrow events. if ( 37 === event.keyCode || 38 === event.keyCode || 39 === event.keyCode || 40 === event.keyCode ) { this.controller.trigger( 'attachment:keydown:arrow', event ); return; } // Catch enter and space events. if ( 'keydown' === event.type && 13 !== event.keyCode && 32 !== event.keyCode ) { return; } event.preventDefault(); // In the grid view, bubble up an edit:attachment event to the controller. if ( this.controller.isModeActive( 'grid' ) ) { if ( this.controller.isModeActive( 'edit' ) ) { // Pass the current target to restore focus when closing. this.controller.trigger( 'edit:attachment', this.model, event.currentTarget ); return; } if ( this.controller.isModeActive( 'select' ) ) { method = 'toggle'; } } if ( event.shiftKey ) { method = 'between'; } else if ( event.ctrlKey || event.metaKey ) { method = 'toggle'; } this.toggleSelection({ method: method }); this.controller.trigger( 'selection:toggle' ); }, /** * @param {Object} options */ toggleSelection: function( options ) { var collection = this.collection, selection = this.options.selection, model = this.model, method = options && options.method, single, models, singleIndex, modelIndex; if ( ! selection ) { return; } single = selection.single(); method = _.isUndefined( method ) ? selection.multiple : method; // If the `method` is set to `between`, select all models that // exist between the current and the selected model. if ( 'between' === method && single && selection.multiple ) { // If the models are the same, short-circuit. if ( single === model ) { return; } singleIndex = collection.indexOf( single ); modelIndex = collection.indexOf( this.model ); if ( singleIndex < modelIndex ) { models = collection.models.slice( singleIndex, modelIndex + 1 ); } else { models = collection.models.slice( modelIndex, singleIndex + 1 ); } selection.add( models ); selection.single( model ); return; // If the `method` is set to `toggle`, just flip the selection // status, regardless of whether the model is the single model. } else if ( 'toggle' === method ) { selection[ this.selected() ? 'remove' : 'add' ]( model ); selection.single( model ); return; } else if ( 'add' === method ) { selection.add( model ); selection.single( model ); return; } // Fixes bug that loses focus when selecting a featured image. if ( ! method ) { method = 'add'; } if ( method !== 'add' ) { method = 'reset'; } if ( this.selected() ) { /* * If the model is the single model, remove it. * If it is not the same as the single model, * it now becomes the single model. */ selection[ single === model ? 'remove' : 'single' ]( model ); } else { /* * If the model is not selected, run the `method` on the * selection. By default, we `reset` the selection, but the * `method` can be set to `add` the model to the selection. */ selection[ method ]( model ); selection.single( model ); } }, updateSelect: function() { this[ this.selected() ? 'select' : 'deselect' ](); }, /** * @return {unresolved|boolean} */ selected: function() { var selection = this.options.selection; if ( selection ) { return !! selection.get( this.model.cid ); } }, /** * @param {Backbone.Model} model * @param {Backbone.Collection} collection */ select: function( model, collection ) { var selection = this.options.selection, controller = this.controller; /* * Check if a selection exists and if it's the collection provided. * If they're not the same collection, bail; we're in another * selection's event loop. */ if ( ! selection || ( collection && collection !== selection ) ) { return; } // Bail if the model is already selected. if ( this.$el.hasClass( 'selected' ) ) { return; } // Add 'selected' class to model, set aria-checked to true. this.$el.addClass( 'selected' ).attr( 'aria-checked', true ); // Make the checkbox tabable, except in media grid (bulk select mode). if ( ! ( controller.isModeActive( 'grid' ) && controller.isModeActive( 'select' ) ) ) { this.$( '.check' ).attr( 'tabindex', '0' ); } }, /** * @param {Backbone.Model} model * @param {Backbone.Collection} collection */ deselect: function( model, collection ) { var selection = this.options.selection; /* * Check if a selection exists and if it's the collection provided. * If they're not the same collection, bail; we're in another * selection's event loop. */ if ( ! selection || ( collection && collection !== selection ) ) { return; } this.$el.removeClass( 'selected' ).attr( 'aria-checked', false ) .find( '.check' ).attr( 'tabindex', '-1' ); }, /** * @param {Backbone.Model} model * @param {Backbone.Collection} collection */ details: function( model, collection ) { var selection = this.options.selection, details; if ( selection !== collection ) { return; } details = selection.single(); this.$el.toggleClass( 'details', details === this.model ); }, /** * @param {string} size * @return {Object} */ imageSize: function( size ) { var sizes = this.model.get('sizes'), matched = false; size = size || 'medium'; // Use the provided image size if possible. if ( sizes ) { if ( sizes[ size ] ) { matched = sizes[ size ]; } else if ( sizes.large ) { matched = sizes.large; } else if ( sizes.thumbnail ) { matched = sizes.thumbnail; } else if ( sizes.full ) { matched = sizes.full; } if ( matched ) { return _.clone( matched ); } } return { url: this.model.get('url'), width: this.model.get('width'), height: this.model.get('height'), orientation: this.model.get('orientation') }; }, /** * @param {Object} event */ updateSetting: function( event ) { var $setting = $( event.target ).closest('[data-setting]'), setting, value; if ( ! $setting.length ) { return; } setting = $setting.data('setting'); value = event.target.value; if ( this.model.get( setting ) !== value ) { this.save( setting, value ); } }, /** * Pass all the arguments to the model's save method. * * Records the aggregate status of all save requests and updates the * view's classes accordingly. */ save: function() { var view = this, save = this._save = this._save || { status: 'ready' }, request = this.model.save.apply( this.model, arguments ), requests = save.requests ? $.when( request, save.requests ) : request; // If we're waiting to remove 'Saved.', stop. if ( save.savedTimer ) { clearTimeout( save.savedTimer ); } this.updateSave('waiting'); save.requests = requests; requests.always( function() { // If we've performed another request since this one, bail. if ( save.requests !== requests ) { return; } view.updateSave( requests.state() === 'resolved' ? 'complete' : 'error' ); save.savedTimer = setTimeout( function() { view.updateSave('ready'); delete save.savedTimer; }, 2000 ); }); }, /** * @param {string} status * @return {wp.media.view.Attachment} Returns itself to allow chaining. */ updateSave: function( status ) { var save = this._save = this._save || { status: 'ready' }; if ( status && status !== save.status ) { this.$el.removeClass( 'save-' + save.status ); save.status = status; } this.$el.addClass( 'save-' + save.status ); return this; }, updateAll: function() { var $settings = this.$('[data-setting]'), model = this.model, changed; changed = _.chain( $settings ).map( function( el ) { var $input = $('input, textarea, select, [value]', el ), setting, value; if ( ! $input.length ) { return; } setting = $(el).data('setting'); value = $input.val(); // Record the value if it changed. if ( model.get( setting ) !== value ) { return [ setting, value ]; } }).compact().object().value(); if ( ! _.isEmpty( changed ) ) { model.save( changed ); } }, /** * @param {Object} event */ removeFromLibrary: function( event ) { // Catch enter and space events. if ( 'keydown' === event.type && 13 !== event.keyCode && 32 !== event.keyCode ) { return; } // Stop propagation so the model isn't selected. event.stopPropagation(); this.collection.remove( this.model ); }, /** * Add the model if it isn't in the selection, if it is in the selection, * remove it. * * @param {[type]} event [description] * @return {[type]} [description] */ checkClickHandler: function ( event ) { var selection = this.options.selection; if ( ! selection ) { return; } event.stopPropagation(); if ( selection.where( { id: this.model.get( 'id' ) } ).length ) { selection.remove( this.model ); // Move focus back to the attachment tile (from the check). this.$el.focus(); } else { selection.add( this.model ); } // Trigger an action button update. this.controller.trigger( 'selection:toggle' ); } }); // Ensure settings remain in sync between attachment views. _.each({ caption: '_syncCaption', title: '_syncTitle', artist: '_syncArtist', album: '_syncAlbum' }, function( method, setting ) { /** * @function _syncCaption * @memberOf wp.media.view.Attachment * @instance * * @param {Backbone.Model} model * @param {string} value * @return {wp.media.view.Attachment} Returns itself to allow chaining. */ /** * @function _syncTitle * @memberOf wp.media.view.Attachment * @instance * * @param {Backbone.Model} model * @param {string} value * @return {wp.media.view.Attachment} Returns itself to allow chaining. */ /** * @function _syncArtist * @memberOf wp.media.view.Attachment * @instance * * @param {Backbone.Model} model * @param {string} value * @return {wp.media.view.Attachment} Returns itself to allow chaining. */ /** * @function _syncAlbum * @memberOf wp.media.view.Attachment * @instance * * @param {Backbone.Model} model * @param {string} value * @return {wp.media.view.Attachment} Returns itself to allow chaining. */ Attachment.prototype[ method ] = function( model, value ) { var $setting = this.$('[data-setting="' + setting + '"]'); if ( ! $setting.length ) { return this; } /* * If the updated value is in sync with the value in the DOM, there * is no need to re-render. If we're currently editing the value, * it will automatically be in sync, suppressing the re-render for * the view we're editing, while updating any others. */ if ( value === $setting.find('input, textarea, select, [value]').val() ) { return this; } return this.render(); }; }); module.exports = Attachment; /***/ }), /***/ 7274: /***/ (function(module) { /* global ClipboardJS */ var Attachment = wp.media.view.Attachment, l10n = wp.media.view.l10n, $ = jQuery, Details, __ = wp.i18n.__; Details = Attachment.extend(/** @lends wp.media.view.Attachment.Details.prototype */{ tagName: 'div', className: 'attachment-details', template: wp.template('attachment-details'), /* * Reset all the attributes inherited from Attachment including role=checkbox, * tabindex, etc., as they are inappropriate for this view. See #47458 and [30483] / #30390. */ attributes: {}, events: { 'change [data-setting]': 'updateSetting', 'change [data-setting] input': 'updateSetting', 'change [data-setting] select': 'updateSetting', 'change [data-setting] textarea': 'updateSetting', 'click .delete-attachment': 'deleteAttachment', 'click .trash-attachment': 'trashAttachment', 'click .untrash-attachment': 'untrashAttachment', 'click .edit-attachment': 'editAttachment', 'keydown': 'toggleSelectionHandler' }, /** * Copies the attachment URL to the clipboard. * * @since 5.5.0 * * @param {MouseEvent} event A click event. * * @return {void} */ copyAttachmentDetailsURLClipboard: function() { var clipboard = new ClipboardJS( '.copy-attachment-url' ), successTimeout; clipboard.on( 'success', function( event ) { var triggerElement = $( event.trigger ), successElement = $( '.success', triggerElement.closest( '.copy-to-clipboard-container' ) ); // Clear the selection and move focus back to the trigger. event.clearSelection(); // Handle ClipboardJS focus bug, see https://github.com/zenorocha/clipboard.js/issues/680 triggerElement.trigger( 'focus' ); // Show success visual feedback. clearTimeout( successTimeout ); successElement.removeClass( 'hidden' ); // Hide success visual feedback after 3 seconds since last success. successTimeout = setTimeout( function() { successElement.addClass( 'hidden' ); }, 3000 ); // Handle success audible feedback. wp.a11y.speak( __( 'The file URL has been copied to your clipboard' ) ); } ); }, /** * Shows the details of an attachment. * * @since 3.5.0 * * @constructs wp.media.view.Attachment.Details * @augments wp.media.view.Attachment * * @return {void} */ initialize: function() { this.options = _.defaults( this.options, { rerenderOnModelChange: false }); // Call 'initialize' directly on the parent class. Attachment.prototype.initialize.apply( this, arguments ); this.copyAttachmentDetailsURLClipboard(); }, /** * Gets the focusable elements to move focus to. * * @since 5.3.0 */ getFocusableElements: function() { var editedAttachment = $( 'li[data-id="' + this.model.id + '"]' ); this.previousAttachment = editedAttachment.prev(); this.nextAttachment = editedAttachment.next(); }, /** * Moves focus to the previous or next attachment in the grid. * Fallbacks to the upload button or media frame when there are no attachments. * * @since 5.3.0 */ moveFocus: function() { if ( this.previousAttachment.length ) { this.previousAttachment.trigger( 'focus' ); return; } if ( this.nextAttachment.length ) { this.nextAttachment.trigger( 'focus' ); return; } // Fallback: move focus to the "Select Files" button in the media modal. if ( this.controller.uploader && this.controller.uploader.$browser ) { this.controller.uploader.$browser.trigger( 'focus' ); return; } // Last fallback. this.moveFocusToLastFallback(); }, /** * Moves focus to the media frame as last fallback. * * @since 5.3.0 */ moveFocusToLastFallback: function() { // Last fallback: make the frame focusable and move focus to it. $( '.media-frame' ) .attr( 'tabindex', '-1' ) .trigger( 'focus' ); }, /** * Deletes an attachment. * * Deletes an attachment after asking for confirmation. After deletion, * keeps focus in the modal. * * @since 3.5.0 * * @param {MouseEvent} event A click event. * * @return {void} */ deleteAttachment: function( event ) { event.preventDefault(); this.getFocusableElements(); if ( window.confirm( l10n.warnDelete ) ) { this.model.destroy( { wait: true, error: function() { window.alert( l10n.errorDeleting ); } } ); this.moveFocus(); } }, /** * Sets the Trash state on an attachment, or destroys the model itself. * * If the mediaTrash setting is set to true, trashes the attachment. * Otherwise, the model itself is destroyed. * * @since 3.9.0 * * @param {MouseEvent} event A click event. * * @return {void} */ trashAttachment: function( event ) { var library = this.controller.library, self = this; event.preventDefault(); this.getFocusableElements(); // When in the Media Library and the Media Trash is enabled. if ( wp.media.view.settings.mediaTrash && 'edit-metadata' === this.controller.content.mode() ) { this.model.set( 'status', 'trash' ); this.model.save().done( function() { library._requery( true ); /* * @todo We need to move focus back to the previous, next, or first * attachment but the library gets re-queried and refreshed. * Thus, the references to the previous attachments are lost. * We need an alternate method. */ self.moveFocusToLastFallback(); } ); } else { this.model.destroy(); this.moveFocus(); } }, /** * Untrashes an attachment. * * @since 4.0.0 * * @param {MouseEvent} event A click event. * * @return {void} */ untrashAttachment: function( event ) { var library = this.controller.library; event.preventDefault(); this.model.set( 'status', 'inherit' ); this.model.save().done( function() { library._requery( true ); } ); }, /** * Opens the edit page for a specific attachment. * * @since 3.5.0 * * @param {MouseEvent} event A click event. * * @return {void} */ editAttachment: function( event ) { var editState = this.controller.states.get( 'edit-image' ); if ( window.imageEdit && editState ) { event.preventDefault(); editState.set( 'image', this.model ); this.controller.setState( 'edit-image' ); } else { this.$el.addClass('needs-refresh'); } }, /** * Triggers an event on the controller when reverse tabbing (shift+tab). * * This event can be used to make sure to move the focus correctly. * * @since 4.0.0 * * @fires wp.media.controller.MediaLibrary#attachment:details:shift-tab * @fires wp.media.controller.MediaLibrary#attachment:keydown:arrow * * @param {KeyboardEvent} event A keyboard event. * * @return {boolean|void} Returns false or undefined. */ toggleSelectionHandler: function( event ) { if ( 'keydown' === event.type && 9 === event.keyCode && event.shiftKey && event.target === this.$( ':tabbable' ).get( 0 ) ) { this.controller.trigger( 'attachment:details:shift-tab', event ); return false; } }, render: function() { Attachment.prototype.render.apply( this, arguments ); wp.media.mixin.removeAllPlayers(); this.$( 'audio, video' ).each( function (i, elem) { var el = wp.media.view.MediaDetails.prepareSrc( elem ); new window.MediaElementPlayer( el, wp.media.mixin.mejsSettings ); } ); } }); module.exports = Details; /***/ }), /***/ 4640: /***/ (function(module) { /** * wp.media.view.Attachment.EditLibrary * * @memberOf wp.media.view.Attachment * * @class * @augments wp.media.view.Attachment * @augments wp.media.View * @augments wp.Backbone.View * @augments Backbone.View */ var EditLibrary = wp.media.view.Attachment.extend(/** @lends wp.media.view.Attachment.EditLibrary.prototype */{ buttons: { close: true } }); module.exports = EditLibrary; /***/ }), /***/ 1009: /***/ (function(module) { /** * wp.media.view.Attachment.EditSelection * * @memberOf wp.media.view.Attachment * * @class * @augments wp.media.view.Attachment.Selection * @augments wp.media.view.Attachment * @augments wp.media.View * @augments wp.Backbone.View * @augments Backbone.View */ var EditSelection = wp.media.view.Attachment.Selection.extend(/** @lends wp.media.view.Attachment.EditSelection.prototype */{ buttons: { close: true } }); module.exports = EditSelection; /***/ }), /***/ 9254: /***/ (function(module) { /** * wp.media.view.Attachment.Library * * @memberOf wp.media.view.Attachment * * @class * @augments wp.media.view.Attachment * @augments wp.media.View * @augments wp.Backbone.View * @augments Backbone.View */ var Library = wp.media.view.Attachment.extend(/** @lends wp.media.view.Attachment.Library.prototype */{ buttons: { check: true } }); module.exports = Library; /***/ }), /***/ 9003: /***/ (function(module) { /** * wp.media.view.Attachment.Selection * * @memberOf wp.media.view.Attachment * * @class * @augments wp.media.view.Attachment * @augments wp.media.View * @augments wp.Backbone.View * @augments Backbone.View */ var Selection = wp.media.view.Attachment.extend(/** @lends wp.media.view.Attachment.Selection.prototype */{ className: 'attachment selection', // On click, just select the model, instead of removing the model from // the selection. toggleSelection: function() { this.options.selection.single( this.model ); } }); module.exports = Selection; /***/ }), /***/ 8408: /***/ (function(module) { var View = wp.media.View, $ = jQuery, Attachments, infiniteScrolling = wp.media.view.settings.infiniteScrolling; Attachments = View.extend(/** @lends wp.media.view.Attachments.prototype */{ tagName: 'ul', className: 'attachments', attributes: { tabIndex: -1 }, /** * Represents the overview of attachments in the Media Library. * * The constructor binds events to the collection this view represents when * adding or removing attachments or resetting the entire collection. * * @since 3.5.0 * * @constructs * @memberof wp.media.view * * @augments wp.media.View * * @listens collection:add * @listens collection:remove * @listens collection:reset * @listens controller:library:selection:add * @listens scrollElement:scroll * @listens this:ready * @listens controller:open */ initialize: function() { this.el.id = _.uniqueId('__attachments-view-'); /** * @since 5.8.0 Added the `infiniteScrolling` parameter. * * @param infiniteScrolling Whether to enable infinite scrolling or use * the default "load more" button. * @param refreshSensitivity The time in milliseconds to throttle the scroll * handler. * @param refreshThreshold The amount of pixels that should be scrolled before * loading more attachments from the server. * @param AttachmentView The view class to be used for models in the * collection. * @param sortable A jQuery sortable options object * ( http://api.jqueryui.com/sortable/ ). * @param resize A boolean indicating whether or not to listen to * resize events. * @param idealColumnWidth The width in pixels which a column should have when * calculating the total number of columns. */ _.defaults( this.options, { infiniteScrolling: infiniteScrolling || false, refreshSensitivity: wp.media.isTouchDevice ? 300 : 200, refreshThreshold: 3, AttachmentView: wp.media.view.Attachment, sortable: false, resize: true, idealColumnWidth: $( window ).width() < 640 ? 135 : 150 }); this._viewsByCid = {}; this.$window = $( window ); this.resizeEvent = 'resize.media-modal-columns'; this.collection.on( 'add', function( attachment ) { this.views.add( this.createAttachmentView( attachment ), { at: this.collection.indexOf( attachment ) }); }, this ); /* * Find the view to be removed, delete it and call the remove function to clear * any set event handlers. */ this.collection.on( 'remove', function( attachment ) { var view = this._viewsByCid[ attachment.cid ]; delete this._viewsByCid[ attachment.cid ]; if ( view ) { view.remove(); } }, this ); this.collection.on( 'reset', this.render, this ); this.controller.on( 'library:selection:add', this.attachmentFocus, this ); if ( this.options.infiniteScrolling ) { // Throttle the scroll handler and bind this. this.scroll = _.chain( this.scroll ).bind( this ).throttle( this.options.refreshSensitivity ).value(); this.options.scrollElement = this.options.scrollElement || this.el; $( this.options.scrollElement ).on( 'scroll', this.scroll ); } this.initSortable(); _.bindAll( this, 'setColumns' ); if ( this.options.resize ) { this.on( 'ready', this.bindEvents ); this.controller.on( 'open', this.setColumns ); /* * Call this.setColumns() after this view has been rendered in the * DOM so attachments get proper width applied. */ _.defer( this.setColumns, this ); } }, /** * Listens to the resizeEvent on the window. * * Adjusts the amount of columns accordingly. First removes any existing event * handlers to prevent duplicate listeners. * * @since 4.0.0 * * @listens window:resize * * @return {void} */ bindEvents: function() { this.$window.off( this.resizeEvent ).on( this.resizeEvent, _.debounce( this.setColumns, 50 ) ); }, /** * Focuses the first item in the collection. * * @since 4.0.0 * * @return {void} */ attachmentFocus: function() { /* * @todo When uploading new attachments, this tries to move focus to * the attachments grid. Actually, a progress bar gets initially displayed * and then updated when uploading completes, so focus is lost. * Additionally: this view is used for both the attachments list and * the list of selected attachments in the bottom media toolbar. Thus, when * uploading attachments, it is called twice and returns two different `this`. * `this.columns` is truthy within the modal. */ if ( this.columns ) { // Move focus to the grid list within the modal. this.$el.focus(); } }, /** * Restores focus to the selected item in the collection. * * Moves focus back to the first selected attachment in the grid. Used when * tabbing backwards from the attachment details sidebar. * See media.view.AttachmentsBrowser. * * @since 4.0.0 * * @return {void} */ restoreFocus: function() { this.$( 'li.selected:first' ).focus(); }, /** * Handles events for arrow key presses. * * Focuses the attachment in the direction of the used arrow key if it exists. * * @since 4.0.0 * * @param {KeyboardEvent} event The keyboard event that triggered this function. * * @return {void} */ arrowEvent: function( event ) { var attachments = this.$el.children( 'li' ), perRow = this.columns, index = attachments.filter( ':focus' ).index(), row = ( index + 1 ) <= perRow ? 1 : Math.ceil( ( index + 1 ) / perRow ); if ( index === -1 ) { return; } // Left arrow = 37. if ( 37 === event.keyCode ) { if ( 0 === index ) { return; } attachments.eq( index - 1 ).focus(); } // Up arrow = 38. if ( 38 === event.keyCode ) { if ( 1 === row ) { return; } attachments.eq( index - perRow ).focus(); } // Right arrow = 39. if ( 39 === event.keyCode ) { if ( attachments.length === index ) { return; } attachments.eq( index + 1 ).focus(); } // Down arrow = 40. if ( 40 === event.keyCode ) { if ( Math.ceil( attachments.length / perRow ) === row ) { return; } attachments.eq( index + perRow ).focus(); } }, /** * Clears any set event handlers. * * @since 3.5.0 * * @return {void} */ dispose: function() { this.collection.props.off( null, null, this ); if ( this.options.resize ) { this.$window.off( this.resizeEvent ); } // Call 'dispose' directly on the parent class. View.prototype.dispose.apply( this, arguments ); }, /** * Calculates the amount of columns. * * Calculates the amount of columns and sets it on the data-columns attribute * of .media-frame-content. * * @since 4.0.0 * * @return {void} */ setColumns: function() { var prev = this.columns, width = this.$el.width(); if ( width ) { this.columns = Math.min( Math.round( width / this.options.idealColumnWidth ), 12 ) || 1; if ( ! prev || prev !== this.columns ) { this.$el.closest( '.media-frame-content' ).attr( 'data-columns', this.columns ); } } }, /** * Initializes jQuery sortable on the attachment list. * * Fails gracefully if jQuery sortable doesn't exist or isn't passed * in the options. * * @since 3.5.0 * * @fires collection:reset * * @return {void} */ initSortable: function() { var collection = this.collection; if ( ! this.options.sortable || ! $.fn.sortable ) { return; } this.$el.sortable( _.extend({ // If the `collection` has a `comparator`, disable sorting. disabled: !! collection.comparator, /* * Change the position of the attachment as soon as the mouse pointer * overlaps a thumbnail. */ tolerance: 'pointer', // Record the initial `index` of the dragged model. start: function( event, ui ) { ui.item.data('sortableIndexStart', ui.item.index()); }, /* * Update the model's index in the collection. Do so silently, as the view * is already accurate. */ update: function( event, ui ) { var model = collection.at( ui.item.data('sortableIndexStart') ), comparator = collection.comparator; // Temporarily disable the comparator to prevent `add` // from re-sorting. delete collection.comparator; // Silently shift the model to its new index. collection.remove( model, { silent: true }); collection.add( model, { silent: true, at: ui.item.index() }); // Restore the comparator. collection.comparator = comparator; // Fire the `reset` event to ensure other collections sync. collection.trigger( 'reset', collection ); // If the collection is sorted by menu order, update the menu order. collection.saveMenuOrder(); } }, this.options.sortable ) ); /* * If the `orderby` property is changed on the `collection`, * check to see if we have a `comparator`. If so, disable sorting. */ collection.props.on( 'change:orderby', function() { this.$el.sortable( 'option', 'disabled', !! collection.comparator ); }, this ); this.collection.props.on( 'change:orderby', this.refreshSortable, this ); this.refreshSortable(); }, /** * Disables jQuery sortable if collection has a comparator or collection.orderby * equals menuOrder. * * @since 3.5.0 * * @return {void} */ refreshSortable: function() { if ( ! this.options.sortable || ! $.fn.sortable ) { return; } var collection = this.collection, orderby = collection.props.get('orderby'), enabled = 'menuOrder' === orderby || ! collection.comparator; this.$el.sortable( 'option', 'disabled', ! enabled ); }, /** * Creates a new view for an attachment and adds it to _viewsByCid. * * @since 3.5.0 * * @param {wp.media.model.Attachment} attachment * * @return {wp.media.View} The created view. */ createAttachmentView: function( attachment ) { var view = new this.options.AttachmentView({ controller: this.controller, model: attachment, collection: this.collection, selection: this.options.selection }); return this._viewsByCid[ attachment.cid ] = view; }, /** * Prepares view for display. * * Creates views for every attachment in collection if the collection is not * empty, otherwise clears all views and loads more attachments. * * @since 3.5.0 * * @return {void} */ prepare: function() { if ( this.collection.length ) { this.views.set( this.collection.map( this.createAttachmentView, this ) ); } else { this.views.unset(); if ( this.options.infiniteScrolling ) { this.collection.more().done( this.scroll ); } } }, /** * Triggers the scroll function to check if we should query for additional * attachments right away. * * @since 3.5.0 * * @return {void} */ ready: function() { if ( this.options.infiniteScrolling ) { this.scroll(); } }, /** * Handles scroll events. * * Shows the spinner if we're close to the bottom. Loads more attachments from * server if we're {refreshThreshold} times away from the bottom. * * @since 3.5.0 * * @return {void} */ scroll: function() { var view = this, el = this.options.scrollElement, scrollTop = el.scrollTop, toolbar; /* * The scroll event occurs on the document, but the element that should be * checked is the document body. */ if ( el === document ) { el = document.body; scrollTop = $(document).scrollTop(); } if ( ! $(el).is(':visible') || ! this.collection.hasMore() ) { return; } toolbar = this.views.parent.toolbar; // Show the spinner only if we are close to the bottom. if ( el.scrollHeight - ( scrollTop + el.clientHeight ) < el.clientHeight / 3 ) { toolbar.get('spinner').show(); } if ( el.scrollHeight < scrollTop + ( el.clientHeight * this.options.refreshThreshold ) ) { this.collection.more().done(function() { view.scroll(); toolbar.get('spinner').hide(); }); } } }); module.exports = Attachments; /***/ }), /***/ 9239: /***/ (function(module) { var View = wp.media.View, mediaTrash = wp.media.view.settings.mediaTrash, l10n = wp.media.view.l10n, $ = jQuery, AttachmentsBrowser, infiniteScrolling = wp.media.view.settings.infiniteScrolling, __ = wp.i18n.__, sprintf = wp.i18n.sprintf; /** * wp.media.view.AttachmentsBrowser * * @memberOf wp.media.view * * @class * @augments wp.media.View * @augments wp.Backbone.View * @augments Backbone.View * * @param {object} [options] The options hash passed to the view. * @param {boolean|string} [options.filters=false] Which filters to show in the browser's toolbar. * Accepts 'uploaded' and 'all'. * @param {boolean} [options.search=true] Whether to show the search interface in the * browser's toolbar. * @param {boolean} [options.date=true] Whether to show the date filter in the * browser's toolbar. * @param {boolean} [options.display=false] Whether to show the attachments display settings * view in the sidebar. * @param {boolean|string} [options.sidebar=true] Whether to create a sidebar for the browser. * Accepts true, false, and 'errors'. */ AttachmentsBrowser = View.extend(/** @lends wp.media.view.AttachmentsBrowser.prototype */{ tagName: 'div', className: 'attachments-browser', initialize: function() { _.defaults( this.options, { filters: false, search: true, date: true, display: false, sidebar: true, AttachmentView: wp.media.view.Attachment.Library }); this.controller.on( 'toggle:upload:attachment', this.toggleUploader, this ); this.controller.on( 'edit:selection', this.editSelection ); // In the Media Library, the sidebar is used to display errors before the attachments grid. if ( this.options.sidebar && 'errors' === this.options.sidebar ) { this.createSidebar(); } /* * In the grid mode (the Media Library), place the Inline Uploader before * other sections so that the visual order and the DOM order match. This way, * the Inline Uploader in the Media Library is right after the "Add New" * button, see ticket #37188. */ if ( this.controller.isModeActive( 'grid' ) ) { this.createUploader(); /* * Create a multi-purpose toolbar. Used as main toolbar in the Media Library * and also for other things, for example the "Drag and drop to reorder" and * "Suggested dimensions" info in the media modal. */ this.createToolbar(); } else { this.createToolbar(); this.createUploader(); } // Add a heading before the attachments list. this.createAttachmentsHeading(); // Create the attachments wrapper view. this.createAttachmentsWrapperView(); if ( ! infiniteScrolling ) { this.$el.addClass( 'has-load-more' ); this.createLoadMoreView(); } // For accessibility reasons, place the normal sidebar after the attachments, see ticket #36909. if ( this.options.sidebar && 'errors' !== this.options.sidebar ) { this.createSidebar(); } this.updateContent(); if ( ! infiniteScrolling ) { this.updateLoadMoreView(); } if ( ! this.options.sidebar || 'errors' === this.options.sidebar ) { this.$el.addClass( 'hide-sidebar' ); if ( 'errors' === this.options.sidebar ) { this.$el.addClass( 'sidebar-for-errors' ); } } this.collection.on( 'add remove reset', this.updateContent, this ); if ( ! infiniteScrolling ) { this.collection.on( 'add remove reset', this.updateLoadMoreView, this ); } // The non-cached or cached attachments query has completed. this.collection.on( 'attachments:received', this.announceSearchResults, this ); }, /** * Updates the `wp.a11y.speak()` ARIA live region with a message to communicate * the number of search results to screen reader users. This function is * debounced because the collection updates multiple times. * * @since 5.3.0 * * @return {void} */ announceSearchResults: _.debounce( function() { var count, /* translators: Accessibility text. %d: Number of attachments found in a search. */ mediaFoundHasMoreResultsMessage = __( 'Number of media items displayed: %d. Click load more for more results.' ); if ( infiniteScrolling ) { /* translators: Accessibility text. %d: Number of attachments found in a search. */ mediaFoundHasMoreResultsMessage = __( 'Number of media items displayed: %d. Scroll the page for more results.' ); } if ( this.collection.mirroring && this.collection.mirroring.args.s ) { count = this.collection.length; if ( 0 === count ) { wp.a11y.speak( l10n.noMediaTryNewSearch ); return; } if ( this.collection.hasMore() ) { wp.a11y.speak( mediaFoundHasMoreResultsMessage.replace( '%d', count ) ); return; } wp.a11y.speak( l10n.mediaFound.replace( '%d', count ) ); } }, 200 ), editSelection: function( modal ) { // When editing a selection, move focus to the "Go to library" button. modal.$( '.media-button-backToLibrary' ).focus(); }, /** * @return {wp.media.view.AttachmentsBrowser} Returns itself to allow chaining. */ dispose: function() { this.options.selection.off( null, null, this ); View.prototype.dispose.apply( this, arguments ); return this; }, createToolbar: function() { var LibraryViewSwitcher, Filters, toolbarOptions, showFilterByType = -1 !== $.inArray( this.options.filters, [ 'uploaded', 'all' ] ); toolbarOptions = { controller: this.controller }; if ( this.controller.isModeActive( 'grid' ) ) { toolbarOptions.className = 'media-toolbar wp-filter'; } /** * @member {wp.media.view.Toolbar} */ this.toolbar = new wp.media.view.Toolbar( toolbarOptions ); this.views.add( this.toolbar ); this.toolbar.set( 'spinner', new wp.media.view.Spinner({ priority: -20 }) ); if ( showFilterByType || this.options.date ) { /* * Create a h2 heading before the select elements that filter attachments. * This heading is visible in the modal and visually hidden in the grid. */ this.toolbar.set( 'filters-heading', new wp.media.view.Heading( { priority: -100, text: l10n.filterAttachments, level: 'h2', className: 'media-attachments-filter-heading' }).render() ); } if ( showFilterByType ) { // "Filters" is a , a visually hidden label element needs to be rendered before. this.toolbar.set( 'dateFilterLabel', new wp.media.view.Label({ value: l10n.filterByDate, attributes: { 'for': 'media-attachment-date-filters' }, priority: -75 }).render() ); this.toolbar.set( 'dateFilter', new wp.media.view.DateFilter({ controller: this.controller, model: this.collection.props, priority: -75 }).render() ); // BulkSelection is a
        with subviews, including screen reader text. this.toolbar.set( 'selectModeToggleButton', new wp.media.view.SelectModeToggleButton({ text: l10n.bulkSelect, controller: this.controller, priority: -70 }).render() ); this.toolbar.set( 'deleteSelectedButton', new wp.media.view.DeleteSelectedButton({ filters: Filters, style: 'primary', disabled: true, text: mediaTrash ? l10n.trashSelected : l10n.deletePermanently, controller: this.controller, priority: -80, click: function() { var changed = [], removed = [], selection = this.controller.state().get( 'selection' ), library = this.controller.state().get( 'library' ); if ( ! selection.length ) { return; } if ( ! mediaTrash && ! window.confirm( l10n.warnBulkDelete ) ) { return; } if ( mediaTrash && 'trash' !== selection.at( 0 ).get( 'status' ) && ! window.confirm( l10n.warnBulkTrash ) ) { return; } selection.each( function( model ) { if ( ! model.get( 'nonces' )['delete'] ) { removed.push( model ); return; } if ( mediaTrash && 'trash' === model.get( 'status' ) ) { model.set( 'status', 'inherit' ); changed.push( model.save() ); removed.push( model ); } else if ( mediaTrash ) { model.set( 'status', 'trash' ); changed.push( model.save() ); removed.push( model ); } else { model.destroy({wait: true}); } } ); if ( changed.length ) { selection.remove( removed ); $.when.apply( null, changed ).then( _.bind( function() { library._requery( true ); this.controller.trigger( 'selection:action:done' ); }, this ) ); } else { this.controller.trigger( 'selection:action:done' ); } } }).render() ); if ( mediaTrash ) { this.toolbar.set( 'deleteSelectedPermanentlyButton', new wp.media.view.DeleteSelectedPermanentlyButton({ filters: Filters, style: 'link button-link-delete', disabled: true, text: l10n.deletePermanently, controller: this.controller, priority: -55, click: function() { var removed = [], destroy = [], selection = this.controller.state().get( 'selection' ); if ( ! selection.length || ! window.confirm( l10n.warnBulkDelete ) ) { return; } selection.each( function( model ) { if ( ! model.get( 'nonces' )['delete'] ) { removed.push( model ); return; } destroy.push( model ); } ); if ( removed.length ) { selection.remove( removed ); } if ( destroy.length ) { $.when.apply( null, destroy.map( function (item) { return item.destroy(); } ) ).then( _.bind( function() { this.controller.trigger( 'selection:action:done' ); }, this ) ); } } }).render() ); } } else if ( this.options.date ) { // DateFilter is a ' ) .attr( 'aria-label', l10n.insertFromUrlTitle ) .val( this.model.get('url') ); this.input = this.$input[0]; this.spinner = $('')[0]; this.$el.append([ this.input, this.spinner ]); this.listenTo( this.model, 'change:url', this.render ); if ( this.model.get( 'url' ) ) { _.delay( _.bind( function () { this.model.trigger( 'change:url' ); }, this ), 500 ); } }, /** * @return {wp.media.view.EmbedUrl} Returns itself to allow chaining. */ render: function() { var $input = this.$input; if ( $input.is(':focus') ) { return; } if ( this.model.get( 'url' ) ) { this.input.value = this.model.get('url'); } else { this.input.setAttribute( 'placeholder', 'https://' ); } /** * Call `render` directly on parent class with passed arguments */ View.prototype.render.apply( this, arguments ); return this; }, url: function( event ) { var url = event.target.value || ''; this.model.set( 'url', url.trim() ); } }); module.exports = EmbedUrl; /***/ }), /***/ 6557: /***/ (function(module) { var $ = jQuery; /** * wp.media.view.FocusManager * * @memberOf wp.media.view * * @class * @augments wp.media.View * @augments wp.Backbone.View * @augments Backbone.View */ var FocusManager = wp.media.View.extend(/** @lends wp.media.view.FocusManager.prototype */{ events: { 'keydown': 'focusManagementMode' }, /** * Initializes the Focus Manager. * * @param {Object} options The Focus Manager options. * * @since 5.3.0 * * @return {void} */ initialize: function( options ) { this.mode = options.mode || 'constrainTabbing'; this.tabsAutomaticActivation = options.tabsAutomaticActivation || false; }, /** * Determines which focus management mode to use. * * @since 5.3.0 * * @param {Object} event jQuery event object. * * @return {void} */ focusManagementMode: function( event ) { if ( this.mode === 'constrainTabbing' ) { this.constrainTabbing( event ); } if ( this.mode === 'tabsNavigation' ) { this.tabsNavigation( event ); } }, /** * Gets all the tabbable elements. * * @since 5.3.0 * * @return {Object} A jQuery collection of tabbable elements. */ getTabbables: function() { // Skip the file input added by Plupload. return this.$( ':tabbable' ).not( '.moxie-shim input[type="file"]' ); }, /** * Moves focus to the modal dialog. * * @since 3.5.0 * * @return {void} */ focus: function() { this.$( '.media-modal' ).trigger( 'focus' ); }, /** * Constrains navigation with the Tab key within the media view element. * * @since 4.0.0 * * @param {Object} event A keydown jQuery event. * * @return {void} */ constrainTabbing: function( event ) { var tabbables; // Look for the tab key. if ( 9 !== event.keyCode ) { return; } tabbables = this.getTabbables(); // Keep tab focus within media modal while it's open. if ( tabbables.last()[0] === event.target && ! event.shiftKey ) { tabbables.first().focus(); return false; } else if ( tabbables.first()[0] === event.target && event.shiftKey ) { tabbables.last().focus(); return false; } }, /** * Hides from assistive technologies all the body children. * * Sets an `aria-hidden="true"` attribute on all the body children except * the provided element and other elements that should not be hidden. * * The reason why we use `aria-hidden` is that `aria-modal="true"` is buggy * in Safari 11.1 and support is spotty in other browsers. Also, `aria-modal="true"` * prevents the `wp.a11y.speak()` ARIA live regions to work as they're outside * of the modal dialog and get hidden from assistive technologies. * * @since 5.2.3 * * @param {Object} visibleElement The jQuery object representing the element that should not be hidden. * * @return {void} */ setAriaHiddenOnBodyChildren: function( visibleElement ) { var bodyChildren, self = this; if ( this.isBodyAriaHidden ) { return; } // Get all the body children. bodyChildren = document.body.children; // Loop through the body children and hide the ones that should be hidden. _.each( bodyChildren, function( element ) { // Don't hide the modal element. if ( element === visibleElement[0] ) { return; } // Determine the body children to hide. if ( self.elementShouldBeHidden( element ) ) { element.setAttribute( 'aria-hidden', 'true' ); // Store the hidden elements. self.ariaHiddenElements.push( element ); } } ); this.isBodyAriaHidden = true; }, /** * Unhides from assistive technologies all the body children. * * Makes visible again to assistive technologies all the body children * previously hidden and stored in this.ariaHiddenElements. * * @since 5.2.3 * * @return {void} */ removeAriaHiddenFromBodyChildren: function() { _.each( this.ariaHiddenElements, function( element ) { element.removeAttribute( 'aria-hidden' ); } ); this.ariaHiddenElements = []; this.isBodyAriaHidden = false; }, /** * Determines if the passed element should not be hidden from assistive technologies. * * @since 5.2.3 * * @param {Object} element The DOM element that should be checked. * * @return {boolean} Whether the element should not be hidden from assistive technologies. */ elementShouldBeHidden: function( element ) { var role = element.getAttribute( 'role' ), liveRegionsRoles = [ 'alert', 'status', 'log', 'marquee', 'timer' ]; /* * Don't hide scripts, elements that already have `aria-hidden`, and * ARIA live regions. */ return ! ( element.tagName === 'SCRIPT' || element.hasAttribute( 'aria-hidden' ) || element.hasAttribute( 'aria-live' ) || liveRegionsRoles.indexOf( role ) !== -1 ); }, /** * Whether the body children are hidden from assistive technologies. * * @since 5.2.3 */ isBodyAriaHidden: false, /** * Stores an array of DOM elements that should be hidden from assistive * technologies, for example when the media modal dialog opens. * * @since 5.2.3 */ ariaHiddenElements: [], /** * Holds the jQuery collection of ARIA tabs. * * @since 5.3.0 */ tabs: $(), /** * Sets up tabs in an ARIA tabbed interface. * * @since 5.3.0 * * @param {Object} event jQuery event object. * * @return {void} */ setupAriaTabs: function() { this.tabs = this.$( '[role="tab"]' ); // Set up initial attributes. this.tabs.attr( { 'aria-selected': 'false', tabIndex: '-1' } ); // Set up attributes on the initially active tab. this.tabs.filter( '.active' ) .removeAttr( 'tabindex' ) .attr( 'aria-selected', 'true' ); }, /** * Enables arrows navigation within the ARIA tabbed interface. * * @since 5.3.0 * * @param {Object} event jQuery event object. * * @return {void} */ tabsNavigation: function( event ) { var orientation = 'horizontal', keys = [ 32, 35, 36, 37, 38, 39, 40 ]; // Return if not Spacebar, End, Home, or Arrow keys. if ( keys.indexOf( event.which ) === -1 ) { return; } // Determine navigation direction. if ( this.$el.attr( 'aria-orientation' ) === 'vertical' ) { orientation = 'vertical'; } // Make Up and Down arrow keys do nothing with horizontal tabs. if ( orientation === 'horizontal' && [ 38, 40 ].indexOf( event.which ) !== -1 ) { return; } // Make Left and Right arrow keys do nothing with vertical tabs. if ( orientation === 'vertical' && [ 37, 39 ].indexOf( event.which ) !== -1 ) { return; } this.switchTabs( event, this.tabs ); }, /** * Switches tabs in the ARIA tabbed interface. * * @since 5.3.0 * * @param {Object} event jQuery event object. * * @return {void} */ switchTabs: function( event ) { var key = event.which, index = this.tabs.index( $( event.target ) ), newIndex; switch ( key ) { // Space bar: Activate current targeted tab. case 32: { this.activateTab( this.tabs[ index ] ); break; } // End key: Activate last tab. case 35: { event.preventDefault(); this.activateTab( this.tabs[ this.tabs.length - 1 ] ); break; } // Home key: Activate first tab. case 36: { event.preventDefault(); this.activateTab( this.tabs[ 0 ] ); break; } // Left and up keys: Activate previous tab. case 37: case 38: { event.preventDefault(); newIndex = ( index - 1 ) < 0 ? this.tabs.length - 1 : index - 1; this.activateTab( this.tabs[ newIndex ] ); break; } // Right and down keys: Activate next tab. case 39: case 40: { event.preventDefault(); newIndex = ( index + 1 ) === this.tabs.length ? 0 : index + 1; this.activateTab( this.tabs[ newIndex ] ); break; } } }, /** * Sets a single tab to be focusable and semantically selected. * * @since 5.3.0 * * @param {Object} tab The tab DOM element. * * @return {void} */ activateTab: function( tab ) { if ( ! tab ) { return; } // The tab is a DOM element: no need for jQuery methods. tab.focus(); // Handle automatic activation. if ( this.tabsAutomaticActivation ) { tab.removeAttribute( 'tabindex' ); tab.setAttribute( 'aria-selected', 'true' ); tab.click(); return; } // Handle manual activation. $( tab ).on( 'click', function() { tab.removeAttribute( 'tabindex' ); tab.setAttribute( 'aria-selected', 'true' ); } ); } }); module.exports = FocusManager; /***/ }), /***/ 3647: /***/ (function(module) { /** * wp.media.view.Frame * * A frame is a composite view consisting of one or more regions and one or more * states. * * @memberOf wp.media.view * * @see wp.media.controller.State * @see wp.media.controller.Region * * @class * @augments wp.media.View * @augments wp.Backbone.View * @augments Backbone.View * @mixes wp.media.controller.StateMachine */ var Frame = wp.media.View.extend(/** @lends wp.media.view.Frame.prototype */{ initialize: function() { _.defaults( this.options, { mode: [ 'select' ] }); this._createRegions(); this._createStates(); this._createModes(); }, _createRegions: function() { // Clone the regions array. this.regions = this.regions ? this.regions.slice() : []; // Initialize regions. _.each( this.regions, function( region ) { this[ region ] = new wp.media.controller.Region({ view: this, id: region, selector: '.media-frame-' + region }); }, this ); }, /** * Create the frame's states. * * @see wp.media.controller.State * @see wp.media.controller.StateMachine * * @fires wp.media.controller.State#ready */ _createStates: function() { // Create the default `states` collection. this.states = new Backbone.Collection( null, { model: wp.media.controller.State }); // Ensure states have a reference to the frame. this.states.on( 'add', function( model ) { model.frame = this; model.trigger('ready'); }, this ); if ( this.options.states ) { this.states.add( this.options.states ); } }, /** * A frame can be in a mode or multiple modes at one time. * * For example, the manage media frame can be in the `Bulk Select` or `Edit` mode. */ _createModes: function() { // Store active "modes" that the frame is in. Unrelated to region modes. this.activeModes = new Backbone.Collection(); this.activeModes.on( 'add remove reset', _.bind( this.triggerModeEvents, this ) ); _.each( this.options.mode, function( mode ) { this.activateMode( mode ); }, this ); }, /** * Reset all states on the frame to their defaults. * * @return {wp.media.view.Frame} Returns itself to allow chaining. */ reset: function() { this.states.invoke( 'trigger', 'reset' ); return this; }, /** * Map activeMode collection events to the frame. */ triggerModeEvents: function( model, collection, options ) { var collectionEvent, modeEventMap = { add: 'activate', remove: 'deactivate' }, eventToTrigger; // Probably a better way to do this. _.each( options, function( value, key ) { if ( value ) { collectionEvent = key; } } ); if ( ! _.has( modeEventMap, collectionEvent ) ) { return; } eventToTrigger = model.get('id') + ':' + modeEventMap[collectionEvent]; this.trigger( eventToTrigger ); }, /** * Activate a mode on the frame. * * @param string mode Mode ID. * @return {this} Returns itself to allow chaining. */ activateMode: function( mode ) { // Bail if the mode is already active. if ( this.isModeActive( mode ) ) { return; } this.activeModes.add( [ { id: mode } ] ); // Add a CSS class to the frame so elements can be styled for the mode. this.$el.addClass( 'mode-' + mode ); return this; }, /** * Deactivate a mode on the frame. * * @param string mode Mode ID. * @return {this} Returns itself to allow chaining. */ deactivateMode: function( mode ) { // Bail if the mode isn't active. if ( ! this.isModeActive( mode ) ) { return this; } this.activeModes.remove( this.activeModes.where( { id: mode } ) ); this.$el.removeClass( 'mode-' + mode ); /** * Frame mode deactivation event. * * @event wp.media.view.Frame#{mode}:deactivate */ this.trigger( mode + ':deactivate' ); return this; }, /** * Check if a mode is enabled on the frame. * * @param string mode Mode ID. * @return bool */ isModeActive: function( mode ) { return Boolean( this.activeModes.where( { id: mode } ).length ); } }); // Make the `Frame` a `StateMachine`. _.extend( Frame.prototype, wp.media.controller.StateMachine.prototype ); module.exports = Frame; /***/ }), /***/ 9142: /***/ (function(module) { var Select = wp.media.view.MediaFrame.Select, l10n = wp.media.view.l10n, ImageDetails; /** * wp.media.view.MediaFrame.ImageDetails * * A media frame for manipulating an image that's already been inserted * into a post. * * @memberOf wp.media.view.MediaFrame * * @class * @augments wp.media.view.MediaFrame.Select * @augments wp.media.view.MediaFrame * @augments wp.media.view.Frame * @augments wp.media.View * @augments wp.Backbone.View * @augments Backbone.View * @mixes wp.media.controller.StateMachine */ ImageDetails = Select.extend(/** @lends wp.media.view.MediaFrame.ImageDetails.prototype */{ defaults: { id: 'image', url: '', menu: 'image-details', content: 'image-details', toolbar: 'image-details', type: 'link', title: l10n.imageDetailsTitle, priority: 120 }, initialize: function( options ) { this.image = new wp.media.model.PostImage( options.metadata ); this.options.selection = new wp.media.model.Selection( this.image.attachment, { multiple: false } ); Select.prototype.initialize.apply( this, arguments ); }, bindHandlers: function() { Select.prototype.bindHandlers.apply( this, arguments ); this.on( 'menu:create:image-details', this.createMenu, this ); this.on( 'content:create:image-details', this.imageDetailsContent, this ); this.on( 'content:render:edit-image', this.editImageContent, this ); this.on( 'toolbar:render:image-details', this.renderImageDetailsToolbar, this ); // Override the select toolbar. this.on( 'toolbar:render:replace', this.renderReplaceImageToolbar, this ); }, createStates: function() { this.states.add([ new wp.media.controller.ImageDetails({ image: this.image, editable: false }), new wp.media.controller.ReplaceImage({ id: 'replace-image', library: wp.media.query( { type: 'image' } ), image: this.image, multiple: false, title: l10n.imageReplaceTitle, toolbar: 'replace', priority: 80, displaySettings: true }), new wp.media.controller.EditImage( { image: this.image, selection: this.options.selection } ) ]); }, imageDetailsContent: function( options ) { options.view = new wp.media.view.ImageDetails({ controller: this, model: this.state().image, attachment: this.state().image.attachment }); }, editImageContent: function() { var state = this.state(), model = state.get('image'), view; if ( ! model ) { return; } view = new wp.media.view.EditImage( { model: model, controller: this } ).render(); this.content.set( view ); // After bringing in the frame, load the actual editor via an Ajax call. view.loadEditor(); }, renderImageDetailsToolbar: function() { this.toolbar.set( new wp.media.view.Toolbar({ controller: this, items: { select: { style: 'primary', text: l10n.update, priority: 80, click: function() { var controller = this.controller, state = controller.state(); controller.close(); // Not sure if we want to use wp.media.string.image which will create a shortcode or // perhaps wp.html.string to at least to build the . state.trigger( 'update', controller.image.toJSON() ); // Restore and reset the default state. controller.setState( controller.options.state ); controller.reset(); } } } }) ); }, renderReplaceImageToolbar: function() { var frame = this, lastState = frame.lastState(), previous = lastState && lastState.id; this.toolbar.set( new wp.media.view.Toolbar({ controller: this, items: { back: { text: l10n.back, priority: 80, click: function() { if ( previous ) { frame.setState( previous ); } else { frame.close(); } } }, replace: { style: 'primary', text: l10n.replace, priority: 20, requires: { selection: true }, click: function() { var controller = this.controller, state = controller.state(), selection = state.get( 'selection' ), attachment = selection.single(); controller.close(); controller.image.changeAttachment( attachment, state.display( attachment ) ); // Not sure if we want to use wp.media.string.image which will create a shortcode or // perhaps wp.html.string to at least to build the . state.trigger( 'replace', controller.image.toJSON() ); // Restore and reset the default state. controller.setState( controller.options.state ); controller.reset(); } } } }) ); } }); module.exports = ImageDetails; /***/ }), /***/ 9075: /***/ (function(module) { var Select = wp.media.view.MediaFrame.Select, Library = wp.media.controller.Library, l10n = wp.media.view.l10n, Post; /** * wp.media.view.MediaFrame.Post * * The frame for manipulating media on the Edit Post page. * * @memberOf wp.media.view.MediaFrame * * @class * @augments wp.media.view.MediaFrame.Select * @augments wp.media.view.MediaFrame * @augments wp.media.view.Frame * @augments wp.media.View * @augments wp.Backbone.View * @augments Backbone.View * @mixes wp.media.controller.StateMachine */ Post = Select.extend(/** @lends wp.media.view.MediaFrame.Post.prototype */{ initialize: function() { this.counts = { audio: { count: wp.media.view.settings.attachmentCounts.audio, state: 'playlist' }, video: { count: wp.media.view.settings.attachmentCounts.video, state: 'video-playlist' } }; _.defaults( this.options, { multiple: true, editing: false, state: 'insert', metadata: {} }); // Call 'initialize' directly on the parent class. Select.prototype.initialize.apply( this, arguments ); this.createIframeStates(); }, /** * Create the default states. */ createStates: function() { var options = this.options; this.states.add([ // Main states. new Library({ id: 'insert', title: l10n.insertMediaTitle, priority: 20, toolbar: 'main-insert', filterable: 'all', library: wp.media.query( options.library ), multiple: options.multiple ? 'reset' : false, editable: true, // If the user isn't allowed to edit fields, // can they still edit it locally? allowLocalEdits: true, // Show the attachment display settings. displaySettings: true, // Update user settings when users adjust the // attachment display settings. displayUserSettings: true }), new Library({ id: 'gallery', title: l10n.createGalleryTitle, priority: 40, toolbar: 'main-gallery', filterable: 'uploaded', multiple: 'add', editable: false, library: wp.media.query( _.defaults({ type: 'image' }, options.library ) ) }), // Embed states. new wp.media.controller.Embed( { metadata: options.metadata } ), new wp.media.controller.EditImage( { model: options.editImage } ), // Gallery states. new wp.media.controller.GalleryEdit({ library: options.selection, editing: options.editing, menu: 'gallery' }), new wp.media.controller.GalleryAdd(), new Library({ id: 'playlist', title: l10n.createPlaylistTitle, priority: 60, toolbar: 'main-playlist', filterable: 'uploaded', multiple: 'add', editable: false, library: wp.media.query( _.defaults({ type: 'audio' }, options.library ) ) }), // Playlist states. new wp.media.controller.CollectionEdit({ type: 'audio', collectionType: 'playlist', title: l10n.editPlaylistTitle, SettingsView: wp.media.view.Settings.Playlist, library: options.selection, editing: options.editing, menu: 'playlist', dragInfoText: l10n.playlistDragInfo, dragInfo: false }), new wp.media.controller.CollectionAdd({ type: 'audio', collectionType: 'playlist', title: l10n.addToPlaylistTitle }), new Library({ id: 'video-playlist', title: l10n.createVideoPlaylistTitle, priority: 60, toolbar: 'main-video-playlist', filterable: 'uploaded', multiple: 'add', editable: false, library: wp.media.query( _.defaults({ type: 'video' }, options.library ) ) }), new wp.media.controller.CollectionEdit({ type: 'video', collectionType: 'playlist', title: l10n.editVideoPlaylistTitle, SettingsView: wp.media.view.Settings.Playlist, library: options.selection, editing: options.editing, menu: 'video-playlist', dragInfoText: l10n.videoPlaylistDragInfo, dragInfo: false }), new wp.media.controller.CollectionAdd({ type: 'video', collectionType: 'playlist', title: l10n.addToVideoPlaylistTitle }) ]); if ( wp.media.view.settings.post.featuredImageId ) { this.states.add( new wp.media.controller.FeaturedImage() ); } }, bindHandlers: function() { var handlers, checkCounts; Select.prototype.bindHandlers.apply( this, arguments ); this.on( 'activate', this.activate, this ); // Only bother checking media type counts if one of the counts is zero. checkCounts = _.find( this.counts, function( type ) { return type.count === 0; } ); if ( typeof checkCounts !== 'undefined' ) { this.listenTo( wp.media.model.Attachments.all, 'change:type', this.mediaTypeCounts ); } this.on( 'menu:create:gallery', this.createMenu, this ); this.on( 'menu:create:playlist', this.createMenu, this ); this.on( 'menu:create:video-playlist', this.createMenu, this ); this.on( 'toolbar:create:main-insert', this.createToolbar, this ); this.on( 'toolbar:create:main-gallery', this.createToolbar, this ); this.on( 'toolbar:create:main-playlist', this.createToolbar, this ); this.on( 'toolbar:create:main-video-playlist', this.createToolbar, this ); this.on( 'toolbar:create:featured-image', this.featuredImageToolbar, this ); this.on( 'toolbar:create:main-embed', this.mainEmbedToolbar, this ); handlers = { menu: { 'default': 'mainMenu', 'gallery': 'galleryMenu', 'playlist': 'playlistMenu', 'video-playlist': 'videoPlaylistMenu' }, content: { 'embed': 'embedContent', 'edit-image': 'editImageContent', 'edit-selection': 'editSelectionContent' }, toolbar: { 'main-insert': 'mainInsertToolbar', 'main-gallery': 'mainGalleryToolbar', 'gallery-edit': 'galleryEditToolbar', 'gallery-add': 'galleryAddToolbar', 'main-playlist': 'mainPlaylistToolbar', 'playlist-edit': 'playlistEditToolbar', 'playlist-add': 'playlistAddToolbar', 'main-video-playlist': 'mainVideoPlaylistToolbar', 'video-playlist-edit': 'videoPlaylistEditToolbar', 'video-playlist-add': 'videoPlaylistAddToolbar' } }; _.each( handlers, function( regionHandlers, region ) { _.each( regionHandlers, function( callback, handler ) { this.on( region + ':render:' + handler, this[ callback ], this ); }, this ); }, this ); }, activate: function() { // Hide menu items for states tied to particular media types if there are no items. _.each( this.counts, function( type ) { if ( type.count < 1 ) { this.menuItemVisibility( type.state, 'hide' ); } }, this ); }, mediaTypeCounts: function( model, attr ) { if ( typeof this.counts[ attr ] !== 'undefined' && this.counts[ attr ].count < 1 ) { this.counts[ attr ].count++; this.menuItemVisibility( this.counts[ attr ].state, 'show' ); } }, // Menus. /** * @param {wp.Backbone.View} view */ mainMenu: function( view ) { view.set({ 'library-separator': new wp.media.View({ className: 'separator', priority: 100, attributes: { role: 'presentation' } }) }); }, menuItemVisibility: function( state, visibility ) { var menu = this.menu.get(); if ( visibility === 'hide' ) { menu.hide( state ); } else if ( visibility === 'show' ) { menu.show( state ); } }, /** * @param {wp.Backbone.View} view */ galleryMenu: function( view ) { var lastState = this.lastState(), previous = lastState && lastState.id, frame = this; view.set({ cancel: { text: l10n.cancelGalleryTitle, priority: 20, click: function() { if ( previous ) { frame.setState( previous ); } else { frame.close(); } // Move focus to the modal after canceling a Gallery. this.controller.modal.focusManager.focus(); } }, separateCancel: new wp.media.View({ className: 'separator', priority: 40 }) }); }, playlistMenu: function( view ) { var lastState = this.lastState(), previous = lastState && lastState.id, frame = this; view.set({ cancel: { text: l10n.cancelPlaylistTitle, priority: 20, click: function() { if ( previous ) { frame.setState( previous ); } else { frame.close(); } // Move focus to the modal after canceling an Audio Playlist. this.controller.modal.focusManager.focus(); } }, separateCancel: new wp.media.View({ className: 'separator', priority: 40 }) }); }, videoPlaylistMenu: function( view ) { var lastState = this.lastState(), previous = lastState && lastState.id, frame = this; view.set({ cancel: { text: l10n.cancelVideoPlaylistTitle, priority: 20, click: function() { if ( previous ) { frame.setState( previous ); } else { frame.close(); } // Move focus to the modal after canceling a Video Playlist. this.controller.modal.focusManager.focus(); } }, separateCancel: new wp.media.View({ className: 'separator', priority: 40 }) }); }, // Content. embedContent: function() { var view = new wp.media.view.Embed({ controller: this, model: this.state() }).render(); this.content.set( view ); }, editSelectionContent: function() { var state = this.state(), selection = state.get('selection'), view; view = new wp.media.view.AttachmentsBrowser({ controller: this, collection: selection, selection: selection, model: state, sortable: true, search: false, date: false, dragInfo: true, AttachmentView: wp.media.view.Attachments.EditSelection }).render(); view.toolbar.set( 'backToLibrary', { text: l10n.returnToLibrary, priority: -100, click: function() { this.controller.content.mode('browse'); // Move focus to the modal when jumping back from Edit Selection to Add Media view. this.controller.modal.focusManager.focus(); } }); // Browse our library of attachments. this.content.set( view ); // Trigger the controller to set focus. this.trigger( 'edit:selection', this ); }, editImageContent: function() { var image = this.state().get('image'), view = new wp.media.view.EditImage( { model: image, controller: this } ).render(); this.content.set( view ); // After creating the wrapper view, load the actual editor via an Ajax call. view.loadEditor(); }, // Toolbars. /** * @param {wp.Backbone.View} view */ selectionStatusToolbar: function( view ) { var editable = this.state().get('editable'); view.set( 'selection', new wp.media.view.Selection({ controller: this, collection: this.state().get('selection'), priority: -40, // If the selection is editable, pass the callback to // switch the content mode. editable: editable && function() { this.controller.content.mode('edit-selection'); } }).render() ); }, /** * @param {wp.Backbone.View} view */ mainInsertToolbar: function( view ) { var controller = this; this.selectionStatusToolbar( view ); view.set( 'insert', { style: 'primary', priority: 80, text: l10n.insertIntoPost, requires: { selection: true }, /** * @ignore * * @fires wp.media.controller.State#insert */ click: function() { var state = controller.state(), selection = state.get('selection'); controller.close(); state.trigger( 'insert', selection ).reset(); } }); }, /** * @param {wp.Backbone.View} view */ mainGalleryToolbar: function( view ) { var controller = this; this.selectionStatusToolbar( view ); view.set( 'gallery', { style: 'primary', text: l10n.createNewGallery, priority: 60, requires: { selection: true }, click: function() { var selection = controller.state().get('selection'), edit = controller.state('gallery-edit'), models = selection.where({ type: 'image' }); edit.set( 'library', new wp.media.model.Selection( models, { props: selection.props.toJSON(), multiple: true }) ); // Jump to Edit Gallery view. this.controller.setState( 'gallery-edit' ); // Move focus to the modal after jumping to Edit Gallery view. this.controller.modal.focusManager.focus(); } }); }, mainPlaylistToolbar: function( view ) { var controller = this; this.selectionStatusToolbar( view ); view.set( 'playlist', { style: 'primary', text: l10n.createNewPlaylist, priority: 100, requires: { selection: true }, click: function() { var selection = controller.state().get('selection'), edit = controller.state('playlist-edit'), models = selection.where({ type: 'audio' }); edit.set( 'library', new wp.media.model.Selection( models, { props: selection.props.toJSON(), multiple: true }) ); // Jump to Edit Audio Playlist view. this.controller.setState( 'playlist-edit' ); // Move focus to the modal after jumping to Edit Audio Playlist view. this.controller.modal.focusManager.focus(); } }); }, mainVideoPlaylistToolbar: function( view ) { var controller = this; this.selectionStatusToolbar( view ); view.set( 'video-playlist', { style: 'primary', text: l10n.createNewVideoPlaylist, priority: 100, requires: { selection: true }, click: function() { var selection = controller.state().get('selection'), edit = controller.state('video-playlist-edit'), models = selection.where({ type: 'video' }); edit.set( 'library', new wp.media.model.Selection( models, { props: selection.props.toJSON(), multiple: true }) ); // Jump to Edit Video Playlist view. this.controller.setState( 'video-playlist-edit' ); // Move focus to the modal after jumping to Edit Video Playlist view. this.controller.modal.focusManager.focus(); } }); }, featuredImageToolbar: function( toolbar ) { this.createSelectToolbar( toolbar, { text: l10n.setFeaturedImage, state: this.options.state }); }, mainEmbedToolbar: function( toolbar ) { toolbar.view = new wp.media.view.Toolbar.Embed({ controller: this }); }, galleryEditToolbar: function() { var editing = this.state().get('editing'); this.toolbar.set( new wp.media.view.Toolbar({ controller: this, items: { insert: { style: 'primary', text: editing ? l10n.updateGallery : l10n.insertGallery, priority: 80, requires: { library: true }, /** * @fires wp.media.controller.State#update */ click: function() { var controller = this.controller, state = controller.state(); controller.close(); state.trigger( 'update', state.get('library') ); // Restore and reset the default state. controller.setState( controller.options.state ); controller.reset(); } } } }) ); }, galleryAddToolbar: function() { this.toolbar.set( new wp.media.view.Toolbar({ controller: this, items: { insert: { style: 'primary', text: l10n.addToGallery, priority: 80, requires: { selection: true }, /** * @fires wp.media.controller.State#reset */ click: function() { var controller = this.controller, state = controller.state(), edit = controller.state('gallery-edit'); edit.get('library').add( state.get('selection').models ); state.trigger('reset'); controller.setState('gallery-edit'); // Move focus to the modal when jumping back from Add to Gallery to Edit Gallery view. this.controller.modal.focusManager.focus(); } } } }) ); }, playlistEditToolbar: function() { var editing = this.state().get('editing'); this.toolbar.set( new wp.media.view.Toolbar({ controller: this, items: { insert: { style: 'primary', text: editing ? l10n.updatePlaylist : l10n.insertPlaylist, priority: 80, requires: { library: true }, /** * @fires wp.media.controller.State#update */ click: function() { var controller = this.controller, state = controller.state(); controller.close(); state.trigger( 'update', state.get('library') ); // Restore and reset the default state. controller.setState( controller.options.state ); controller.reset(); } } } }) ); }, playlistAddToolbar: function() { this.toolbar.set( new wp.media.view.Toolbar({ controller: this, items: { insert: { style: 'primary', text: l10n.addToPlaylist, priority: 80, requires: { selection: true }, /** * @fires wp.media.controller.State#reset */ click: function() { var controller = this.controller, state = controller.state(), edit = controller.state('playlist-edit'); edit.get('library').add( state.get('selection').models ); state.trigger('reset'); controller.setState('playlist-edit'); // Move focus to the modal when jumping back from Add to Audio Playlist to Edit Audio Playlist view. this.controller.modal.focusManager.focus(); } } } }) ); }, videoPlaylistEditToolbar: function() { var editing = this.state().get('editing'); this.toolbar.set( new wp.media.view.Toolbar({ controller: this, items: { insert: { style: 'primary', text: editing ? l10n.updateVideoPlaylist : l10n.insertVideoPlaylist, priority: 140, requires: { library: true }, click: function() { var controller = this.controller, state = controller.state(), library = state.get('library'); library.type = 'video'; controller.close(); state.trigger( 'update', library ); // Restore and reset the default state. controller.setState( controller.options.state ); controller.reset(); } } } }) ); }, videoPlaylistAddToolbar: function() { this.toolbar.set( new wp.media.view.Toolbar({ controller: this, items: { insert: { style: 'primary', text: l10n.addToVideoPlaylist, priority: 140, requires: { selection: true }, click: function() { var controller = this.controller, state = controller.state(), edit = controller.state('video-playlist-edit'); edit.get('library').add( state.get('selection').models ); state.trigger('reset'); controller.setState('video-playlist-edit'); // Move focus to the modal when jumping back from Add to Video Playlist to Edit Video Playlist view. this.controller.modal.focusManager.focus(); } } } }) ); } }); module.exports = Post; /***/ }), /***/ 8719: /***/ (function(module) { var MediaFrame = wp.media.view.MediaFrame, l10n = wp.media.view.l10n, Select; /** * wp.media.view.MediaFrame.Select * * A frame for selecting an item or items from the media library. * * @memberOf wp.media.view.MediaFrame * * @class * @augments wp.media.view.MediaFrame * @augments wp.media.view.Frame * @augments wp.media.View * @augments wp.Backbone.View * @augments Backbone.View * @mixes wp.media.controller.StateMachine */ Select = MediaFrame.extend(/** @lends wp.media.view.MediaFrame.Select.prototype */{ initialize: function() { // Call 'initialize' directly on the parent class. MediaFrame.prototype.initialize.apply( this, arguments ); _.defaults( this.options, { selection: [], library: {}, multiple: false, state: 'library' }); this.createSelection(); this.createStates(); this.bindHandlers(); }, /** * Attach a selection collection to the frame. * * A selection is a collection of attachments used for a specific purpose * by a media frame. e.g. Selecting an attachment (or many) to insert into * post content. * * @see media.model.Selection */ createSelection: function() { var selection = this.options.selection; if ( ! (selection instanceof wp.media.model.Selection) ) { this.options.selection = new wp.media.model.Selection( selection, { multiple: this.options.multiple }); } this._selection = { attachments: new wp.media.model.Attachments(), difference: [] }; }, editImageContent: function() { var image = this.state().get('image'), view = new wp.media.view.EditImage( { model: image, controller: this } ).render(); this.content.set( view ); // After creating the wrapper view, load the actual editor via an Ajax call. view.loadEditor(); }, /** * Create the default states on the frame. */ createStates: function() { var options = this.options; if ( this.options.states ) { return; } // Add the default states. this.states.add([ // Main states. new wp.media.controller.Library({ library: wp.media.query( options.library ), multiple: options.multiple, title: options.title, priority: 20 }), new wp.media.controller.EditImage( { model: options.editImage } ) ]); }, /** * Bind region mode event callbacks. * * @see media.controller.Region.render */ bindHandlers: function() { this.on( 'router:create:browse', this.createRouter, this ); this.on( 'router:render:browse', this.browseRouter, this ); this.on( 'content:create:browse', this.browseContent, this ); this.on( 'content:render:upload', this.uploadContent, this ); this.on( 'toolbar:create:select', this.createSelectToolbar, this ); this.on( 'content:render:edit-image', this.editImageContent, this ); }, /** * Render callback for the router region in the `browse` mode. * * @param {wp.media.view.Router} routerView */ browseRouter: function( routerView ) { routerView.set({ upload: { text: l10n.uploadFilesTitle, priority: 20 }, browse: { text: l10n.mediaLibraryTitle, priority: 40 } }); }, /** * Render callback for the content region in the `browse` mode. * * @param {wp.media.controller.Region} contentRegion */ browseContent: function( contentRegion ) { var state = this.state(); this.$el.removeClass('hide-toolbar'); // Browse our library of attachments. contentRegion.view = new wp.media.view.AttachmentsBrowser({ controller: this, collection: state.get('library'), selection: state.get('selection'), model: state, sortable: state.get('sortable'), search: state.get('searchable'), filters: state.get('filterable'), date: state.get('date'), display: state.has('display') ? state.get('display') : state.get('displaySettings'), dragInfo: state.get('dragInfo'), idealColumnWidth: state.get('idealColumnWidth'), suggestedWidth: state.get('suggestedWidth'), suggestedHeight: state.get('suggestedHeight'), AttachmentView: state.get('AttachmentView') }); }, /** * Render callback for the content region in the `upload` mode. */ uploadContent: function() { this.$el.removeClass( 'hide-toolbar' ); this.content.set( new wp.media.view.UploaderInline({ controller: this }) ); }, /** * Toolbars * * @param {Object} toolbar * @param {Object} [options={}] * @this wp.media.controller.Region */ createSelectToolbar: function( toolbar, options ) { options = options || this.options.button || {}; options.controller = this; toolbar.view = new wp.media.view.Toolbar.Select( options ); } }); module.exports = Select; /***/ }), /***/ 7990: /***/ (function(module) { /** * wp.media.view.Heading * * A reusable heading component for the media library * * Used to add accessibility friendly headers in the media library/modal. * * @class * @augments wp.media.View * @augments wp.Backbone.View * @augments Backbone.View */ var Heading = wp.media.View.extend( { tagName: function() { return this.options.level || 'h1'; }, className: 'media-views-heading', initialize: function() { if ( this.options.className ) { this.$el.addClass( this.options.className ); } this.text = this.options.text; }, render: function() { this.$el.html( this.text ); return this; } } ); module.exports = Heading; /***/ }), /***/ 6217: /***/ (function(module) { /** * wp.media.view.Iframe * * @memberOf wp.media.view * * @class * @augments wp.media.View * @augments wp.Backbone.View * @augments Backbone.View */ var Iframe = wp.media.View.extend(/** @lends wp.media.view.Iframe.prototype */{ className: 'media-iframe', /** * @return {wp.media.view.Iframe} Returns itself to allow chaining. */ render: function() { this.views.detach(); this.$el.html( '