<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[18482] trunk: Pluploader take 1, props jacobwg, see #18206</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg > ul, #logmsg > ol { margin-left: 0; margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://core.trac.wordpress.org/changeset/18482">18482</a></dd>
<dt>Author</dt> <dd>azaozz</dd>
<dt>Date</dt> <dd>2011-07-29 08:59:35 +0000 (Fri, 29 Jul 2011)</dd>
</dl>

<h3>Log Message</h3>
<pre>Pluploader take 1, props jacobwg, see <a href="http://core.trac.wordpress.org/ticket/18206">#18206</a></pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkwpadmincsswpadmindevcss">trunk/wp-admin/css/wp-admin.dev.css</a></li>
<li><a href="#trunkwpadminincludesfilephp">trunk/wp-admin/includes/file.php</a></li>
<li><a href="#trunkwpadminincludesmediaphp">trunk/wp-admin/includes/media.php</a></li>
<li><a href="#trunkwpadminmediauploadphp">trunk/wp-admin/media-upload.php</a></li>
<li><a href="#trunkwpincludesjsthickboxthickboxcss">trunk/wp-includes/js/thickbox/thickbox.css</a></li>
<li><a href="#trunkwpincludesjsthickboxthickboxjs">trunk/wp-includes/js/thickbox/thickbox.js</a></li>
<li><a href="#trunkwpincludesscriptloaderphp">trunk/wp-includes/script-loader.php</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li>trunk/wp-includes/js/plupload/</li>
<li><a href="#trunkwpincludesjspluploadchangelogtxt">trunk/wp-includes/js/plupload/changelog.txt</a></li>
<li><a href="#trunkwpincludesjspluploadhandlersdevjs">trunk/wp-includes/js/plupload/handlers.dev.js</a></li>
<li><a href="#trunkwpincludesjspluploadhandlersjs">trunk/wp-includes/js/plupload/handlers.js</a></li>
<li><a href="#trunkwpincludesjspluploadlicensetxt">trunk/wp-includes/js/plupload/license.txt</a></li>
<li><a href="#trunkwpincludesjspluploadpluploadflashjs">trunk/wp-includes/js/plupload/plupload.flash.js</a></li>
<li><a href="#trunkwpincludesjspluploadpluploadflashswf">trunk/wp-includes/js/plupload/plupload.flash.swf</a></li>
<li><a href="#trunkwpincludesjspluploadpluploadfulljs">trunk/wp-includes/js/plupload/plupload.full.js</a></li>
<li><a href="#trunkwpincludesjspluploadpluploadhtml4js">trunk/wp-includes/js/plupload/plupload.html4.js</a></li>
<li><a href="#trunkwpincludesjspluploadpluploadhtml5js">trunk/wp-includes/js/plupload/plupload.html5.js</a></li>
<li><a href="#trunkwpincludesjspluploadpluploadjs">trunk/wp-includes/js/plupload/plupload.js</a></li>
<li><a href="#trunkwpincludesjspluploadpluploadsilverlightjs">trunk/wp-includes/js/plupload/plupload.silverlight.js</a></li>
<li><a href="#trunkwpincludesjspluploadpluploadsilverlightxap">trunk/wp-includes/js/plupload/plupload.silverlight.xap</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li>trunk/wp-includes/js/swfupload/</li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkwpadmincsswpadmindevcss"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/css/wp-admin.dev.css (18481 => 18482)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/css/wp-admin.dev.css        2011-07-29 06:07:38 UTC (rev 18481)
+++ trunk/wp-admin/css/wp-admin.dev.css        2011-07-29 08:59:35 UTC (rev 18482)
</span><span class="lines">@@ -3306,6 +3306,10 @@
</span><span class="cx">   14.1 - Media Uploader
</span><span class="cx"> ------------------------------------------------------------------------------*/
</span><span class="cx"> 
</span><ins>+div.plupload input {
+        cursor: pointer;
+}
+
</ins><span class="cx"> .find-box {
</span><span class="cx">         width: 500px;
</span><span class="cx">         height: 300px;
</span></span></pre></div>
<a id="trunkwpadminincludesfilephp"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/includes/file.php (18481 => 18482)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/includes/file.php        2011-07-29 06:07:38 UTC (rev 18481)
+++ trunk/wp-admin/includes/file.php        2011-07-29 08:59:35 UTC (rev 18482)
</span><span class="lines">@@ -323,11 +323,30 @@
</span><span class="cx"> 
</span><span class="cx">         $filename = wp_unique_filename( $uploads['path'], $file['name'], $unique_filename_callback );
</span><span class="cx"> 
</span><ins>+        $tmp_file = wp_tempnam($filename);
+
</ins><span class="cx">         // Move the file to the uploads dir
</span><del>-        $new_file = $uploads['path'] . &quot;/$filename&quot;;
-        if ( false === @ move_uploaded_file( $file['tmp_name'], $new_file ) )
</del><ins>+        if ( false === @ move_uploaded_file( $file['tmp_name'], $tmp_file ) )
</ins><span class="cx">                 return $upload_error_handler( $file, sprintf( __('The uploaded file could not be moved to %s.' ), $uploads['path'] ) );
</span><span class="cx"> 
</span><ins>+        // If a resize was requested, perform the resize.
+        $do_resize = apply_filters( 'wp_upload_resize', isset( $_REQUEST['image_resize'] ) );
+        $size = @getimagesize( $tmp_file );
+        if ( $do_resize &amp;&amp; $size ) {
+                $old_temp = $tmp_file;
+                $tmp_file = image_resize( $tmp_file, (int) get_option('large_size_w'), (int) get_option('large_size_h'), 0, 'resized');
+                if ( ! is_wp_error($tmp_file) ) {
+                        unlink($old_temp);
+                } else {
+                        $tmp_file = $old_temp;
+                }
+        }
+
+        // Copy the temporary file into its destination
+        $new_file = $uploads['path'] . &quot;/$filename&quot;;
+        copy( $tmp_file, $new_file );
+        unlink($tmp_file);
+        
</ins><span class="cx">         // Set correct file permissions
</span><span class="cx">         $stat = stat( dirname( $new_file ));
</span><span class="cx">         $perms = $stat['mode'] &amp; 0000666;
</span></span></pre></div>
<a id="trunkwpadminincludesmediaphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/includes/media.php (18481 => 18482)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/includes/media.php        2011-07-29 06:07:38 UTC (rev 18481)
+++ trunk/wp-admin/includes/media.php        2011-07-29 08:59:35 UTC (rev 18482)
</span><span class="lines">@@ -1437,14 +1437,8 @@
</span><span class="cx"> function media_upload_form( $errors = null ) {
</span><span class="cx">         global $type, $tab, $pagenow;
</span><span class="cx"> 
</span><del>-        $flash_action_url = admin_url('async-upload.php');
</del><ins>+        $upload_action_url = admin_url('async-upload.php');
</ins><span class="cx"> 
</span><del>-        // If Mac and mod_security, no Flash. :(
-        $flash = true;
-        if ( false !== stripos($_SERVER['HTTP_USER_AGENT'], 'mac') &amp;&amp; apache_mod_loaded('mod_security') )
-                $flash = false;
-
-        $flash = apply_filters('flash_uploader', $flash);
</del><span class="cx">         $post_id = isset($_REQUEST['post_id']) ? intval($_REQUEST['post_id']) : 0;
</span><span class="cx"> 
</span><span class="cx">         $upload_size_unit = $max_upload_size =  wp_max_upload_size();
</span><span class="lines">@@ -1458,15 +1452,6 @@
</span><span class="cx">                 $upload_size_unit = (int) $upload_size_unit;
</span><span class="cx">         }
</span><span class="cx"> ?&gt;
</span><del>-&lt;script type=&quot;text/javascript&quot;&gt;
-//&lt;![CDATA[
-var uploaderMode = 0;
-jQuery(document).ready(function($){
-        uploaderMode = getUserSetting('uploader');
-        $('.upload-html-bypass a').click(function(){deleteUserSetting('uploader');uploaderMode=0;swfuploadPreLoad();return false;});
-        $('.upload-flash-bypass a').click(function(){setUserSetting('uploader', '1');uploaderMode=1;swfuploadPreLoad();return false;});
-});
-//]]&gt;
</del><span class="cx"> &lt;/script&gt;
</span><span class="cx"> &lt;div id=&quot;media-upload-notice&quot;&gt;
</span><span class="cx"> &lt;?php if (isset($errors['upload_notice']) ) { ?&gt;
</span><span class="lines">@@ -1487,9 +1472,7 @@
</span><span class="cx"> 
</span><span class="cx"> do_action('pre-upload-ui');
</span><span class="cx"> 
</span><del>-if ( $flash ) :
-
-// Set the post params, which SWFUpload will post back with the file, and pass
</del><ins>+// Set the post params, which plupload will post back with the file, and pass
</ins><span class="cx"> // them through a filter.
</span><span class="cx"> $post_params = array(
</span><span class="cx">                 &quot;post_id&quot; =&gt; $post_id,
</span><span class="lines">@@ -1500,80 +1483,105 @@
</span><span class="cx">                 &quot;tab&quot; =&gt; $tab,
</span><span class="cx">                 &quot;short&quot; =&gt; &quot;1&quot;,
</span><span class="cx"> );
</span><del>-$post_params = apply_filters( 'swfupload_post_params', $post_params );
</del><ins>+$post_params = apply_filters( 'upload_post_params', $post_params ); // hook change! old name: 'swfupload_post_params'
</ins><span class="cx"> $p = array();
</span><span class="cx"> foreach ( $post_params as $param =&gt; $val )
</span><span class="cx">         $p[] = &quot;\t\t'$param' : '$val'&quot;;
</span><span class="cx"> $post_params_str = implode( &quot;, \n&quot;, $p );
</span><span class="cx"> 
</span><del>-// #8545. wmode=transparent cannot be used with SWFUpload
-if ( 'media-new.php' == $pagenow ) {
-        $upload_image_path = get_user_option( 'admin_color' );
-        if ( 'classic' != $upload_image_path )
-                $upload_image_path = 'fresh';
-        $upload_image_path = admin_url( 'images/upload-' . $upload_image_path . '.png?ver=20101205' );
-} else {
-        $upload_image_path = includes_url( 'images/upload.png?ver=20100531' );
-}
-
</del><span class="cx"> ?&gt;
</span><span class="cx"> &lt;script type=&quot;text/javascript&quot;&gt;
</span><span class="cx"> //&lt;![CDATA[
</span><del>-var swfu;
-SWFUpload.onload = function() {
-        var settings = {
-                        button_text: '&lt;span class=&quot;button&quot;&gt;&lt;?php _e('Select Files'); ?&gt;&lt;\/span&gt;',
-                        button_text_style: '.button { text-align: center; font-weight: bold; font-family:&quot;Lucida Grande&quot;,Verdana,Arial,&quot;Bitstream Vera Sans&quot;,sans-serif; font-size: 11px; text-shadow: 0 1px 0 #FFFFFF; color:#464646; }',
-                        button_height: &quot;23&quot;,
-                        button_width: &quot;132&quot;,
-                        button_text_top_padding: 3,
-                        button_image_url: '&lt;?php echo $upload_image_path; ?&gt;',
-                        button_placeholder_id: &quot;flash-browse-button&quot;,
-                        upload_url : &quot;&lt;?php echo esc_attr( $flash_action_url ); ?&gt;&quot;,
-                        flash_url : &quot;&lt;?php echo includes_url('js/swfupload/swfupload.swf'); ?&gt;&quot;,
-                        file_post_name: &quot;async-upload&quot;,
-                        file_types: &quot;&lt;?php echo apply_filters('upload_file_glob', '*.*'); ?&gt;&quot;,
-                        post_params : {
-                                &lt;?php echo $post_params_str; ?&gt;
-                        },
-                        file_size_limit : &quot;&lt;?php echo $max_upload_size; ?&gt;b&quot;,
-                        file_dialog_start_handler : fileDialogStart,
-                        file_queued_handler : fileQueued,
-                        upload_start_handler : uploadStart,
-                        upload_progress_handler : uploadProgress,
-                        upload_error_handler : uploadError,
-                        upload_success_handler : &lt;?php echo apply_filters( 'swfupload_success_handler', 'uploadSuccess' ); ?&gt;,
-                        upload_complete_handler : uploadComplete,
-                        file_queue_error_handler : fileQueueError,
-                        file_dialog_complete_handler : fileDialogComplete,
-                        swfupload_pre_load_handler: swfuploadPreLoad,
-                        swfupload_load_failed_handler: swfuploadLoadFailed,
-                        custom_settings : {
-                                degraded_element_id : &quot;html-upload-ui&quot;, // id of the element displayed when swfupload is unavailable
-                                swfupload_element_id : &quot;flash-upload-ui&quot; // id of the element displayed when swfupload is available
-                        },
-                        debug: false
-                };
-                swfu = new SWFUpload(settings);
-};
</del><ins>+var resize_height = &lt;?php echo get_option('large_size_h'); ?&gt;, 
+        resize_width = &lt;?php echo get_option('large_size_w'); ?&gt;;
+
+jQuery(document).ready(function($) {
+        window.uploader = new plupload.Uploader({
+                runtimes: '&lt;?php echo apply_filters('plupload_runtimes', 'html5,silverlight,flash,html4'); ?&gt;',
+                browse_button: 'plupload-browse-button',
+                container: 'plupload-upload-ui',
+                drop_element: 'media-upload',
+                file_data_name: 'async-upload',
+                max_file_size: '&lt;?php echo $max_upload_size / 1024; ?&gt;kb',
+                url: '&lt;?php echo esc_attr( $upload_action_url ); ?&gt;',
+                flash_swf_url: '&lt;?php echo includes_url('js/plupload/plupload.flash.swf'); ?&gt;',
+                silverlight_xap_url: '&lt;?php echo includes_url('js/plupload/plupload.silverlight.xap'); ?&gt;',
+                filters: [
+                        {title: '&lt;?php _e( 'Allowed Files' ); ?&gt;', extensions: '&lt;?php echo apply_filters('upload_file_glob', '*'); ?&gt;'}
+                ],
+                multipart: true,
+                urlstream_upload: true,
+                multipart_params : {
+                        &lt;?php echo $post_params_str; ?&gt;
+                }
+        });
+
+        setResize( getUserSetting('upload_resize', false) );
+        
+        $('#image_resize').bind('change', function() {
+                var arg = $(this).prop('checked');
+
+                setResize( arg );
+
+                if ( arg )
+                        setUserSetting('upload_resize', 1);
+                else
+                        deleteUserSetting('upload_resize');
+        });
+
+        uploader.init();
+
+console.debug(uploader);
+console.debug(uploader.runtime)
+
+
+        uploader.bind('FilesAdded', function(up, files) {
+                $.each(files, function(i, file) {
+                        fileQueued(file);
+                });
+
+                up.refresh();
+                up.start();
+        });
+
+        uploader.bind('BeforeUpload', function(up, file) {
+                uploadStart(file);
+        });
+        
+        uploader.bind('UploadProgress', function(up, file) {
+                uploadProgress(file, file.loaded, file.size);
+        });
+        
+        uploader.bind('Error', function(up, err) {
+                uploadError(err.file, err.code, err.message);
+        
+                up.refresh();
+        });
+
+        uploader.bind('FileUploaded', function(up, file, response) {
+                &lt;?php echo apply_filters( 'plupload_success_handler', 'uploadSuccess' ); ?&gt;(file, response.response);
+        });
+        
+        if ( uploader.runtime == 'html5' )
+                $('.dragdrop-info').show();
+
+});
</ins><span class="cx"> //]]&gt;
</span><span class="cx"> &lt;/script&gt;
</span><span class="cx"> 
</span><del>-&lt;div id=&quot;flash-upload-ui&quot; class=&quot;hide-if-no-js&quot;&gt;
-&lt;?php do_action('pre-flash-upload-ui'); ?&gt;
</del><ins>+&lt;div id=&quot;plupload-upload-ui&quot; class=&quot;hide-if-no-js&quot;&gt;
+&lt;?php do_action('pre-plupload-upload-ui'); // hook change, old name: 'pre-flash-upload-ui' ?&gt;
</ins><span class="cx"> 
</span><span class="cx">         &lt;div&gt;
</span><span class="cx">         &lt;?php _e( 'Choose files to upload' ); ?&gt;
</span><del>-        &lt;div id=&quot;flash-browse-button&quot;&gt;&lt;/div&gt;
-        &lt;span&gt;&lt;input id=&quot;cancel-upload&quot; disabled=&quot;disabled&quot; onclick=&quot;cancelUpload()&quot; type=&quot;button&quot; value=&quot;&lt;?php esc_attr_e('Cancel Upload'); ?&gt;&quot; class=&quot;button&quot; /&gt;&lt;/span&gt;
</del><ins>+        &lt;input id=&quot;plupload-browse-button&quot; type=&quot;button&quot; value=&quot;&lt;?php esc_attr_e('Select Files'); ?&gt;&quot; class=&quot;button&quot; /&gt;
+        &lt;input id=&quot;cancel-upload&quot; disabled=&quot;disabled&quot; onclick=&quot;cancelUpload()&quot; type=&quot;button&quot; value=&quot;&lt;?php esc_attr_e('Cancel Upload'); ?&gt;&quot; class=&quot;button&quot; /&gt;
</ins><span class="cx">         &lt;/div&gt;
</span><del>-        &lt;p class=&quot;media-upload-size&quot;&gt;&lt;?php printf( __( 'Maximum upload file size: %d%s' ), $upload_size_unit, $sizes[$u] ); ?&gt;&lt;/p&gt;
-&lt;?php do_action('post-flash-upload-ui'); ?&gt;
-        &lt;p class=&quot;howto&quot;&gt;&lt;?php _e('After a file has been uploaded, you can add titles and descriptions.'); ?&gt;&lt;/p&gt;
</del><ins>+        &lt;p class=&quot;dragdrop-info howto&quot;&gt;&lt;?php _e('Or you can drop the files into this window.'); ?&gt;&lt;/p&gt;
+&lt;?php do_action('post-plupload-upload-ui'); // hook change, old name: 'post-flash-upload-ui' ?&gt;
</ins><span class="cx"> &lt;/div&gt;
</span><del>-&lt;?php endif; // $flash ?&gt;
</del><span class="cx"> 
</span><del>-&lt;div id=&quot;html-upload-ui&quot; &lt;?php if ( $flash ) echo 'class=&quot;hide-if-js&quot;'; ?&gt;&gt;
</del><ins>+&lt;div id=&quot;html-upload-ui&quot; class=&quot;hide-if-js&quot;&gt;
</ins><span class="cx"> &lt;?php do_action('pre-html-upload-ui'); ?&gt;
</span><span class="cx">         &lt;p id=&quot;async-upload-wrap&quot;&gt;
</span><span class="cx">                 &lt;label class=&quot;screen-reader-text&quot; for=&quot;async-upload&quot;&gt;&lt;?php _e('Upload'); ?&gt;&lt;/label&gt;
</span><span class="lines">@@ -1582,12 +1590,12 @@
</span><span class="cx">                 &lt;a href=&quot;#&quot; onclick=&quot;try{top.tb_remove();}catch(e){}; return false;&quot;&gt;&lt;?php _e('Cancel'); ?&gt;&lt;/a&gt;
</span><span class="cx">         &lt;/p&gt;
</span><span class="cx">         &lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;
</span><del>-        &lt;p class=&quot;media-upload-size&quot;&gt;&lt;?php printf( __( 'Maximum upload file size: %d%s' ), $upload_size_unit, $sizes[$u] ); ?&gt;&lt;/p&gt;
-        &lt;?php if ( is_lighttpd_before_150() ): ?&gt;
-        &lt;p&gt;&lt;?php _e('If you want to use all capabilities of the uploader, like uploading multiple files at once, please update to lighttpd 1.5.'); ?&gt;&lt;/p&gt;
-        &lt;?php endif;?&gt;
-&lt;?php do_action('post-html-upload-ui', $flash); ?&gt;
</del><ins>+&lt;?php do_action('post-html-upload-ui', $plupload); ?&gt;
</ins><span class="cx"> &lt;/div&gt;
</span><ins>+
+&lt;p class=&quot;media-upload-size&quot;&gt;&lt;?php printf( __( 'Maximum upload file size: %d%s' ), $upload_size_unit, $sizes[$u] ); ?&gt;&lt;/p&gt;
+&lt;p class=&quot;howto&quot;&gt;&lt;?php _e('After a file has been uploaded, you can add titles and descriptions.'); ?&gt;&lt;/p&gt;
+
</ins><span class="cx"> &lt;?php do_action('post-upload-ui'); ?&gt;
</span><span class="cx"> &lt;?php
</span><span class="cx"> }
</span><span class="lines">@@ -2272,69 +2280,17 @@
</span><span class="cx"> /**
</span><span class="cx">  * {@internal Missing Short Description}}
</span><span class="cx">  *
</span><del>- * Support a GET parameter for disabling the flash uploader.
- *
</del><span class="cx">  * @since 2.6.0
</span><del>- *
- * @param unknown_type $flash
- * @return unknown
</del><span class="cx">  */
</span><del>-function media_upload_use_flash($flash) {
-        if ( array_key_exists('flash', $_REQUEST) )
-                $flash = !empty($_REQUEST['flash']);
-        return $flash;
</del><ins>+function media_upload_max_image_resize() {
+?&gt;
+&lt;input name=&quot;image_resize&quot; type=&quot;checkbox&quot; id=&quot;image_resize&quot; value=&quot;1&quot; /&gt;
+&lt;label for=&quot;image_resize&quot;&gt;&lt;?php printf( __( 'Scale images to max width %1$dpx or max height %2$dpx'), get_option('large_size_w'), get_option('large_size_h') ); ?&gt;&lt;/label&gt;
+&lt;?php 
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-add_filter('flash_uploader', 'media_upload_use_flash');
</del><ins>+add_action('post-upload-ui', 'media_upload_max_image_resize');
</ins><span class="cx"> 
</span><del>-/**
- * {@internal Missing Short Description}}
- *
- * @since 2.6.0
- */
-function media_upload_flash_bypass() {
-        echo '&lt;p class=&quot;upload-flash-bypass&quot;&gt;';
-        printf( __('You are using the Flash uploader.  Problems?  Try the &lt;a href=&quot;%s&quot;&gt;Browser uploader&lt;/a&gt; instead.'), esc_url(add_query_arg('flash', 0)) );
-        echo '&lt;/p&gt;';
-}
-
-/**
- * {@internal Missing Short Description}}
- *
- * @since 2.6.0
- */
-function media_upload_html_bypass($flash = true) {
-        echo '&lt;p class=&quot;upload-html-bypass hide-if-no-js&quot;&gt;';
-        _e('You are using the Browser uploader.');
-        if ( $flash ) {
-                // the user manually selected the browser uploader, so let them switch back to Flash
-                echo ' ';
-                printf( __('Try the &lt;a href=&quot;%s&quot;&gt;Flash uploader&lt;/a&gt; instead.'), esc_url(add_query_arg('flash', 1)) );
-        }
-        echo &quot;&lt;/p&gt;\n&quot;;
-}
-
-add_action('post-flash-upload-ui', 'media_upload_flash_bypass');
-add_action('post-html-upload-ui', 'media_upload_html_bypass');
-
-/**
- * {@internal Missing Short Description}}
- *
- * Make sure the GET parameter sticks when we submit a form.
- *
- * @since 2.6.0
- *
- * @param unknown_type $url
- * @return unknown
- */
-function media_upload_bypass_url($url) {
-        if ( array_key_exists('flash', $_REQUEST) )
-                $url = add_query_arg('flash', intval($_REQUEST['flash']));
-        return $url;
-}
-
-add_filter('media_upload_form_url', 'media_upload_bypass_url');
-
</del><span class="cx"> add_filter('async_upload_image', 'get_media_item', 10, 2);
</span><span class="cx"> add_filter('async_upload_audio', 'get_media_item', 10, 2);
</span><span class="cx"> add_filter('async_upload_video', 'get_media_item', 10, 2);
</span></span></pre></div>
<a id="trunkwpadminmediauploadphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/media-upload.php (18481 => 18482)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/media-upload.php        2011-07-29 06:07:38 UTC (rev 18481)
+++ trunk/wp-admin/media-upload.php        2011-07-29 08:59:35 UTC (rev 18482)
</span><span class="lines">@@ -18,8 +18,8 @@
</span><span class="cx"> if (!current_user_can('upload_files'))
</span><span class="cx">         wp_die(__('You do not have permission to upload files.'));
</span><span class="cx"> 
</span><del>-wp_enqueue_script('swfupload-all');
-wp_enqueue_script('swfupload-handlers');
</del><ins>+wp_enqueue_script('plupload-full');
+wp_enqueue_script('plupload-handlers');
</ins><span class="cx"> wp_enqueue_script('image-edit');
</span><span class="cx"> wp_enqueue_script('set-post-thumbnail' );
</span><span class="cx"> wp_enqueue_style('imgareaselect');
</span></span></pre></div>
<a id="trunkwpincludesjsplupload"></a>
<div class="propset"><h4>Property changes: trunk/wp-includes/js/plupload</h4>
<pre class="diff"><span>
</span></pre></div>
<a id="bugtraqnumber"></a>
<div class="addfile"><h4>Added: bugtraq:number</h4></div>
<a id="trunkwpincludesjspluploadchangelogtxt"></a>
<div class="addfile"><h4>Added: trunk/wp-includes/js/plupload/changelog.txt (0 => 18482)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/js/plupload/changelog.txt                                (rev 0)
+++ trunk/wp-includes/js/plupload/changelog.txt        2011-07-29 08:59:35 UTC (rev 18482)
</span><span class="lines">@@ -0,0 +1,152 @@
</span><ins>+Version 1.4.3.2 (2011-04-13)
+        Fixed bug in HTML5 runtime, when was reduced by a factor of 100 after every upload.
+Version 1.4.3.1 (2011-04-12)
+        Fixed build script, mistakenly populating jquery.plupload.queue directory from jquery.ui.plupload sources.
+        Fixed script urls in all examples, build script now will alter them automatically from dev to release when needed.
+        Fixed isEmptyObj undefined error in HTML4 runtime.
+        Fixed bug in UI Widget preventing UploadComplete from triggering.
+Version 1.4.3 (2011-04-11)
+        Added Latvian language pack and updated French.
+        Fixed bug in Flash runtime when JPEG header was not investigated deep enough to reach SOFn marker in large images.
+        Fixed bug, when PNGs were cropped to width in Flash runtimes, rather then resized. 
+        Fixed Flash to allow multiple uploading of the same file, with different settings.
+        Fixed Flash runtime to clean anonymous listeners properly. 
+        Fixed HTML5 runtime to resolve to mimeType in case-insensitive way.
+        Fixed HTML5/Flash/SilverLight/Gears runtimes for inconsistency in naming of chunks feature, comparing to other runtimes.
+        Fixed HTML4/HTML5 runtimes for input[type=file] to outsize contaner effectively enough to fill the whole click area.
+        Fixed all runtimes to preserve position (relative/absolute) rule on containers that already have it.
+        Fixed SilverLight runtime to support large files (over 2GB).
+        Restructured the examples, src and build scripts to make it more clear that jQuery is optional.
+        Added support for *.* filter.
+        Added support for preserving ICC and IPTC headers when resizing JPEGs.
+        Added Image.onerror/onabort handlers to HTML5 in order to gracefully bypass faulty images.
+        Added ability to drop image size (by lowering quality), while preserving original dimension (HTML5/Flash/Gears).
+        Ported EXIF, ICC, IPTC preservation code to Flash runtime. 
+Version 1.4.2 (2011-02-20)
+        Added Brazilian Portuguese, German, Russian and Spanish translations.
+        Added support for file_data_name option to SilverLight runtime.
+        Added support for better quality image resizing to Flash runtime.
+        Added support for properly handling images with dimensions up to 8191x8191 pixels to Flash runtime.
+        Added 'updatelist' event to UI Widget, which will be triggered every time file list will get redrawn. 
+        Added support for dynamically changing options to UI Widget.
+        Fixed HTML4 runtime bug, when UploadFile handler was attached twice. 
+        Fixed HTML5 to use FileReader.readAsBinaryString() instead of File.getAsBinary() on newer WebKit browsers (like Chrome 9).
+        Fixed Flash runtime from sending duplicate Filename param, when using FileReference.upload(). 
+        Updated S3 example to illustrate support for a proper progress indication. 
+Version 1.4.1 (2011-02-01)
+        Added an example on how to use Plupload with Amazon S3 written in PHP but can easily be ported to other languages.
+        Fixed bug where hidden input elements wasn't created when the multiple_queues option wasn't used.
+        Fixed bug where FF4 would produce an exception about missing BlobBuilder.
+Version 1.4.0 (2011-01-26)
+        Added removeEvent and removeAllEvents methods and modified addEvent accordingly, in order to support dynamic unload.
+        Added unbindAll method.
+        Added UploadComplete event, which fires when internal iterator reaches the end of the queue.
+        Added public destroy method to plupload object, new event - Destroy, and corresponding handlers to all runtimes.
+        Added Czech, Italian, French, Dutch translations.
+        Added support for translatable error messages.
+        Added two new options: browse_button_hover and browse_button_active, in order to support browse_button interactivity.        
+        Added support for 'multi_selection: false' to Silverlight runtime.
+        Added support for video/mp4, video/x-m4v and audio/mp4 MIME Types. 
+        Added artificial sendAsBinary method to XMLHttpRequest.prototype for browsers that have support for BlobBuilder and typed arrays.
+        Added version tracking variable into plupload object and version comment to the header of every file.
+        Fixed measurements of browse_button element in order to size and position input[type=file] element to fit it fully.
+        Fixed Flash runtime behavior for multiple_select=false and other simpleUpload usage cases: basically new FileReference has to be created for every select dialog. 
+        Fixed browser sniffer to match only Safari, for fakeSafariDragDrop (seems like Safari on Mac doesn't require it either).
+        Fixed so that ExternalInterface escapes strings properly, before passing them to JS. 
+        Fixed eventual reinitialization of flash/silverlight runtimes, especially for cases when object wrapper needed to be programmatically hidden and then shown again.
+        Fixed so that Plupload will now ignore files with duplicate names when adding to the queue, in one set. Mainly introduced to work around Safari on Windows bug (https://bugs.webkit.org/show_bug.cgi?id=37957).
+        Fixed bug, when final UploadProgress was firing after FileUploaded for Flash simpleUpload. 
+        Fixed bug where upload would fail if an error was produced inside the FilesAdded event.
+        Fixed bug in Flash runtime when it used a wrong size when resizing, but not chunking.
+        Fixed bug in Silverlight runtime that would keep sending 0 byte packages when a picture was chunked before resized.
+        Disabled blur filter (is going to be replaced with some bilinear resampling in next release).
+        Completely revised UI Widget, to be more jQuery UI oriented. Optionally depends on UI Button, UI Sortable, UI ProgressBar.        
+Version 1.3.0 (2010-11-24)
+        Added new jQuery UI widget that supports jQuery UI themes.
+        Added new multiple_queues option that enables you to upload multiple times in the queue widgets.
+        Added support for crossdomain loading of the XAP and SWF files and crossdomain upload.
+        Added new multiple_queues option that enables you to upload multiple times in the queue widgets.
+        Added support for crossdomain loading of the XAP and SWF files and crossdomain upload.
+        Added preinit/init options to to ease up the binding of custom events to queueWidget and the Uploader class.
+        Added drag/drop support for Safari until they fix the broken drag/drop support on Windows.
+        Added events example file that show how to bind all events and display event specific data.
+        Added support for retaining Exif data on images when they where resized using the HTML5 runtime.
+        Fixed logic issue with the upload.php example file. Chunking wasn't working correctly.
+        Fixed issue with HTML4 not handling the form encoding correctly on older IE versions. Patch contributed by jinxdone.
+        Fixed so the HTML4 runtime only submits the defined multipart_params arguments.
+        Fixes issue where it wasn't possible to dynamically override url or mutlipart_params for the HTML4 runtime.
+        Fixed so all runtimes pass the name, chunk and chunks parameters as multipart parameters instead of querystring parameters.
+        Fixed so files are read using the newer FileReader class if it's available if not it tries the older getAsXXX on Gecko.
+        Fixed bug where IE 9 beta 1 wouldn't render Silverlight properly.
+        Fixed bug where Flash would do extra empty requests if images below a specific size would be uploaded.
+        Fixed bug where Google Gears would resize and re-encode images even if the it wasn't changed in scale.
+        Fixed bug where the HTML5 runtime wouldn't free memory after each request on Gecko.
+Version 1.2.4 (2010-09-08)
+        Added new BeforeUpload event to make it easier to override settings before a file is uploaded.
+        Added new automatic usage of FileReference in Flash if it's possible. Contributed by Marcel Jackwerth.
+        Added new chunking support for Chrome 5 and Firefox 3.6 using the HTML 5 runtime.
+        Added new multipart upload support for WebKit using the HTML 5 runtime and the FormData object.
+        Added new image scaling method for the Flash runtime contributed by rcoopman.
+        Added new alert error message if the user selected invalid files.
+        Added new automatic unique name generation to the example.php script. Contributed by Brandon Kelly.
+        Changed so the default upload method is multipart and the default chunk size is 0.
+        Fixed progress issue with the HTML5 runtime running on Gecko.
+        Fixed so longer extensions can be used such as .tar.gz.
+        Fixed so the file extension is retained when using the unique_names option.
+Version 1.2.3 (2010-05-27)
+        Added new drag/drop support for HTML5 running on Chrome beta.
+        Added new multipart state for the features object. It's now possible to detect multipart support.
+        Added new getFeatures function to all runtime. Basic concept by Javier Martinez Fernandez.
+        Fixed bug where runtimes where initialized even if they didn't match the required_features setting.
+Version 1.2.2.1 (2010-05-04)
+        Added new headers option, enables you to set custom headers for the upload requests.
+        Fixed bug where the file extension checking was case sensitive.
+Version 1.2.2 (2010-04-26)
+        Added new file_data_name option that enables you to set the multipart file data param. Patch contributed by Alex Ganov.
+        Added new FILE_SIZE_ERROR type that will be triggered if the user selected a file that is to large or zero bytes.
+        Added new FILE_EXTENSION_ERROR type that will be triggered if you add a file with an invalid file extension.
+        Added new required_features setting, enables you to specify a list of required features that the runtime must have.
+        Fixed so the plupload.buildUrl function uses the UTF compatible encodeURIComponent method instead of escape.
+        Fixed so that all file types can be selected if you don't specify a filter setting.
+        Fixed so more valid HTTP status codes are accepted as valid responses.
+        Fixed so all runtimes fills the features object with available features.
+        Fixed some issues with the HTML4 runtime if there wasn't any existing forms on the page.
+        Fixed some conflict issues with HTML4 runtime and forms with the input names of action or target.
+        Fixed bug where some Gecko versions would produce exceptions when checking the HTTP status of a XHR.
+Version 1.2.1 (2010-03-22)
+        Fixed bug with incorrect aspect ratio in Flash image scaling.
+        Fixed bug where chunked uploads could get scrambled in the Flash runtime. Patch contributed by Grady Werner.
+        Fixed bug where a beta version of Chrome wouldn't handle drag/drop correctly because of missing drag effect.
+        Fixed so the HTML 4 runtime displays N/A for file sizes and the progress is based on uploaded files instead of bytes.
+        Fixed so chunking can be disabled properly in Flash but that will affect the progress bar.
+        Fixed so queue widget displays the drag/drop message if file queue is emptied.
+        Fixed small files are uploaded as one single chunk and not forced into 4 chunks in the Flash runtime.
+Version 1.2 (2010-03-09)
+        Added new rename file support for jQuery queue widget, click on a file name to rename it if it's enabled.
+        Added official ChunkUploaded event, it similar to FileUploaded but executed for each chunk.
+        Added bytes per second support to total queue progress.
+        Added better error handling to core API using the new Error event.
+        Added better error handling to jQuery queue widget.
+        Fixed so chunking uploads is dispatch from JS not from inside Flash/Silverlight.
+Version 1.1.1 (2010-02-25)
+        Added new setup setting to queue widget. Makes it easier to bind custom events to uploader instance.
+        Fixed so it's possible to disable chunking compleatly. It's now disabled by default.
+        Fixed bug where multipart mode was enabled all the time in the Flash runtime.
+        Fixed bug where chunked uploading in Silverlight would fail.
+        Fixed bug where the delete button was visible while uploading.
+        Fixed bug where unique_names setting wasn't working when the core API was used.
+        Fixed bug where the queue widget wouldn't display the currently uploaded file if the unique_names was enabled.
+Version 1.1 (2010-02-24)
+        Added new multipart and multipart_params support.
+        Added new container option, enables you to specify where flash/silverlight objects would be added.
+        Added chunking support to BrowserPlus runtime, contributed by Steve Spencer.
+        Added FileUploaded event that fires when a file is uploaded.
+        Added more easily understandable buttons to queue widget.
+        Added html4 runtime, contributed by Ryan Demmer.
+        Fixed issues with i18n support and added a Swedish and Danish language pack.
+        Fixed bug where the Flash runtime could do empty requests if the image was scaled down.
+        Fixed bug where uploading small images in Silverlight would produce an exception.
+        Fixed so the runtime list can include whitespace or missing runtimes. Patch contributed by \xD8yvind Sean Kinsey.
+        Fixed so to large files are ignored and never dispatched to the FilesAdded event.
+Version 1.0 (2010-02-03)
+        First official release of Plupload.
</ins><span class="cx">Property changes on: trunk/wp-includes/js/plupload/changelog.txt
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<a id="trunkwpincludesjspluploadhandlersdevjs"></a>
<div class="addfile"><h4>Added: trunk/wp-includes/js/plupload/handlers.dev.js (0 => 18482)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/js/plupload/handlers.dev.js                                (rev 0)
+++ trunk/wp-includes/js/plupload/handlers.dev.js        2011-07-29 08:59:35 UTC (rev 18482)
</span><span class="lines">@@ -0,0 +1,400 @@
</span><ins>+var topWin = window.dialogArguments || opener || parent || top;
+
+function fileDialogStart() {
+        jQuery(&quot;#media-upload-error&quot;).empty();
+}
+
+// progress and success handlers for media multi uploads
+function fileQueued(fileObj) {
+        // Get rid of unused form
+        jQuery('.media-blank').remove();
+        // Collapse a single item
+        if ( jQuery('form.type-form #media-items').children().length == 1 &amp;&amp; jQuery('.hidden', '#media-items').length &gt; 0 ) {
+                jQuery('.describe-toggle-on').show();
+                jQuery('.describe-toggle-off').hide();
+                jQuery('.slidetoggle').slideUp(200).siblings().removeClass('hidden');
+        }
+        // Create a progress bar containing the filename
+        jQuery('#media-items').append('&lt;div id=&quot;media-item-' + fileObj.id + '&quot; class=&quot;media-item child-of-' + post_id + '&quot;&gt;&lt;div class=&quot;progress&quot;&gt;&lt;div class=&quot;bar&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;filename original&quot;&gt;&lt;span class=&quot;percent&quot;&gt;&lt;/span&gt; ' + fileObj.name + '&lt;/div&gt;&lt;/div&gt;');
+        // Display the progress div
+        jQuery('.progress', '#media-item-' + fileObj.id).show();
+
+        // Disable submit and enable cancel
+        jQuery('#insert-gallery').prop('disabled', true);
+        jQuery('#cancel-upload').prop('disabled', false);
+}
+
+function uploadStart(fileObj) {
+        try {
+                if ( typeof topWin.tb_remove != 'undefined' )
+                        topWin.jQuery('#TB_overlay').unbind('click', topWin.tb_remove); 
+        } catch(e){}
+
+        return true;
+}
+
+function uploadProgress(fileObj, bytesDone, bytesTotal) {
+        // Lengthen the progress bar
+        var w = jQuery('#media-items').width() - 2, item = jQuery('#media-item-' + fileObj.id);
+        jQuery('.bar', item).width( w * bytesDone / bytesTotal );
+        jQuery('.percent', item).html( Math.ceil(bytesDone / bytesTotal * 100) + '%' );
+
+        if ( bytesDone == bytesTotal )
+                jQuery('.bar', item).html('&lt;strong class=&quot;crunching&quot;&gt;' + pluploadL10n.crunching + '&lt;/strong&gt;');
+}
+
+function updateMediaForm() {
+        var one = jQuery('form.type-form #media-items').children(), items = jQuery('#media-items').children();
+
+        // Just one file, no need for collapsible part
+        if ( one.length == 1 ) {
+                jQuery('.slidetoggle', one).slideDown(500).siblings().addClass('hidden').filter('.toggle').toggle();
+        }
+
+        // Only show Save buttons when there is at least one file.
+        if ( items.not('.media-blank').length &gt; 0 )
+                jQuery('.savebutton').show();
+        else
+                jQuery('.savebutton').hide();
+
+        // Only show Gallery button when there are at least two files.
+        if ( items.length &gt; 1 )
+                jQuery('.insert-gallery').show();
+        else
+                jQuery('.insert-gallery').hide();
+}
+
+function uploadSuccess(fileObj, serverData) {
+        // if async-upload returned an error message, place it in the media item div and return
+        if ( serverData.match('media-upload-error') ) {
+                jQuery('#media-item-' + fileObj.id).html(serverData);
+                return;
+        }
+
+        prepareMediaItem(fileObj, serverData);
+        updateMediaForm();
+
+        // Increment the counter.
+        if ( jQuery('#media-item-' + fileObj.id).hasClass('child-of-' + post_id) )
+                jQuery('#attachments-count').text(1 * jQuery('#attachments-count').text() + 1);
+}
+
+function setResize(r) {
+        jQuery('#image_resize').prop('checked', r);
+        if (r) {
+                uploader.settings.resize = { width: resize_width, height: resize_height, quality: 100 };
+                uploader.settings.multipart_params.image_resize = true;
+        } else {
+                uploader.settings.resize = {};
+                uploader.settings.multipart_params.image_resize = null;
+        }
+}
+
+function prepareMediaItem(fileObj, serverData) {
+        var f = ( typeof shortform == 'undefined' ) ? 1 : 2, item = jQuery('#media-item-' + fileObj.id);
+        // Move the progress bar to 100%
+        jQuery('.bar', item).remove();
+        jQuery('.progress', item).hide();
+
+        try {
+                if ( typeof topWin.tb_remove != 'undefined' )
+                        topWin.jQuery('#TB_overlay').click(topWin.tb_remove);
+        } catch(e){}
+
+        // Old style: Append the HTML returned by the server -- thumbnail and form inputs
+        if ( isNaN(serverData) || !serverData ) {
+                item.append(serverData);
+                prepareMediaItemInit(fileObj);
+        }
+        // New style: server data is just the attachment ID, fetch the thumbnail and form html from the server
+        else {
+                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 &quot;pinkynail&quot; -- 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) );
+
+        // Also bind toggle to the links
+        jQuery('a.toggle', item).click(function(){
+                jQuery(this).siblings('.slidetoggle').slideToggle(350, function(){
+                        var w = jQuery(window).height(), t = jQuery(this).offset().top, h = jQuery(this).height(), b;
+
+                        if ( w &amp;&amp; t &amp;&amp; h ) {
+                b = t + h;
+
+                if ( b &gt; w &amp;&amp; (h + 48) &lt; w )
+                    window.scrollBy(0, b - w + 13);
+                else if ( b &gt; w )
+                    window.scrollTo(0, t - 36);
+            }
+                });
+                jQuery(this).siblings('.toggle').andSelf().toggle();
+                jQuery(this).siblings('a.toggle').focus();
+                return false;
+        });
+
+        // Bind AJAX to the new Delete button
+        jQuery('a.delete', item).click(function(){
+                // Tell the server to delete it. TODO: handle exceptions
+                jQuery.ajax({
+                        url: 'admin-ajax.php',
+                        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).click(function(){
+                // Tell the server to untrash it. TODO: handle exceptions
+                jQuery.ajax({
+                        url: 'admin-ajax.php',
+                        type: 'post',
+                        id: fileObj.id,
+                        data: {
+                                id : this.id.replace(/[^0-9]/g,''),
+                                action: 'untrash-post',
+                                _ajax_nonce: this.href.replace(/^.*wpnonce=/,'')
+                        },
+                        success: function(data, textStatus){
+                                var 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 ( 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('a.describe-toggle-on, .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').slideToggle(500).siblings('.toggle').toggle();
+}
+
+function cancelUpload() {
+        uploader.stop();
+        jQuery.each(uploader.files, function(i,file) {
+                if (file.status == plupload.STOPPED)
+                        jQuery('#media-item-' + file.id).remove();
+        });
+}
+
+
+// wp-specific error handlers
+
+// generic message
+function wpQueueError(message) {
+        jQuery('#media-upload-error').show().text(message);
+}
+
+// file-specific message
+function wpFileError(fileObj, message) {
+        var item = jQuery('#media-item-' + fileObj.id);
+        var filename = jQuery('.filename', item).text();
+
+        item.html('&lt;div class=&quot;error-div&quot;&gt;'
+                                + '&lt;a class=&quot;dismiss&quot; href=&quot;#&quot;&gt;' + pluploadL10n.dismiss + '&lt;/a&gt;'
+                                + '&lt;strong&gt;' + pluploadL10n.error_uploading.replace('%s', filename) + '&lt;/strong&gt;&lt;br /&gt;'
+                                + message
+                                + '&lt;/div&gt;');
+        item.find('a.dismiss').click(function(){jQuery(this).parents('.media-item').slideUp(200, function(){jQuery(this).remove();})});
+}
+
+function itemAjaxError(id, html) {
+        var item = jQuery('#media-item-' + id);
+        var filename = jQuery('.filename', item).text();
+
+        item.html('&lt;div class=&quot;error-div&quot;&gt;'
+                                + '&lt;a class=&quot;dismiss&quot; href=&quot;#&quot;&gt;' + pluploadL10n.dismiss + '&lt;/a&gt;'
+                                + '&lt;strong&gt;' + pluploadL10n.error_uploading.replace('%s', filename) + '&lt;/strong&gt;&lt;br /&gt;'
+                                + html
+                                + '&lt;/div&gt;');
+        item.find('a.dismiss').click(function(){jQuery(this).parents('.media-item').slideUp(200, function(){jQuery(this).remove();})});
+}
+
+function deleteSuccess(data, textStatus) {
+        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?');
+
+        var 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 ( 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 &amp;&amp; jQuery('.hidden', '#media-items').length &gt; 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('&lt;span class=&quot;trashnotice&quot;&gt; ' + pluploadL10n.deleted + ' &lt;/span&gt;').siblings('a.toggle').hide();
+        jQuery('.filename', item).append( jQuery('a.undo', item).removeClass('hidden') );
+        jQuery('.menu_order_input', item).hide();
+
+        return;
+}
+
+function deleteError(X, textStatus, errorThrown) {
+        // TODO
+}
+
+
+function uploadComplete(fileObj) {
+        // If no more uploads queued, enable the submit button
+        if ( swfu.getStats().files_queued == 0 ) {
+                jQuery('#cancel-upload').attr('disabled', 'disabled');
+                jQuery('#insert-gallery').attr('disabled', '');
+        }
+}
+
+
+// wp-specific error handlers
+
+// generic message
+function wpQueueError(message) {
+        jQuery('#media-upload-error').show().text(message);
+}
+
+// file-specific message
+function wpFileError(fileObj, message) {
+        var item = jQuery('#media-item-' + fileObj.id);
+        var filename = jQuery('.filename', item).text();
+
+        item.html('&lt;div class=&quot;error-div&quot;&gt;'
+                                + '&lt;a class=&quot;dismiss&quot; href=&quot;#&quot;&gt;' + pluploadL10n.dismiss + '&lt;/a&gt;'
+                                + '&lt;strong&gt;' + pluploadL10n.error_uploading.replace('%s', filename) + '&lt;/strong&gt;&lt;br /&gt;'
+                                + message
+                                + '&lt;/div&gt;');
+        item.find('a.dismiss').click(function(){jQuery(this).parents('.media-item').slideUp(200, function(){jQuery(this).remove();})});
+}
+
+function switchUploader(s) {
+        var p = document.getElementById('flash-upload-ui'), h = document.getElementById('html-upload-ui');
+        if ( s ) {
+                p.style.display = 'block';
+                h.style.display = 'none';
+        } else {
+                p.style.display = 'none';
+                h.style.display = 'block';
+        }
+}
+
+function dndHelper(s) {
+        var d = document.getElementById('dnd-helper');
+        if ( s ) {
+                d.style.display = 'block';
+        } else {
+                d.style.display = 'none';
+        }
+}
+
+function swfuploadPreLoad() {
+        if ( !uploaderMode ) {
+                switchUploader(1);
+        } else {
+                switchUploader(0);
+        }
+}
+
+function swfuploadLoadFailed() {
+        switchUploader(0);
+        jQuery('.upload-html-bypass').hide();
+}
+
+function uploadError(fileObj, errorCode, message) {
+
+        switch (errorCode) {
+                case plupload.FAILED:
+                        wpFileError(fileObj, pluploadL10n.upload_failed);
+                        break;
+                case plupload.FILE_EXTENSION_ERROR:
+                        wpFileError(fileObj, pluploadL10n.invalid_filetype);
+                        break;
+                case plupload.FILE_SIZE_ERROR:
+                        wpFileError(fileObj, pluploadL10n.upload_limit_exceeded);
+                        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:
+                        wpQueueError(pluploadL10n.io_error);
+                        break;
+                case plupload.HTTP_ERROR:
+                        wpQueueError(pluploadL10n.http_error);
+                        break;
+                case plupload.INIT_ERROR:
+                        switchUploader(0);
+                        jQuery('.upload-html-bypass').hide();
+                        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);
+        }
+}
+
+// remember the last used image size, alignment and url
+jQuery(document).ready(function($){
+        $('input[type=&quot;radio&quot;]', '#media-items').live('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').live('click', function(){
+                var c = this.className || '';
+                c = c.match(/url([^ '&quot;]+)/);
+                if ( c &amp;&amp; c[1] ) {
+                        setUserSetting('urlbutton', c[1]);
+                        $(this).siblings('.urlfield').val( $(this).attr('title') );
+                }
+        });
+});
</ins><span class="cx">Property changes on: trunk/wp-includes/js/plupload/handlers.dev.js
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<a id="trunkwpincludesjspluploadhandlersjs"></a>
<div class="addfile"><h4>Added: trunk/wp-includes/js/plupload/handlers.js (0 => 18482)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/js/plupload/handlers.js                                (rev 0)
+++ trunk/wp-includes/js/plupload/handlers.js        2011-07-29 08:59:35 UTC (rev 18482)
</span><span class="lines">@@ -0,0 +1,22 @@
</span><ins>+var topWin=window.dialogArguments||opener||parent||top;function fileDialogStart(){jQuery(&quot;#media-upload-error&quot;).empty()}
+function fileQueued(a){jQuery(&quot;.media-blank&quot;).remove();jQuery(&quot;form.type-form #media-items&quot;).children().length==1&amp;&amp;jQuery(&quot;.hidden&quot;,&quot;#media-items&quot;).length&gt;0&amp;&amp;(jQuery(&quot;.describe-toggle-on&quot;).show(),jQuery(&quot;.describe-toggle-off&quot;).hide(),jQuery(&quot;.slidetoggle&quot;).slideUp(200).siblings().removeClass(&quot;hidden&quot;));jQuery(&quot;#media-items&quot;).append('&lt;div id=&quot;media-item-'+a.id+'&quot; class=&quot;media-item child-of-'+post_id+'&quot;&gt;&lt;div class=&quot;progress&quot;&gt;&lt;div class=&quot;bar&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;filename original&quot;&gt;&lt;span class=&quot;percent&quot;&gt;&lt;/span&gt; '+
+a.name+&quot;&lt;/div&gt;&lt;/div&gt;&quot;);jQuery(&quot;.progress&quot;,&quot;#media-item-&quot;+a.id).show();jQuery(&quot;#insert-gallery&quot;).attr(&quot;disabled&quot;,&quot;disabled&quot;);jQuery(&quot;#cancel-upload&quot;).attr(&quot;disabled&quot;,&quot;&quot;)}function uploadStart(){try{typeof topWin.tb_remove!=&quot;undefined&quot;&amp;&amp;topWin.jQuery(&quot;#TB_overlay&quot;).unbind(&quot;click&quot;,topWin.tb_remove)}catch(a){}return!0}
+function uploadProgress(a,b,c){var d=jQuery(&quot;#media-items&quot;).width()-2,a=jQuery(&quot;#media-item-&quot;+a.id);jQuery(&quot;.bar&quot;,a).width(d*b/c);jQuery(&quot;.percent&quot;,a).html(Math.ceil(b/c*100)+&quot;%&quot;);b==c&amp;&amp;jQuery(&quot;.bar&quot;,a).html('&lt;strong class=&quot;crunching&quot;&gt;'+pluploadL10n.crunching+&quot;&lt;/strong&gt;&quot;)}
+function updateMediaForm(){var a=jQuery(&quot;form.type-form #media-items&quot;).children(),b=jQuery(&quot;#media-items&quot;).children();a.length==1&amp;&amp;jQuery(&quot;.slidetoggle&quot;,a).slideDown(500).siblings().addClass(&quot;hidden&quot;).filter(&quot;.toggle&quot;).toggle();b.not(&quot;.media-blank&quot;).length&gt;0?jQuery(&quot;.savebutton&quot;).show():jQuery(&quot;.savebutton&quot;).hide();b.length&gt;1?jQuery(&quot;.insert-gallery&quot;).show():jQuery(&quot;.insert-gallery&quot;).hide()}
+function uploadSuccess(a,b){b.match(&quot;media-upload-error&quot;)?jQuery(&quot;#media-item-&quot;+a.id).html(b):(prepareMediaItem(a,b),updateMediaForm(),jQuery(&quot;#media-item-&quot;+a.id).hasClass(&quot;child-of-&quot;+post_id)&amp;&amp;jQuery(&quot;#attachments-count&quot;).text(1*jQuery(&quot;#attachments-count&quot;).text()+1))}
+function setResize(a){jQuery(&quot;#image_resize&quot;).prop(&quot;checked&quot;,a);a?(uploader.settings.resize={width:resize_width,height:resize_height,quality:100},uploader.settings.multipart_params.image_resize=!0):(uploader.settings.resize={},uploader.settings.multipart_params.image_resize=null)}
+function prepareMediaItem(a,b){var c=typeof shortform==&quot;undefined&quot;?1:2,d=jQuery(&quot;#media-item-&quot;+a.id);jQuery(&quot;.bar&quot;,d).remove();jQuery(&quot;.progress&quot;,d).hide();try{typeof topWin.tb_remove!=&quot;undefined&quot;&amp;&amp;topWin.jQuery(&quot;#TB_overlay&quot;).click(topWin.tb_remove)}catch(e){}isNaN(b)||!b?(d.append(b),prepareMediaItemInit(a)):d.load(&quot;async-upload.php&quot;,{attachment_id:b,fetch:c},function(){prepareMediaItemInit(a);updateMediaForm()})}
+function prepareMediaItemInit(a){var b=jQuery(&quot;#media-item-&quot;+a.id);jQuery(&quot;.thumbnail&quot;,b).clone().attr(&quot;class&quot;,&quot;pinkynail toggle&quot;).prependTo(b);jQuery(&quot;.filename.original&quot;,b).replaceWith(jQuery(&quot;.filename.new&quot;,b));jQuery(&quot;a.toggle&quot;,b).click(function(){jQuery(this).siblings(&quot;.slidetoggle&quot;).slideToggle(350,function(){var a=jQuery(window).height(),b=jQuery(this).offset().top,e=jQuery(this).height(),f;a&amp;&amp;b&amp;&amp;e&amp;&amp;(f=b+e,f&gt;a&amp;&amp;e+48&lt;a?window.scrollBy(0,f-a+13):f&gt;a&amp;&amp;window.scrollTo(0,b-36))});jQuery(this).siblings(&quot;.toggle&quot;).andSelf().toggle();
+jQuery(this).siblings(&quot;a.toggle&quot;).focus();return!1});jQuery(&quot;a.delete&quot;,b).click(function(){jQuery.ajax({url:&quot;admin-ajax.php&quot;,type:&quot;post&quot;,success:deleteSuccess,error:deleteError,id:a.id,data:{id:this.id.replace(/[^0-9]/g,&quot;&quot;),action:&quot;trash-post&quot;,_ajax_nonce:this.href.replace(/^.*wpnonce=/,&quot;&quot;)}});return!1});jQuery(&quot;a.undo&quot;,b).click(function(){jQuery.ajax({url:&quot;admin-ajax.php&quot;,type:&quot;post&quot;,id:a.id,data:{id:this.id.replace(/[^0-9]/g,&quot;&quot;),action:&quot;untrash-post&quot;,_ajax_nonce:this.href.replace(/^.*wpnonce=/,
+&quot;&quot;)},success:function(){var b=jQuery(&quot;#media-item-&quot;+a.id);(type=jQuery(&quot;#type-of-&quot;+a.id).val())&amp;&amp;jQuery(&quot;#&quot;+type+&quot;-counter&quot;).text(jQuery(&quot;#&quot;+type+&quot;-counter&quot;).text()-0+1);b.hasClass(&quot;child-of-&quot;+post_id)&amp;&amp;jQuery(&quot;#attachments-count&quot;).text(jQuery(&quot;#attachments-count&quot;).text()-0+1);jQuery(&quot;.filename .trashnotice&quot;,b).remove();jQuery(&quot;.filename .title&quot;,b).css(&quot;font-weight&quot;,&quot;normal&quot;);jQuery(&quot;a.undo&quot;,b).addClass(&quot;hidden&quot;);jQuery(&quot;a.describe-toggle-on, .menu_order_input&quot;,b).show();b.css({backgroundColor:&quot;#ceb&quot;}).animate({backgroundColor:&quot;#fff&quot;},
+{queue:!1,duration:500,complete:function(){jQuery(this).css({backgroundColor:&quot;&quot;})}}).removeClass(&quot;undo&quot;)}});return!1});jQuery(&quot;#media-item-&quot;+a.id+&quot;.startopen&quot;).removeClass(&quot;startopen&quot;).slideToggle(500).siblings(&quot;.toggle&quot;).toggle()}function cancelUpload(){uploader.stop();jQuery.each(uploader.files,function(a,b){b.status==plupload.STOPPED&amp;&amp;jQuery(&quot;#media-item-&quot;+b.id).remove()})}function wpQueueError(a){jQuery(&quot;#media-upload-error&quot;).show().text(a)}
+function wpFileError(a,b){var c=jQuery(&quot;#media-item-&quot;+a.id),d=jQuery(&quot;.filename&quot;,c).text();c.html('&lt;div class=&quot;error-div&quot;&gt;&lt;a class=&quot;dismiss&quot; href=&quot;#&quot;&gt;'+pluploadL10n.dismiss+&quot;&lt;/a&gt;&lt;strong&gt;&quot;+pluploadL10n.error_uploading.replace(&quot;%s&quot;,d)+&quot;&lt;/strong&gt;&lt;br /&gt;&quot;+b+&quot;&lt;/div&gt;&quot;);c.find(&quot;a.dismiss&quot;).click(function(){jQuery(this).parents(&quot;.media-item&quot;).slideUp(200,function(){jQuery(this).remove()})})}
+function itemAjaxError(a,b){var c=jQuery(&quot;#media-item-&quot;+a),d=jQuery(&quot;.filename&quot;,c).text();c.html('&lt;div class=&quot;error-div&quot;&gt;&lt;a class=&quot;dismiss&quot; href=&quot;#&quot;&gt;'+pluploadL10n.dismiss+&quot;&lt;/a&gt;&lt;strong&gt;&quot;+pluploadL10n.error_uploading.replace(&quot;%s&quot;,d)+&quot;&lt;/strong&gt;&lt;br /&gt;&quot;+b+&quot;&lt;/div&gt;&quot;);c.find(&quot;a.dismiss&quot;).click(function(){jQuery(this).parents(&quot;.media-item&quot;).slideUp(200,function(){jQuery(this).remove()})})}
+function deleteSuccess(a){if(a==&quot;-1&quot;)return itemAjaxError(this.id,&quot;You do not have permission. Has your session expired?&quot;);if(a==&quot;0&quot;)return itemAjaxError(this.id,&quot;Could not be deleted. Has it been deleted already?&quot;);var a=this.id,b=jQuery(&quot;#media-item-&quot;+a);(type=jQuery(&quot;#type-of-&quot;+a).val())&amp;&amp;jQuery(&quot;#&quot;+type+&quot;-counter&quot;).text(jQuery(&quot;#&quot;+type+&quot;-counter&quot;).text()-1);b.hasClass(&quot;child-of-&quot;+post_id)&amp;&amp;jQuery(&quot;#attachments-count&quot;).text(jQuery(&quot;#attachments-count&quot;).text()-1);jQuery(&quot;form.type-form #media-items&quot;).children().length==
+1&amp;&amp;jQuery(&quot;.hidden&quot;,&quot;#media-items&quot;).length&gt;0&amp;&amp;(jQuery(&quot;.toggle&quot;).toggle(),jQuery(&quot;.slidetoggle&quot;).slideUp(200).siblings().removeClass(&quot;hidden&quot;));jQuery(&quot;.toggle&quot;,b).toggle();jQuery(&quot;.slidetoggle&quot;,b).slideUp(200).siblings().removeClass(&quot;hidden&quot;);b.css({backgroundColor:&quot;#faa&quot;}).animate({backgroundColor:&quot;#f4f4f4&quot;},{queue:!1,duration:500}).addClass(&quot;undo&quot;);jQuery(&quot;.filename:empty&quot;,b).remove();jQuery(&quot;.filename .title&quot;,b).css(&quot;font-weight&quot;,&quot;bold&quot;);jQuery(&quot;.filename&quot;,b).append('&lt;span class=&quot;trashnotice&quot;&gt; '+
+pluploadL10n.deleted+&quot; &lt;/span&gt;&quot;).siblings(&quot;a.toggle&quot;).hide();jQuery(&quot;.filename&quot;,b).append(jQuery(&quot;a.undo&quot;,b).removeClass(&quot;hidden&quot;));jQuery(&quot;.menu_order_input&quot;,b).hide()}function deleteError(){}function uploadComplete(){swfu.getStats().files_queued==0&amp;&amp;(jQuery(&quot;#cancel-upload&quot;).attr(&quot;disabled&quot;,&quot;disabled&quot;),jQuery(&quot;#insert-gallery&quot;).attr(&quot;disabled&quot;,&quot;&quot;))}function wpQueueError(a){jQuery(&quot;#media-upload-error&quot;).show().text(a)}
+function wpFileError(a,b){var c=jQuery(&quot;#media-item-&quot;+a.id),d=jQuery(&quot;.filename&quot;,c).text();c.html('&lt;div class=&quot;error-div&quot;&gt;&lt;a class=&quot;dismiss&quot; href=&quot;#&quot;&gt;'+pluploadL10n.dismiss+&quot;&lt;/a&gt;&lt;strong&gt;&quot;+pluploadL10n.error_uploading.replace(&quot;%s&quot;,d)+&quot;&lt;/strong&gt;&lt;br /&gt;&quot;+b+&quot;&lt;/div&gt;&quot;);c.find(&quot;a.dismiss&quot;).click(function(){jQuery(this).parents(&quot;.media-item&quot;).slideUp(200,function(){jQuery(this).remove()})})}
+function switchUploader(a){var b=document.getElementById(&quot;flash-upload-ui&quot;),c=document.getElementById(&quot;html-upload-ui&quot;);a?(b.style.display=&quot;block&quot;,c.style.display=&quot;none&quot;):(b.style.display=&quot;none&quot;,c.style.display=&quot;block&quot;)}function dndHelper(a){document.getElementById(&quot;dnd-helper&quot;).style.display=a?&quot;block&quot;:&quot;none&quot;}function swfuploadPreLoad(){uploaderMode?switchUploader(0):switchUploader(1)}function swfuploadLoadFailed(){switchUploader(0);jQuery(&quot;.upload-html-bypass&quot;).hide()}
+function uploadError(a,b){switch(b){case plupload.FAILED:wpFileError(a,pluploadL10n.upload_failed);break;case plupload.FILE_EXTENSION_ERROR:wpFileError(a,pluploadL10n.invalid_filetype);break;case plupload.FILE_SIZE_ERROR:wpFileError(a,pluploadL10n.upload_limit_exceeded);break;case plupload.IMAGE_FORMAT_ERROR:wpFileError(a,pluploadL10n.not_an_image);break;case plupload.IMAGE_MEMORY_ERROR:wpFileError(a,pluploadL10n.image_memory_exceeded);break;case plupload.IMAGE_DIMENSIONS_ERROR:wpFileError(a,pluploadL10n.image_dimensions_exceeded);
+break;case plupload.GENERIC_ERROR:wpQueueError(pluploadL10n.upload_failed);break;case plupload.IO_ERROR:wpQueueError(pluploadL10n.io_error);break;case plupload.HTTP_ERROR:wpQueueError(pluploadL10n.http_error);break;case plupload.INIT_ERROR:switchUploader(0);jQuery(&quot;.upload-html-bypass&quot;).hide();break;case plupload.SECURITY_ERROR:wpQueueError(pluploadL10n.security_error);break;default:wpFileError(a,pluploadL10n.default_error)}}
+jQuery(document).ready(function(a){a('input[type=&quot;radio&quot;]',&quot;#media-items&quot;).live(&quot;click&quot;,function(){var b=a(this).closest(&quot;tr&quot;);a(b).hasClass(&quot;align&quot;)?setUserSetting(&quot;align&quot;,a(this).val()):a(b).hasClass(&quot;image-size&quot;)&amp;&amp;setUserSetting(&quot;imgsize&quot;,a(this).val())});a(&quot;button.button&quot;,&quot;#media-items&quot;).live(&quot;click&quot;,function(){var b=this.className||&quot;&quot;;if((b=b.match(/url([^ '&quot;]+)/))&amp;&amp;b[1])setUserSetting(&quot;urlbutton&quot;,b[1]),a(this).siblings(&quot;.urlfield&quot;).val(a(this).attr(&quot;title&quot;))})});
</ins><span class="cx">Property changes on: trunk/wp-includes/js/plupload/handlers.js
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<a id="trunkwpincludesjspluploadlicensetxt"></a>
<div class="addfile"><h4>Added: trunk/wp-includes/js/plupload/license.txt (0 => 18482)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/js/plupload/license.txt                                (rev 0)
+++ trunk/wp-includes/js/plupload/license.txt        2011-07-29 08:59:35 UTC (rev 18482)
</span><span class="lines">@@ -0,0 +1,339 @@
</span><ins>+                    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 &quot;Program&quot;, below,
+refers to any such program or work, and a &quot;work based on the Program&quot;
+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 &quot;modification&quot;.)  Each licensee is addressed as &quot;you&quot;.
+
+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 &quot;any
+later version&quot;, 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 &quot;AS IS&quot; 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 &quot;copyright&quot; line and a pointer to where the full notice is found.
+
+    &lt;one line to give the program's name and a brief idea of what it does.&gt;
+    Copyright (C) &lt;year&gt;  &lt;name of author&gt;
+
+    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 &quot;copyright disclaimer&quot; 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.
+
+  &lt;signature of Ty Coon&gt;, 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.
</ins><span class="cx">Property changes on: trunk/wp-includes/js/plupload/license.txt
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<a id="trunkwpincludesjspluploadpluploadflashjs"></a>
<div class="addfile"><h4>Added: trunk/wp-includes/js/plupload/plupload.flash.js (0 => 18482)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/js/plupload/plupload.flash.js                                (rev 0)
+++ trunk/wp-includes/js/plupload/plupload.flash.js        2011-07-29 08:59:35 UTC (rev 18482)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+(function(f,b,d,e){var a={},g={};function c(){var h;try{h=navigator.plugins[&quot;Shockwave Flash&quot;];h=h.description}catch(j){try{h=new ActiveXObject(&quot;ShockwaveFlash.ShockwaveFlash&quot;).GetVariable(&quot;$version&quot;)}catch(i){h=&quot;0.0&quot;}}h=h.match(/\d+/g);return parseFloat(h[0]+&quot;.&quot;+h[1])}d.flash={trigger:function(j,h,i){setTimeout(function(){var m=a[j],l,k;if(m){m.trigger(&quot;Flash:&quot;+h,i)}},0)}};d.runtimes.Flash=d.addRuntime(&quot;flash&quot;,{getFeatures:function(){return{jpgresize:true,pngresize:true,maxWidth:8091,maxHeight:8091,chunks:true,progress:true,multipart:true}},init:function(j,o){var n,i,k,p=0,h=b.body;if(c()&lt;10){o({success:false});return}g[j.id]=false;a[j.id]=j;n=b.getElementById(j.settings.browse_button);i=b.createElement(&quot;div&quot;);i.id=j.id+&quot;_flash_container&quot;;d.extend(i.style,{position:&quot;absolute&quot;,top:&quot;0px&quot;,background:j.settings.shim_bgcolor||&quot;transparent&quot;,zIndex
 :99999,width:&quot;100%&quot;,height:&quot;100%&quot;});i.className=&quot;plupload flash&quot;;if(j.settings.container){h=b.getElementById(j.settings.container);if(d.getStyle(h,&quot;position&quot;)===&quot;static&quot;){h.style.position=&quot;relative&quot;}}h.appendChild(i);k=&quot;id=&quot;+escape(j.id);i.innerHTML='&lt;object id=&quot;'+j.id+'_flash&quot; width=&quot;100%&quot; height=&quot;100%&quot; style=&quot;outline:0&quot; type=&quot;application/x-shockwave-flash&quot; data=&quot;'+j.settings.flash_swf_url+'&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;'+j.settings.flash_swf_url+'&quot; /&gt;&lt;param name=&quot;flashvars&quot; value=&quot;'+k+'&quot; /&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot; /&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot; /&gt;&lt;/object&gt;';function m(){return b.getElementById(j.id+&quot;_flash&quot;)}function l(){if(p++&gt;5000){o({success:false});return}if(!g[j.id]){setTimeout(l,1)
 }}l();n=i=null;j.bind(&quot;Flash:Init&quot;,function(){var r={},q;m().setFileFilters(j.settings.filters,j.settings.multi_selection);if(g[j.id]){return}g[j.id]=true;j.bind(&quot;UploadFile&quot;,function(s,u){var v=s.settings,t=j.settings.resize||{};m().uploadFile(r[u.id],v.url,{name:u.target_name||u.name,mime:d.mimeTypes[u.name.replace(/^.+\.([^.]+)/,&quot;$1&quot;).toLowerCase()]||&quot;application/octet-stream&quot;,chunk_size:v.chunk_size,width:t.width,height:t.height,quality:t.quality,multipart:v.multipart,multipart_params:v.multipart_params||{},file_data_name:v.file_data_name,format:/\.(jpg|jpeg)$/i.test(u.name)?&quot;jpg&quot;:&quot;png&quot;,headers:v.headers,urlstream_upload:v.urlstream_upload})});j.bind(&quot;Flash:UploadProcess&quot;,function(t,s){var u=t.getFile(r[s.id]);if(u.status!=d.FAILED){u.loaded=s.loaded;u.size=s.size;t.trigger(&quot;UploadProgress&quot;,u)}});j.bind(&quot;Flash:UploadChunkComplete&quot;,function(s,u){var v,t=s.getFile(r[u.id]);v={chunk:u.
 chunk,chunks:u.chunks,response:u.text};s.trigger(&quot;ChunkUploaded&quot;,t,v);if(t.status!=d.FAILED){m().uploadNextChunk()}if(u.chunk==u.chunks-1){t.status=d.DONE;s.trigger(&quot;FileUploaded&quot;,t,{response:u.text})}});j.bind(&quot;Flash:SelectFiles&quot;,function(s,v){var u,t,w=[],x;for(t=0;t&lt;v.length;t++){u=v[t];x=d.guid();r[x]=u.id;r[u.id]=x;w.push(new d.File(x,u.name,u.size))}if(w.length){j.trigger(&quot;FilesAdded&quot;,w)}});j.bind(&quot;Flash:SecurityError&quot;,function(s,t){j.trigger(&quot;Error&quot;,{code:d.SECURITY_ERROR,message:d.translate(&quot;Security error.&quot;),details:t.message,file:j.getFile(r[t.id])})});j.bind(&quot;Flash:GenericError&quot;,function(s,t){j.trigger(&quot;Error&quot;,{code:d.GENERIC_ERROR,message:d.translate(&quot;Generic error.&quot;),details:t.message,file:j.getFile(r[t.id])})});j.bind(&quot;Flash:IOError&quot;,function(s,t){j.trigger(&quot;Error&quot;,{code:d.IO_ERROR,message:d.translate(&quot;IO error.&quot;),details:t.messag
 e,file:j.getFile(r[t.id])})});j.bind(&quot;Flash:ImageError&quot;,function(s,t){j.trigger(&quot;Error&quot;,{code:parseInt(t.code,10),message:d.translate(&quot;Image error.&quot;),file:j.getFile(r[t.id])})});j.bind(&quot;Flash:StageEvent:rollOver&quot;,function(s){var t,u;t=b.getElementById(j.settings.browse_button);u=s.settings.browse_button_hover;if(t&amp;&amp;u){d.addClass(t,u)}});j.bind(&quot;Flash:StageEvent:rollOut&quot;,function(s){var t,u;t=b.getElementById(j.settings.browse_button);u=s.settings.browse_button_hover;if(t&amp;&amp;u){d.removeClass(t,u)}});j.bind(&quot;Flash:StageEvent:mouseDown&quot;,function(s){var t,u;t=b.getElementById(j.settings.browse_button);u=s.settings.browse_button_active;if(t&amp;&amp;u){d.addClass(t,u);d.addEvent(b.body,&quot;mouseup&quot;,function(){d.removeClass(t,u)},s.id)}});j.bind(&quot;Flash:StageEvent:mouseUp&quot;,function(s){var t,u;t=b.getElementById(j.settings.browse_button);u=s.settings.browse_button_active;if(t&amp;&amp;u){d.rem
 oveClass(t,u)}});j.bind(&quot;QueueChanged&quot;,function(s){j.refresh()});j.bind(&quot;FilesRemoved&quot;,function(s,u){var t;for(t=0;t&lt;u.length;t++){m().removeFile(r[u[t].id])}});j.bind(&quot;StateChanged&quot;,function(s){j.refresh()});j.bind(&quot;Refresh&quot;,function(s){var t,u,v;m().setFileFilters(j.settings.filters,j.settings.multi_selection);t=b.getElementById(s.settings.browse_button);if(t){u=d.getPos(t,b.getElementById(s.settings.container));v=d.getSize(t);d.extend(b.getElementById(s.id+&quot;_flash_container&quot;).style,{top:u.y+&quot;px&quot;,left:u.x+&quot;px&quot;,width:v.w+&quot;px&quot;,height:v.h+&quot;px&quot;})}});j.bind(&quot;Destroy&quot;,function(s){var t;d.removeAllEvents(b.body,s.id);delete g[s.id];delete a[s.id];t=b.getElementById(s.id+&quot;_flash_container&quot;);if(t){h.removeChild(t)}});o({success:true})})}})})(window,document,plupload);
</ins><span class="cx">Property changes on: trunk/wp-includes/js/plupload/plupload.flash.js
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<a id="trunkwpincludesjspluploadpluploadflashswf"></a>
<div class="binary"><h4>Added: trunk/wp-includes/js/plupload/plupload.flash.swf</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<span class="cx">Property changes on: trunk/wp-includes/js/plupload/plupload.flash.swf
</span><span class="cx">___________________________________________________________________
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<a id="trunkwpincludesjspluploadpluploadfulljs"></a>
<div class="addfile"><h4>Added: trunk/wp-includes/js/plupload/plupload.full.js (0 => 18482)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/js/plupload/plupload.full.js                                (rev 0)
+++ trunk/wp-includes/js/plupload/plupload.full.js        2011-07-29 08:59:35 UTC (rev 18482)
</span><span class="lines">@@ -0,0 +1,2 @@
</span><ins>+/*1.4.3.2*/
+(function(){var f=0,l=[],n={},j={},a={&quot;&lt;&quot;:&quot;lt&quot;,&quot;&gt;&quot;:&quot;gt&quot;,&quot;&amp;&quot;:&quot;amp&quot;,'&quot;':&quot;quot&quot;,&quot;'&quot;:&quot;#39&quot;},m=/[&lt;&gt;&amp;\&quot;\']/g,b,c=window.setTimeout,d={},e;function h(){this.returnValue=false}function k(){this.cancelBubble=true}(function(o){var p=o.split(/,/),q,s,r;for(q=0;q&lt;p.length;q+=2){r=p[q+1].split(/ /);for(s=0;s&lt;r.length;s++){j[r[s]]=p[q]}}})(&quot;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,docx pptx xlsx,audio/mpeg,mpga mpega mp2 mp3,audio/x-wav,wav,audio/mp4,m4a,image/bmp,bmp,image/gif,gif,image/jpeg,jpeg jpg jpe,image/png,png,image/svg+xml,svg svgz,image/tiff,tiff tif,text/html,htm html xhtml,text/rtf,rtf,video/mpeg,m
 peg mpg mpe,video/quicktime,qt mov,video/mp4,mp4,video/x-m4v,m4v,video/x-flv,flv,video/vnd.rn-realvideo,rv,text/plain,asc txt text diff log,application/octet-stream,exe&quot;);var g={VERSION:&quot;1.4.3.2&quot;,STOPPED:1,STARTED:2,QUEUED:1,UPLOADING:2,FAILED:4,DONE:5,GENERIC_ERROR:-100,HTTP_ERROR:-200,IO_ERROR:-300,SECURITY_ERROR:-400,INIT_ERROR:-500,FILE_SIZE_ERROR:-600,FILE_EXTENSION_ERROR:-601,IMAGE_FORMAT_ERROR:-700,IMAGE_MEMORY_ERROR:-701,IMAGE_DIMENSIONS_ERROR:-702,mimeTypes:j,extend:function(o){g.each(arguments,function(p,q){if(q&gt;0){g.each(p,function(s,r){o[r]=s})}});return o},cleanName:function(o){var p,q;q=[/[\300-\306]/g,&quot;A&quot;,/[\340-\346]/g,&quot;a&quot;,/\307/g,&quot;C&quot;,/\347/g,&quot;c&quot;,/[\310-\313]/g,&quot;E&quot;,/[\350-\353]/g,&quot;e&quot;,/[\314-\317]/g,&quot;I&quot;,/[\354-\357]/g,&quot;i&quot;,/\321/g,&quot;N&quot;,/\361/g,&quot;n&quot;,/[\322-\330]/g,&quot;O&quot;,/[\362-\370]/g,&quot;o&quot;,/[\331-\334]/g,&quot;U&quot;,/[\371-\374]/
 g,&quot;u&quot;];for(p=0;p&lt;q.length;p+=2){o=o.replace(q[p],q[p+1])}o=o.replace(/\s+/g,&quot;_&quot;);o=o.replace(/[^a-z0-9_\-\.]+/gi,&quot;&quot;);return o},addRuntime:function(o,p){p.name=o;l[o]=p;l.push(p);return p},guid:function(){var o=new Date().getTime().toString(32),p;for(p=0;p&lt;5;p++){o+=Math.floor(Math.random()*65535).toString(32)}return(g.guidPrefix||&quot;p&quot;)+o+(f++).toString(32)},buildUrl:function(p,o){var q=&quot;&quot;;g.each(o,function(s,r){q+=(q?&quot;&amp;&quot;:&quot;&quot;)+encodeURIComponent(r)+&quot;=&quot;+encodeURIComponent(s)});if(q){p+=(p.indexOf(&quot;?&quot;)&gt;0?&quot;&amp;&quot;:&quot;?&quot;)+q}return p},each:function(r,s){var q,p,o;if(r){q=r.length;if(q===b){for(p in r){if(r.hasOwnProperty(p)){if(s(r[p],p)===false){return}}}}else{for(o=0;o&lt;q;o++){if(s(r[o],o)===false){return}}}}},formatSize:function(o){if(o===b||/\D/.test(o)){return g.translate(&quot;N/A&quot;)}if(o&gt;1073741824){return Math.round(o/1073741824,1)+&quot; GB&quot;}
 if(o&gt;1048576){return Math.round(o/1048576,1)+&quot; MB&quot;}if(o&gt;1024){return Math.round(o/1024,1)+&quot; KB&quot;}return o+&quot; b&quot;},getPos:function(p,t){var u=0,s=0,w,v=document,q,r;p=p;t=t||v.body;function o(C){var A,B,z=0,D=0;if(C){B=C.getBoundingClientRect();A=v.compatMode===&quot;CSS1Compat&quot;?v.documentElement:v.body;z=B.left+A.scrollLeft;D=B.top+A.scrollTop}return{x:z,y:D}}if(p&amp;&amp;p.getBoundingClientRect&amp;&amp;(navigator.userAgent.indexOf(&quot;MSIE&quot;)&gt;0&amp;&amp;v.documentMode!==8)){q=o(p);r=o(t);return{x:q.x-r.x,y:q.y-r.y}}w=p;while(w&amp;&amp;w!=t&amp;&amp;w.nodeType){u+=w.offsetLeft||0;s+=w.offsetTop||0;w=w.offsetParent}w=p.parentNode;while(w&amp;&amp;w!=t&amp;&amp;w.nodeType){u-=w.scrollLeft||0;s-=w.scrollTop||0;w=w.parentNode}return{x:u,y:s}},getSize:function(o){return{w:o.offsetWidth||o.clientWidth,h:o.offsetHeight||o.clientHeight}},parseSize:function(o){var p;if(typeof(o)==&quot;string&quot;){o=/^([0-9]+)([mgk]+)$/.exec(o.toLow
 erCase().replace(/[^0-9mkg]/g,&quot;&quot;));p=o[2];o=+o[1];if(p==&quot;g&quot;){o*=1073741824}if(p==&quot;m&quot;){o*=1048576}if(p==&quot;k&quot;){o*=1024}}return o},xmlEncode:function(o){return o?(&quot;&quot;+o).replace(m,function(p){return a[p]?&quot;&amp;&quot;+a[p]+&quot;;&quot;:p}):o},toArray:function(q){var p,o=[];for(p=0;p&lt;q.length;p++){o[p]=q[p]}return o},addI18n:function(o){return g.extend(n,o)},translate:function(o){return n[o]||o},isEmptyObj:function(o){if(o===b){return true}for(var p in o){return false}return true},hasClass:function(q,p){var o;if(q.className==&quot;&quot;){return false}o=new RegExp(&quot;(^|\\s+)&quot;+p+&quot;(\\s+|$)&quot;);return o.test(q.className)},addClass:function(p,o){if(!g.hasClass(p,o)){p.className=p.className==&quot;&quot;?o:p.className.replace(/\s+$/,&quot;&quot;)+&quot; &quot;+o}},removeClass:function(q,p){var o=new RegExp(&quot;(^|\\s+)&quot;+p+&quot;(\\s+|$)&quot;);q.className=q.className.replace(o,function(s,r,t){return r===&
 quot; &quot;&amp;&amp;t===&quot; &quot;?&quot; &quot;:&quot;&quot;})},getStyle:function(p,o){if(p.currentStyle){return p.currentStyle[o]}else{if(window.getComputedStyle){return window.getComputedStyle(p,null)[o]}}},addEvent:function(t,o,u){var s,r,q,p;p=arguments[3];o=o.toLowerCase();if(e===b){e=&quot;Plupload_&quot;+g.guid()}if(t.attachEvent){s=function(){var v=window.event;if(!v.target){v.target=v.srcElement}v.preventDefault=h;v.stopPropagation=k;u(v)};t.attachEvent(&quot;on&quot;+o,s)}else{if(t.addEventListener){s=u;t.addEventListener(o,s,false)}}if(t[e]===b){t[e]=g.guid()}if(!d.hasOwnProperty(t[e])){d[t[e]]={}}r=d[t[e]];if(!r.hasOwnProperty(o)){r[o]=[]}r[o].push({func:s,orig:u,key:p})},removeEvent:function(t,o){var r,u,q;if(typeof(arguments[2])==&quot;function&quot;){u=arguments[2]}else{q=arguments[2]}o=o.toLowerCase();if(t[e]&amp;&amp;d[t[e]]&amp;&amp;d[t[e]][o]){r=d[t[e]][o]}else{return}for(var p=r.length-1;p&gt;=0;p--){if(r[p].key===q||r[p].orig===u){if(t.detachEvent)
 {t.detachEvent(&quot;on&quot;+o,r[p].func)}else{if(t.removeEventListener){t.removeEventListener(o,r[p].func,false)}}r[p].orig=null;r[p].func=null;r.splice(p,1);if(u!==b){break}}}if(!r.length){delete d[t[e]][o]}if(g.isEmptyObj(d[t[e]])){delete d[t[e]];try{delete t[e]}catch(s){t[e]=b}}},removeAllEvents:function(p){var o=arguments[1];if(p[e]===b||!p[e]){return}g.each(d[p[e]],function(r,q){g.removeEvent(p,q,o)})}};g.Uploader=function(r){var p={},u,t=[],q;u=new g.QueueProgress();r=g.extend({chunk_size:0,multipart:true,multi_selection:true,file_data_name:&quot;file&quot;,filters:[]},r);function s(){var w,x=0,v;if(this.state==g.STARTED){for(v=0;v&lt;t.length;v++){if(!w&amp;&amp;t[v].status==g.QUEUED){w=t[v];w.status=g.UPLOADING;this.trigger(&quot;BeforeUpload&quot;,w);this.trigger(&quot;UploadFile&quot;,w)}else{x++}}if(x==t.length){this.trigger(&quot;UploadComplete&quot;,t);this.stop()}}}function o(){var w,v;u.reset();for(w=0;w&lt;t.length;w++){v=t[w];if(v.size!==b){u.size+=v.size;
 u.loaded+=v.loaded}else{u.size=b}if(v.status==g.DONE){u.uploaded++}else{if(v.status==g.FAILED){u.failed++}else{u.queued++}}}if(u.size===b){u.percent=t.length&gt;0?Math.ceil(u.uploaded/t.length*100):0}else{u.bytesPerSec=Math.ceil(u.loaded/((+new Date()-q||1)/1000));u.percent=u.size&gt;0?Math.ceil(u.loaded/u.size*100):0}}g.extend(this,{state:g.STOPPED,runtime:&quot;&quot;,features:{},files:t,settings:r,total:u,id:g.guid(),init:function(){var A=this,B,x,w,z=0,y;if(typeof(r.preinit)==&quot;function&quot;){r.preinit(A)}else{g.each(r.preinit,function(D,C){A.bind(C,D)})}r.page_url=r.page_url||document.location.pathname.replace(/\/[^\/]+$/g,&quot;/&quot;);if(!/^(\w+:\/\/|\/)/.test(r.url)){r.url=r.page_url+r.url}r.chunk_size=g.parseSize(r.chunk_size);r.max_file_size=g.parseSize(r.max_file_size);A.bind(&quot;FilesAdded&quot;,function(C,F){var E,D,H=0,I,G=r.filters;if(G&amp;&amp;G.length){I=[];g.each(G,function(J){g.each(J.extensions.split(/,/),function(K){if(/^\s*\*\s*$/.test(K)){I.pu
 sh(&quot;\\.*&quot;)}else{I.push(&quot;\\.&quot;+K.replace(new RegExp(&quot;[&quot;+(&quot;/^$.*+?|()[]{}\\&quot;.replace(/./g,&quot;\\$&amp;&quot;))+&quot;]&quot;,&quot;g&quot;),&quot;\\$&amp;&quot;))}})});I=new RegExp(I.join(&quot;|&quot;)+&quot;$&quot;,&quot;i&quot;)}for(E=0;E&lt;F.length;E++){D=F[E];D.loaded=0;D.percent=0;D.status=g.QUEUED;if(I&amp;&amp;!I.test(D.name)){C.trigger(&quot;Error&quot;,{code:g.FILE_EXTENSION_ERROR,message:g.translate(&quot;File extension error.&quot;),file:D});continue}if(D.size!==b&amp;&amp;D.size&gt;r.max_file_size){C.trigger(&quot;Error&quot;,{code:g.FILE_SIZE_ERROR,message:g.translate(&quot;File size error.&quot;),file:D});continue}t.push(D);H++}if(H){c(function(){A.trigger(&quot;QueueChanged&quot;);A.refresh()},1)}else{return false}});if(r.unique_names){A.bind(&quot;UploadFile&quot;,function(C,D){var F=D.name.match(/\.([^.]+)$/),E=&quot;tmp&quot;;if(F){E=F[1]}D.target_name=D.id+&quot;.&quot;+E})}A.bind(&quot;UploadProgress&quot;,function
 (C,D){D.percent=D.size&gt;0?Math.ceil(D.loaded/D.size*100):100;o()});A.bind(&quot;StateChanged&quot;,function(C){if(C.state==g.STARTED){q=(+new Date())}else{if(C.state==g.STOPPED){for(B=C.files.length-1;B&gt;=0;B--){if(C.files[B].status==g.UPLOADING){C.files[B].status=g.QUEUED;o()}}}}});A.bind(&quot;QueueChanged&quot;,o);A.bind(&quot;Error&quot;,function(C,D){if(D.file){D.file.status=g.FAILED;o();if(C.state==g.STARTED){c(function(){s.call(A)},1)}}});A.bind(&quot;FileUploaded&quot;,function(C,D){D.status=g.DONE;D.loaded=D.size;C.trigger(&quot;UploadProgress&quot;,D);c(function(){s.call(A)},1)});if(r.runtimes){x=[];y=r.runtimes.split(/\s?,\s?/);for(B=0;B&lt;y.length;B++){if(l[y[B]]){x.push(l[y[B]])}}}else{x=l}function v(){var F=x[z++],E,C,D;if(F){E=F.getFeatures();C=A.settings.required_features;if(C){C=C.split(&quot;,&quot;);for(D=0;D&lt;C.length;D++){if(!E[C[D]]){v();return}}}F.init(A,function(G){if(G&amp;&amp;G.success){A.features=E;A.runtime=F.name;A.trigger(&quot;Init&quot
 ;,{runtime:F.name});A.trigger(&quot;PostInit&quot;);A.refresh()}else{v()}})}else{A.trigger(&quot;Error&quot;,{code:g.INIT_ERROR,message:g.translate(&quot;Init error.&quot;)})}}v();if(typeof(r.init)==&quot;function&quot;){r.init(A)}else{g.each(r.init,function(D,C){A.bind(C,D)})}},refresh:function(){this.trigger(&quot;Refresh&quot;)},start:function(){if(this.state!=g.STARTED){this.state=g.STARTED;this.trigger(&quot;StateChanged&quot;);s.call(this)}},stop:function(){if(this.state!=g.STOPPED){this.state=g.STOPPED;this.trigger(&quot;StateChanged&quot;)}},getFile:function(w){var v;for(v=t.length-1;v&gt;=0;v--){if(t[v].id===w){return t[v]}}},removeFile:function(w){var v;for(v=t.length-1;v&gt;=0;v--){if(t[v].id===w.id){return this.splice(v,1)[0]}}},splice:function(x,v){var w;w=t.splice(x===b?0:x,v===b?t.length:v);this.trigger(&quot;FilesRemoved&quot;,w);this.trigger(&quot;QueueChanged&quot;);return w},trigger:function(w){var y=p[w.toLowerCase()],x,v;if(y){v=Array.prototype.slice.cal
 l(arguments);v[0]=this;for(x=0;x&lt;y.length;x++){if(y[x].func.apply(y[x].scope,v)===false){return false}}}return true},bind:function(v,x,w){var y;v=v.toLowerCase();y=p[v]||[];y.push({func:x,scope:w||this});p[v]=y},unbind:function(v){v=v.toLowerCase();var y=p[v],w,x=arguments[1];if(y){if(x!==b){for(w=y.length-1;w&gt;=0;w--){if(y[w].func===x){y.splice(w,1);break}}}else{y=[]}if(!y.length){delete p[v]}}},unbindAll:function(){var v=this;g.each(p,function(x,w){v.unbind(w)})},destroy:function(){this.trigger(&quot;Destroy&quot;);this.unbindAll()}})};g.File=function(r,p,q){var o=this;o.id=r;o.name=p;o.size=q;o.loaded=0;o.percent=0;o.status=0};g.Runtime=function(){this.getFeatures=function(){};this.init=function(o,p){}};g.QueueProgress=function(){var o=this;o.size=0;o.loaded=0;o.uploaded=0;o.failed=0;o.queued=0;o.percent=0;o.bytesPerSec=0;o.reset=function(){o.size=o.loaded=o.uploaded=o.failed=o.queued=o.percent=o.bytesPerSec=0}};g.runtimes={};window.plupload=g})();(function(){if(wind
 ow.google&amp;&amp;google.gears){return}var a=null;if(typeof GearsFactory!=&quot;undefined&quot;){a=new GearsFactory()}else{try{a=new ActiveXObject(&quot;Gears.Factory&quot;);if(a.getBuildInfo().indexOf(&quot;ie_mobile&quot;)!=-1){a.privateSetGlobalObject(this)}}catch(b){if((typeof navigator.mimeTypes!=&quot;undefined&quot;)&amp;&amp;navigator.mimeTypes[&quot;application/x-googlegears&quot;]){a=document.createElement(&quot;object&quot;);a.style.display=&quot;none&quot;;a.width=0;a.height=0;a.type=&quot;application/x-googlegears&quot;;document.documentElement.appendChild(a)}}}if(!a){return}if(!window.google){window.google={}}if(!google.gears){google.gears={factory:a}}})();(function(e,b,c,d){var f={};function a(h,k,m){var g,j,l,o;j=google.gears.factory.create(&quot;beta.canvas&quot;);try{j.decode(h);if(!k.width){k.width=j.width}if(!k.height){k.height=j.height}o=Math.min(width/j.width,height/j.height);if(o&lt;1||(o===1&amp;&amp;m===&quot;image/jpeg&quot;)){j.resize(Math.round(j
 .width*o),Math.round(j.height*o));if(k.quality){return j.encode(m,{quality:k.quality/100})}return j.encode(m)}}catch(n){}return h}c.runtimes.Gears=c.addRuntime(&quot;gears&quot;,{getFeatures:function(){return{dragdrop:true,jpgresize:true,pngresize:true,chunks:true,progress:true,multipart:true}},init:function(j,l){var k;if(!e.google||!google.gears){return l({success:false})}try{k=google.gears.factory.create(&quot;beta.desktop&quot;)}catch(h){return l({success:false})}function g(o){var n,m,p=[],q;for(m=0;m&lt;o.length;m++){n=o[m];q=c.guid();f[q]=n.blob;p.push(new c.File(q,n.name,n.blob.length))}j.trigger(&quot;FilesAdded&quot;,p)}j.bind(&quot;PostInit&quot;,function(){var n=j.settings,m=b.getElementById(n.drop_element);if(m){c.addEvent(m,&quot;dragover&quot;,function(o){k.setDropEffect(o,&quot;copy&quot;);o.preventDefault()},j.id);c.addEvent(m,&quot;drop&quot;,function(p){var o=k.getDragData(p,&quot;application/x-gears-files&quot;);if(o){g(o.files)}p.preventDefault()},j.id);m=
 0}c.addEvent(b.getElementById(n.browse_button),&quot;click&quot;,function(s){var r=[],p,o,q;s.preventDefault();for(p=0;p&lt;n.filters.length;p++){q=n.filters[p].extensions.split(&quot;,&quot;);for(o=0;o&lt;q.length;o++){r.push(&quot;.&quot;+q[o])}}k.openFiles(g,{singleFile:!n.multi_selection,filter:r})},j.id)});j.bind(&quot;UploadFile&quot;,function(s,p){var u=0,t,q,r=0,o=s.settings.resize,m;if(o&amp;&amp;/\.(png|jpg|jpeg)$/i.test(p.name)){f[p.id]=a(f[p.id],o,/\.png$/i.test(p.name)?&quot;image/png&quot;:&quot;image/jpeg&quot;)}p.size=f[p.id].length;q=s.settings.chunk_size;m=q&gt;0;t=Math.ceil(p.size/q);if(!m){q=p.size;t=1}function n(){var z,B,w=s.settings.multipart,v=0,A={name:p.target_name||p.name},x=s.settings.url;function y(D){var C,I=&quot;----pluploadboundary&quot;+c.guid(),F=&quot;--&quot;,H=&quot;\r\n&quot;,E,G;if(w){z.setRequestHeader(&quot;Content-Type&quot;,&quot;multipart/form-data; boundary=&quot;+I);C=google.gears.factory.create(&quot;beta.blobbuilder&quot;);c.e
 ach(c.extend(A,s.settings.multipart_params),function(K,J){C.append(F+I+H+'Content-Disposition: form-data; name=&quot;'+J+'&quot;'+H+H);C.append(K+H)});G=c.mimeTypes[p.name.replace(/^.+\.([^.]+)/,&quot;$1&quot;).toLowerCase()]||&quot;application/octet-stream&quot;;C.append(F+I+H+'Content-Disposition: form-data; name=&quot;'+s.settings.file_data_name+'&quot;; filename=&quot;'+p.name+'&quot;'+H+&quot;Content-Type: &quot;+G+H+H);C.append(D);C.append(H+F+I+F+H);E=C.getAsBlob();v=E.length-D.length;D=E}z.send(D)}if(p.status==c.DONE||p.status==c.FAILED||s.state==c.STOPPED){return}if(m){A.chunk=u;A.chunks=t}B=Math.min(q,p.size-(u*q));if(!w){x=c.buildUrl(s.settings.url,A)}z=google.gears.factory.create(&quot;beta.httprequest&quot;);z.open(&quot;POST&quot;,x);if(!w){z.setRequestHeader(&quot;Content-Disposition&quot;,'attachment; filename=&quot;'+p.name+'&quot;');z.setRequestHeader(&quot;Content-Type&quot;,&quot;application/octet-stream&quot;)}c.each(s.settings.headers,function(D,C){z.se
 tRequestHeader(C,D)});z.upload.onprogress=function(C){p.loaded=r+C.loaded-v;s.trigger(&quot;UploadProgress&quot;,p)};z.onreadystatechange=function(){var C;if(z.readyState==4){if(z.status==200){C={chunk:u,chunks:t,response:z.responseText,status:z.status};s.trigger(&quot;ChunkUploaded&quot;,p,C);if(C.cancelled){p.status=c.FAILED;return}r+=B;if(++u&gt;=t){p.status=c.DONE;s.trigger(&quot;FileUploaded&quot;,p,{response:z.responseText,status:z.status})}else{n()}}else{s.trigger(&quot;Error&quot;,{code:c.HTTP_ERROR,message:c.translate(&quot;HTTP Error.&quot;),file:p,chunk:u,chunks:t,status:z.status})}}};if(u&lt;t){y(f[p.id].slice(u*q,B))}}n()});j.bind(&quot;Destroy&quot;,function(m){var n,o,p={browseButton:m.settings.browse_button,dropElm:m.settings.drop_element};for(n in p){o=b.getElementById(p[n]);if(o){c.removeAllEvents(o,m.id)}}});l({success:true})}})})(window,document,plupload);(function(g,b,d,e){var a={},h={};function c(o){var n,m=typeof o,j,l,k;if(m===&quot;string&quot;){n=&q
 uot;\bb\tt\nn\ff\rr\&quot;\&quot;''\\\\&quot;;return'&quot;'+o.replace(/([\u0080-\uFFFF\x00-\x1f\&quot;])/g,function(r,q){var p=n.indexOf(q);if(p+1){return&quot;\\&quot;+n.charAt(p+1)}r=q.charCodeAt().toString(16);return&quot;\\u&quot;+&quot;0000&quot;.substring(r.length)+r})+'&quot;'}if(m==&quot;object&quot;){j=o.length!==e;n=&quot;&quot;;if(j){for(l=0;l&lt;o.length;l++){if(n){n+=&quot;,&quot;}n+=c(o[l])}n=&quot;[&quot;+n+&quot;]&quot;}else{for(k in o){if(o.hasOwnProperty(k)){if(n){n+=&quot;,&quot;}n+=c(k)+&quot;:&quot;+c(o[k])}}n=&quot;{&quot;+n+&quot;}&quot;}return n}if(o===e){return&quot;null&quot;}return&quot;&quot;+o}function f(s){var v=false,j=null,o=null,k,l,m,u,n,q=0;try{try{o=new ActiveXObject(&quot;AgControl.AgControl&quot;);if(o.IsVersionSupported(s)){v=true}o=null}catch(r){var p=navigator.plugins[&quot;Silverlight Plug-In&quot;];if(p){k=p.description;if(k===&quot;1.0.30226.2&quot;){k=&quot;2.0.30226.2&quot;}l=k.split(&quot;.&quot;);while(l.length&gt;3){l.pop()}w
 hile(l.length&lt;4){l.push(0)}m=s.split(&quot;.&quot;);while(m.length&gt;4){m.pop()}do{u=parseInt(m[q],10);n=parseInt(l[q],10);q++}while(q&lt;m.length&amp;&amp;u===n);if(u&lt;=n&amp;&amp;!isNaN(u)){v=true}}}}catch(t){v=false}return v}d.silverlight={trigger:function(n,k){var m=a[n],l,j;if(m){j=d.toArray(arguments).slice(1);j[0]=&quot;Silverlight:&quot;+k;setTimeout(function(){m.trigger.apply(m,j)},0)}}};d.runtimes.Silverlight=d.addRuntime(&quot;silverlight&quot;,{getFeatures:function(){return{jpgresize:true,pngresize:true,chunks:true,progress:true,multipart:true}},init:function(p,q){var o,m=&quot;&quot;,n=p.settings.filters,l,k=b.body;if(!f(&quot;2.0.31005.0&quot;)||(g.opera&amp;&amp;g.opera.buildNumber)){q({success:false});return}h[p.id]=false;a[p.id]=p;o=b.createElement(&quot;div&quot;);o.id=p.id+&quot;_silverlight_container&quot;;d.extend(o.style,{position:&quot;absolute&quot;,top:&quot;0px&quot;,background:p.settings.shim_bgcolor||&quot;transparent&quot;,zIndex:99999,widt
 h:&quot;100px&quot;,height:&quot;100px&quot;,overflow:&quot;hidden&quot;,opacity:p.settings.shim_bgcolor||b.documentMode&gt;8?&quot;&quot;:0.01});o.className=&quot;plupload silverlight&quot;;if(p.settings.container){k=b.getElementById(p.settings.container);if(d.getStyle(k,&quot;position&quot;)===&quot;static&quot;){k.style.position=&quot;relative&quot;}}k.appendChild(o);for(l=0;l&lt;n.length;l++){m+=(m!=&quot;&quot;?&quot;|&quot;:&quot;&quot;)+n[l].title+&quot; | *.&quot;+n[l].extensions.replace(/,/g,&quot;;*.&quot;)}o.innerHTML='&lt;object id=&quot;'+p.id+'_silverlight&quot; data=&quot;data:application/x-silverlight,&quot; type=&quot;application/x-silverlight-2&quot; style=&quot;outline:none;&quot; width=&quot;1024&quot; height=&quot;1024&quot;&gt;&lt;param name=&quot;source&quot; value=&quot;'+p.settings.silverlight_xap_url+'&quot;/&gt;&lt;param name=&quot;background&quot; value=&quot;Transparent&quot;/&gt;&lt;param name=&quot;windowless&quot; value=&quot;true&quot;/&gt;&l
 t;param name=&quot;enablehtmlaccess&quot; value=&quot;true&quot;/&gt;&lt;param name=&quot;initParams&quot; value=&quot;id='+p.id+&quot;,filter=&quot;+m+&quot;,multiselect=&quot;+p.settings.multi_selection+'&quot;/&gt;&lt;/object&gt;';function j(){return b.getElementById(p.id+&quot;_silverlight&quot;).content.Upload}p.bind(&quot;Silverlight:Init&quot;,function(){var r,s={};if(h[p.id]){return}h[p.id]=true;p.bind(&quot;Silverlight:StartSelectFiles&quot;,function(t){r=[]});p.bind(&quot;Silverlight:SelectFile&quot;,function(t,w,u,v){var x;x=d.guid();s[x]=w;s[w]=x;r.push(new d.File(x,u,v))});p.bind(&quot;Silverlight:SelectSuccessful&quot;,function(){if(r.length){p.trigger(&quot;FilesAdded&quot;,r)}});p.bind(&quot;Silverlight:UploadChunkError&quot;,function(t,w,u,x,v){p.trigger(&quot;Error&quot;,{code:d.IO_ERROR,message:&quot;IO Error.&quot;,details:v,file:t.getFile(s[w])})});p.bind(&quot;Silverlight:UploadFileProgress&quot;,function(t,x,u,w){var v=t.getFile(s[x]);if(v.status!=d.FA
 ILED){v.size=w;v.loaded=u;t.trigger(&quot;UploadProgress&quot;,v)}});p.bind(&quot;Refresh&quot;,function(t){var u,v,w;u=b.getElementById(t.settings.browse_button);if(u){v=d.getPos(u,b.getElementById(t.settings.container));w=d.getSize(u);d.extend(b.getElementById(t.id+&quot;_silverlight_container&quot;).style,{top:v.y+&quot;px&quot;,left:v.x+&quot;px&quot;,width:w.w+&quot;px&quot;,height:w.h+&quot;px&quot;})}});p.bind(&quot;Silverlight:UploadChunkSuccessful&quot;,function(t,w,u,z,y){var x,v=t.getFile(s[w]);x={chunk:u,chunks:z,response:y};t.trigger(&quot;ChunkUploaded&quot;,v,x);if(v.status!=d.FAILED){j().UploadNextChunk()}if(u==z-1){v.status=d.DONE;t.trigger(&quot;FileUploaded&quot;,v,{response:y})}});p.bind(&quot;Silverlight:UploadSuccessful&quot;,function(t,w,u){var v=t.getFile(s[w]);v.status=d.DONE;t.trigger(&quot;FileUploaded&quot;,v,{response:u})});p.bind(&quot;FilesRemoved&quot;,function(t,v){var u;for(u=0;u&lt;v.length;u++){j().RemoveFile(s[v[u].id])}});p.bind(&quot;Up
 loadFile&quot;,function(t,v){var w=t.settings,u=w.resize||{};j().UploadFile(s[v.id],t.settings.url,c({name:v.target_name||v.name,mime:d.mimeTypes[v.name.replace(/^.+\.([^.]+)/,&quot;$1&quot;).toLowerCase()]||&quot;application/octet-stream&quot;,chunk_size:w.chunk_size,image_width:u.width,image_height:u.height,image_quality:u.quality||90,multipart:!!w.multipart,multipart_params:w.multipart_params||{},file_data_name:w.file_data_name,headers:w.headers}))});p.bind(&quot;Silverlight:MouseEnter&quot;,function(t){var u,v;u=b.getElementById(p.settings.browse_button);v=t.settings.browse_button_hover;if(u&amp;&amp;v){d.addClass(u,v)}});p.bind(&quot;Silverlight:MouseLeave&quot;,function(t){var u,v;u=b.getElementById(p.settings.browse_button);v=t.settings.browse_button_hover;if(u&amp;&amp;v){d.removeClass(u,v)}});p.bind(&quot;Silverlight:MouseLeftButtonDown&quot;,function(t){var u,v;u=b.getElementById(p.settings.browse_button);v=t.settings.browse_button_active;if(u&amp;&amp;v){d.addClas
 s(u,v);d.addEvent(b.body,&quot;mouseup&quot;,function(){d.removeClass(u,v)})}});p.bind(&quot;Sliverlight:StartSelectFiles&quot;,function(t){var u,v;u=b.getElementById(p.settings.browse_button);v=t.settings.browse_button_active;if(u&amp;&amp;v){d.removeClass(u,v)}});p.bind(&quot;Destroy&quot;,function(t){var u;d.removeAllEvents(b.body,t.id);delete h[t.id];delete a[t.id];u=b.getElementById(t.id+&quot;_silverlight_container&quot;);if(u){k.removeChild(u)}});q({success:true})})}})})(window,document,plupload);(function(f,b,d,e){var a={},g={};function c(){var h;try{h=navigator.plugins[&quot;Shockwave Flash&quot;];h=h.description}catch(k){try{h=new ActiveXObject(&quot;ShockwaveFlash.ShockwaveFlash&quot;).GetVariable(&quot;$version&quot;)}catch(j){h=&quot;0.0&quot;}}h=h.match(/\d+/g);return parseFloat(h[0]+&quot;.&quot;+h[1])}d.flash={trigger:function(k,h,j){setTimeout(function(){var n=a[k],m,l;if(n){n.trigger(&quot;Flash:&quot;+h,j)}},0)}};d.runtimes.Flash=d.addRuntime(&quot;flash&q
 uot;,{getFeatures:function(){return{jpgresize:true,pngresize:true,maxWidth:8091,maxHeight:8091,chunks:true,progress:true,multipart:true}},init:function(k,p){var o,j,l,q=0,h=b.body;if(c()&lt;10){p({success:false});return}g[k.id]=false;a[k.id]=k;o=b.getElementById(k.settings.browse_button);j=b.createElement(&quot;div&quot;);j.id=k.id+&quot;_flash_container&quot;;d.extend(j.style,{position:&quot;absolute&quot;,top:&quot;0px&quot;,background:k.settings.shim_bgcolor||&quot;transparent&quot;,zIndex:99999,width:&quot;100%&quot;,height:&quot;100%&quot;});j.className=&quot;plupload flash&quot;;if(k.settings.container){h=b.getElementById(k.settings.container);if(d.getStyle(h,&quot;position&quot;)===&quot;static&quot;){h.style.position=&quot;relative&quot;}}h.appendChild(j);l=&quot;id=&quot;+escape(k.id);j.innerHTML='&lt;object id=&quot;'+k.id+'_flash&quot; width=&quot;100%&quot; height=&quot;100%&quot; style=&quot;outline:0&quot; type=&quot;application/x-shockwave-flash&quot; data=&qu
 ot;'+k.settings.flash_swf_url+'&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;'+k.settings.flash_swf_url+'&quot; /&gt;&lt;param name=&quot;flashvars&quot; value=&quot;'+l+'&quot; /&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot; /&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot; /&gt;&lt;/object&gt;';function n(){return b.getElementById(k.id+&quot;_flash&quot;)}function m(){if(q++&gt;5000){p({success:false});return}if(!g[k.id]){setTimeout(m,1)}}m();o=j=null;k.bind(&quot;Flash:Init&quot;,function(){var s={},r;n().setFileFilters(k.settings.filters,k.settings.multi_selection);if(g[k.id]){return}g[k.id]=true;k.bind(&quot;UploadFile&quot;,function(t,v){var w=t.settings,u=k.settings.resize||{};n().uploadFile(s[v.id],w.url,{name:v.target_name||v.name,mime:d.mimeTypes[v.name.replace(/^.+\.([^.]+)/,&quot;$1&quot;).toLowerCase()]||&quot;application/octet-stream&quot;,chunk_size:w.chunk_size,width:u.width,height:u.height,quality:u.quali
 ty,multipart:w.multipart,multipart_params:w.multipart_params||{},file_data_name:w.file_data_name,format:/\.(jpg|jpeg)$/i.test(v.name)?&quot;jpg&quot;:&quot;png&quot;,headers:w.headers,urlstream_upload:w.urlstream_upload})});k.bind(&quot;Flash:UploadProcess&quot;,function(u,t){var v=u.getFile(s[t.id]);if(v.status!=d.FAILED){v.loaded=t.loaded;v.size=t.size;u.trigger(&quot;UploadProgress&quot;,v)}});k.bind(&quot;Flash:UploadChunkComplete&quot;,function(t,v){var w,u=t.getFile(s[v.id]);w={chunk:v.chunk,chunks:v.chunks,response:v.text};t.trigger(&quot;ChunkUploaded&quot;,u,w);if(u.status!=d.FAILED){n().uploadNextChunk()}if(v.chunk==v.chunks-1){u.status=d.DONE;t.trigger(&quot;FileUploaded&quot;,u,{response:v.text})}});k.bind(&quot;Flash:SelectFiles&quot;,function(t,w){var v,u,x=[],y;for(u=0;u&lt;w.length;u++){v=w[u];y=d.guid();s[y]=v.id;s[v.id]=y;x.push(new d.File(y,v.name,v.size))}if(x.length){k.trigger(&quot;FilesAdded&quot;,x)}});k.bind(&quot;Flash:SecurityError&quot;,function(t
 ,u){k.trigger(&quot;Error&quot;,{code:d.SECURITY_ERROR,message:d.translate(&quot;Security error.&quot;),details:u.message,file:k.getFile(s[u.id])})});k.bind(&quot;Flash:GenericError&quot;,function(t,u){k.trigger(&quot;Error&quot;,{code:d.GENERIC_ERROR,message:d.translate(&quot;Generic error.&quot;),details:u.message,file:k.getFile(s[u.id])})});k.bind(&quot;Flash:IOError&quot;,function(t,u){k.trigger(&quot;Error&quot;,{code:d.IO_ERROR,message:d.translate(&quot;IO error.&quot;),details:u.message,file:k.getFile(s[u.id])})});k.bind(&quot;Flash:ImageError&quot;,function(t,u){k.trigger(&quot;Error&quot;,{code:parseInt(u.code,10),message:d.translate(&quot;Image error.&quot;),file:k.getFile(s[u.id])})});k.bind(&quot;Flash:StageEvent:rollOver&quot;,function(t){var u,v;u=b.getElementById(k.settings.browse_button);v=t.settings.browse_button_hover;if(u&amp;&amp;v){d.addClass(u,v)}});k.bind(&quot;Flash:StageEvent:rollOut&quot;,function(t){var u,v;u=b.getElementById(k.settings.browse_butt
 on);v=t.settings.browse_button_hover;if(u&amp;&amp;v){d.removeClass(u,v)}});k.bind(&quot;Flash:StageEvent:mouseDown&quot;,function(t){var u,v;u=b.getElementById(k.settings.browse_button);v=t.settings.browse_button_active;if(u&amp;&amp;v){d.addClass(u,v);d.addEvent(b.body,&quot;mouseup&quot;,function(){d.removeClass(u,v)},t.id)}});k.bind(&quot;Flash:StageEvent:mouseUp&quot;,function(t){var u,v;u=b.getElementById(k.settings.browse_button);v=t.settings.browse_button_active;if(u&amp;&amp;v){d.removeClass(u,v)}});k.bind(&quot;QueueChanged&quot;,function(t){k.refresh()});k.bind(&quot;FilesRemoved&quot;,function(t,v){var u;for(u=0;u&lt;v.length;u++){n().removeFile(s[v[u].id])}});k.bind(&quot;StateChanged&quot;,function(t){k.refresh()});k.bind(&quot;Refresh&quot;,function(t){var u,v,w;n().setFileFilters(k.settings.filters,k.settings.multi_selection);u=b.getElementById(t.settings.browse_button);if(u){v=d.getPos(u,b.getElementById(t.settings.container));w=d.getSize(u);d.extend(b.getEl
 ementById(t.id+&quot;_flash_container&quot;).style,{top:v.y+&quot;px&quot;,left:v.x+&quot;px&quot;,width:w.w+&quot;px&quot;,height:w.h+&quot;px&quot;})}});k.bind(&quot;Destroy&quot;,function(t){var u;d.removeAllEvents(b.body,t.id);delete g[t.id];delete a[t.id];u=b.getElementById(t.id+&quot;_flash_container&quot;);if(u){h.removeChild(u)}});p({success:true})})}})})(window,document,plupload);(function(a){a.runtimes.BrowserPlus=a.addRuntime(&quot;browserplus&quot;,{getFeatures:function(){return{dragdrop:true,jpgresize:true,pngresize:true,chunks:true,progress:true,multipart:true}},init:function(g,j){var e=window.BrowserPlus,h={},d=g.settings,c=d.resize;function f(o){var n,m,k=[],l,p;for(m=0;m&lt;o.length;m++){l=o[m];p=a.guid();h[p]=l;k.push(new a.File(p,l.name,l.size))}if(m){g.trigger(&quot;FilesAdded&quot;,k)}}function b(){g.bind(&quot;PostInit&quot;,function(){var n,l=d.drop_element,p=g.id+&quot;_droptarget&quot;,k=document.getElementById(l),m;function q(s,r){e.DragAndDrop.AddD
 ropTarget({id:s},function(t){e.DragAndDrop.AttachCallbacks({id:s,hover:function(u){if(!u&amp;&amp;r){r()}},drop:function(u){if(r){r()}f(u)}},function(){})})}function o(){document.getElementById(p).style.top=&quot;-1000px&quot;}if(k){if(document.attachEvent&amp;&amp;(/MSIE/gi).test(navigator.userAgent)){n=document.createElement(&quot;div&quot;);n.setAttribute(&quot;id&quot;,p);a.extend(n.style,{position:&quot;absolute&quot;,top:&quot;-1000px&quot;,background:&quot;red&quot;,filter:&quot;alpha(opacity=0)&quot;,opacity:0});document.body.appendChild(n);a.addEvent(k,&quot;dragenter&quot;,function(s){var r,t;r=document.getElementById(l);t=a.getPos(r);a.extend(document.getElementById(p).style,{top:t.y+&quot;px&quot;,left:t.x+&quot;px&quot;,width:r.offsetWidth+&quot;px&quot;,height:r.offsetHeight+&quot;px&quot;})});q(p,o)}else{q(l)}}a.addEvent(document.getElementById(d.browse_button),&quot;click&quot;,function(w){var u=[],s,r,v=d.filters,t;w.preventDefault();for(s=0;s&lt;v.length;s+
 +){t=v[s].extensions.split(&quot;,&quot;);for(r=0;r&lt;t.length;r++){u.push(a.mimeTypes[t[r]])}}e.FileBrowse.OpenBrowseDialog({mimeTypes:u},function(x){if(x.success){f(x.value)}})});k=n=null});g.bind(&quot;UploadFile&quot;,function(n,k){var m=h[k.id],s={},l=n.settings.chunk_size,o,p=[];function r(t,v){var u;if(k.status==a.FAILED){return}s.name=k.target_name||k.name;if(l){s.chunk=&quot;&quot;+t;s.chunks=&quot;&quot;+v}u=p.shift();e.Uploader.upload({url:n.settings.url,files:{file:u},cookies:document.cookies,postvars:a.extend(s,n.settings.multipart_params),progressCallback:function(y){var x,w=0;o[t]=parseInt(y.filePercent*u.size/100,10);for(x=0;x&lt;o.length;x++){w+=o[x]}k.loaded=w;n.trigger(&quot;UploadProgress&quot;,k)}},function(x){var w,y;if(x.success){w=x.value.statusCode;if(l){n.trigger(&quot;ChunkUploaded&quot;,k,{chunk:t,chunks:v,response:x.value.body,status:w})}if(p.length&gt;0){r(++t,v)}else{k.status=a.DONE;n.trigger(&quot;FileUploaded&quot;,k,{response:x.value.body,s
 tatus:w});if(w&gt;=400){n.trigger(&quot;Error&quot;,{code:a.HTTP_ERROR,message:a.translate(&quot;HTTP Error.&quot;),file:k,status:w})}}}else{n.trigger(&quot;Error&quot;,{code:a.GENERIC_ERROR,message:a.translate(&quot;Generic Error.&quot;),file:k,details:x.error})}})}function q(t){k.size=t.size;if(l){e.FileAccess.chunk({file:t,chunkSize:l},function(w){if(w.success){var x=w.value,u=x.length;o=Array(u);for(var v=0;v&lt;u;v++){o[v]=0;p.push(x[v])}r(0,u)}})}else{o=Array(1);p.push(t);r(0,1)}}if(c&amp;&amp;/\.(png|jpg|jpeg)$/i.test(k.name)){BrowserPlus.ImageAlter.transform({file:m,quality:c.quality||90,actions:[{scale:{maxwidth:c.width,maxheight:c.height}}]},function(t){if(t.success){q(t.value.file)}})}else{q(m)}});j({success:true})}if(e){e.init(function(l){var k=[{service:&quot;Uploader&quot;,version:&quot;3&quot;},{service:&quot;DragAndDrop&quot;,version:&quot;1&quot;},{service:&quot;FileBrowse&quot;,version:&quot;1&quot;},{service:&quot;FileAccess&quot;,version:&quot;2&quot;}];i
 f(c){k.push({service:&quot;ImageAlter&quot;,version:&quot;4&quot;})}if(l.success){e.require({services:k},function(m){if(m.success){b()}else{j()}})}else{j()}})}else{j()}}})})(plupload);(function(g,j,h,d){var f;if(g.Uint8Array&amp;&amp;g.ArrayBuffer&amp;&amp;!XMLHttpRequest.prototype.sendAsBinary){XMLHttpRequest.prototype.sendAsBinary=function(o){var m=new Uint8Array(o.length);for(var n=0;n&lt;o.length;n++){m[n]=(o.charCodeAt(n)&amp;255)}this.send(m.buffer)}}function l(n,o){var m;if(&quot;FileReader&quot; in g){m=new FileReader();m.readAsDataURL(n);m.onload=function(){o(m.result)}}else{return o(n.getAsDataURL())}}function k(n,o){var m;if(&quot;FileReader&quot; in g){m=new FileReader();m.readAsBinaryString(n);m.onload=function(){o(m.result)}}else{return o(n.getAsBinary())}}function c(q,o,r,t){var n,p,m,s;l(q,function(u){n=j.createElement(&quot;canvas&quot;);n.style.display=&quot;none&quot;;j.body.appendChild(n);p=n.getContext(&quot;2d&quot;);m=new Image();m.onerror=m.onabort=fu
 nction(){t({success:false})};m.onload=function(){var z,v,x,w,y;if(!o.width){o.width=m.width}if(!o.height){o.height=m.height}s=Math.min(o.width/m.width,o.height/m.height);if(s&lt;1||(s===1&amp;&amp;r===&quot;image/jpeg&quot;)){z=Math.round(m.width*s);v=Math.round(m.height*s);n.width=z;n.height=v;p.drawImage(m,0,0,z,v);if(r===&quot;image/jpeg&quot;){w=new e(atob(u.substring(u.indexOf(&quot;base64,&quot;)+7)));if(w.headers&amp;&amp;w.headers.length){y=new a();if(y.init(w.get(&quot;exif&quot;)[0])){y.setExif(&quot;PixelXDimension&quot;,z);y.setExif(&quot;PixelYDimension&quot;,v);w.set(&quot;exif&quot;,y.getBinary())}}if(o.quality){try{u=n.toDataURL(r,o.quality/100)}catch(A){u=n.toDataURL(r)}}}else{u=n.toDataURL(r)}u=u.substring(u.indexOf(&quot;base64,&quot;)+7);u=atob(u);if(w.headers&amp;&amp;w.headers.length){u=w.restore(u);w.purge()}n.parentNode.removeChild(n);t({success:true,data:u})}else{t({success:false})}};m.src=u})}h.runtimes.Html5=h.addRuntime(&quot;html5&quot;,{getFeatu
 res:function(){var r,n,q,o,m,p=g;n=q=o=m=false;if(p.XMLHttpRequest){r=new XMLHttpRequest();q=!!r.upload;n=!!(r.sendAsBinary||r.upload)}if(n){o=!!(File&amp;&amp;(File.prototype.getAsDataURL||p.FileReader)&amp;&amp;r.sendAsBinary);m=!!(File&amp;&amp;File.prototype.slice)}f=navigator.userAgent.indexOf(&quot;Safari&quot;)&gt;0&amp;&amp;navigator.vendor.indexOf(&quot;Apple&quot;)!==-1;return{html5:n,dragdrop:p.mozInnerScreenX!==d||m||f,jpgresize:o,pngresize:o,multipart:o||!!p.FileReader||!!p.FormData,progress:q,chunks:m||o,canOpenDialog:navigator.userAgent.indexOf(&quot;WebKit&quot;)!==-1}},init:function(p,q){var m={},n;function o(v){var t,s,u=[],w,r={};for(s=0;s&lt;v.length;s++){t=v[s];if(r[t.name]){continue}r[t.name]=true;w=h.guid();m[w]=t;u.push(new h.File(w,t.fileName,t.fileSize||t.size))}if(u.length){p.trigger(&quot;FilesAdded&quot;,u)}}n=this.getFeatures();if(!n.html5){q({success:false});return}p.bind(&quot;Init&quot;,function(v){var F,E,B=[],u,C,s=v.settings.filters,t,A,r=
 j.body,D;F=j.createElement(&quot;div&quot;);F.id=v.id+&quot;_html5_container&quot;;h.extend(F.style,{position:&quot;absolute&quot;,background:p.settings.shim_bgcolor||&quot;transparent&quot;,width:&quot;100px&quot;,height:&quot;100px&quot;,overflow:&quot;hidden&quot;,zIndex:99999,opacity:p.settings.shim_bgcolor?&quot;&quot;:0});F.className=&quot;plupload html5&quot;;if(p.settings.container){r=j.getElementById(p.settings.container);if(h.getStyle(r,&quot;position&quot;)===&quot;static&quot;){r.style.position=&quot;relative&quot;}}r.appendChild(F);no_type_restriction:for(u=0;u&lt;s.length;u++){t=s[u].extensions.split(/,/);for(C=0;C&lt;t.length;C++){if(t[C]===&quot;*&quot;){B=[];break no_type_restriction}A=h.mimeTypes[t[C]];if(A){B.push(A)}}}F.innerHTML='&lt;input id=&quot;'+p.id+'_html5&quot; style=&quot;width:100%;height:100%;font-size:99px&quot; type=&quot;file&quot; accept=&quot;'+B.join(&quot;,&quot;)+'&quot; '+(p.settings.multi_selection?'multiple=&quot;multiple&quot;':&qu
 ot;&quot;)+&quot; /&gt;&quot;;D=j.getElementById(p.id+&quot;_html5&quot;);D.onchange=function(){o(this.files);this.value=&quot;&quot;};E=j.getElementById(v.settings.browse_button);if(E){var x=v.settings.browse_button_hover,z=v.settings.browse_button_active,w=v.features.canOpenDialog?E:F;if(x){h.addEvent(w,&quot;mouseover&quot;,function(){h.addClass(E,x)},v.id);h.addEvent(w,&quot;mouseout&quot;,function(){h.removeClass(E,x)},v.id)}if(z){h.addEvent(w,&quot;mousedown&quot;,function(){h.addClass(E,z)},v.id);h.addEvent(j.body,&quot;mouseup&quot;,function(){h.removeClass(E,z)},v.id)}if(v.features.canOpenDialog){h.addEvent(E,&quot;click&quot;,function(y){j.getElementById(v.id+&quot;_html5&quot;).click();y.preventDefault()},v.id)}}});p.bind(&quot;PostInit&quot;,function(){var r=j.getElementById(p.settings.drop_element);if(r){if(f){h.addEvent(r,&quot;dragenter&quot;,function(v){var u,s,t;u=j.getElementById(p.id+&quot;_drop&quot;);if(!u){u=j.createElement(&quot;input&quot;);u.setAttri
 bute(&quot;type&quot;,&quot;file&quot;);u.setAttribute(&quot;id&quot;,p.id+&quot;_drop&quot;);u.setAttribute(&quot;multiple&quot;,&quot;multiple&quot;);h.addEvent(u,&quot;change&quot;,function(){o(this.files);h.removeEvent(u,&quot;change&quot;,p.id);u.parentNode.removeChild(u)},p.id);r.appendChild(u)}s=h.getPos(r,j.getElementById(p.settings.container));t=h.getSize(r);if(h.getStyle(r,&quot;position&quot;)===&quot;static&quot;){h.extend(r.style,{position:&quot;relative&quot;})}h.extend(u.style,{position:&quot;absolute&quot;,display:&quot;block&quot;,top:0,left:0,width:t.w+&quot;px&quot;,height:t.h+&quot;px&quot;,opacity:0})},p.id);return}h.addEvent(r,&quot;dragover&quot;,function(s){s.preventDefault()},p.id);h.addEvent(r,&quot;drop&quot;,function(t){var s=t.dataTransfer;if(s&amp;&amp;s.files){o(s.files)}t.preventDefault()},p.id)}});p.bind(&quot;Refresh&quot;,function(r){var s,u,v,w,t;s=j.getElementById(p.settings.browse_button);if(s){u=h.getPos(s,j.getElementById(r.settings.co
 ntainer));v=h.getSize(s);w=j.getElementById(p.id+&quot;_html5_container&quot;);h.extend(w.style,{top:u.y+&quot;px&quot;,left:u.x+&quot;px&quot;,width:v.w+&quot;px&quot;,height:v.h+&quot;px&quot;});if(p.features.canOpenDialog){t=parseInt(s.parentNode.style.zIndex,10);if(isNaN(t)){t=0}h.extend(s.style,{zIndex:t});if(h.getStyle(s,&quot;position&quot;)===&quot;static&quot;){h.extend(s.style,{position:&quot;relative&quot;})}h.extend(w.style,{zIndex:t-1})}}});p.bind(&quot;UploadFile&quot;,function(r,t){var u=r.settings,w,s;function v(x){var A=0,z=0;function y(){var H=x,O,P,K,L,M=0,D=&quot;----pluploadboundary&quot;+h.guid(),G,I,E,F=&quot;--&quot;,N=&quot;\r\n&quot;,J=&quot;&quot;,C,B=r.settings.url;if(t.status==h.DONE||t.status==h.FAILED||r.state==h.STOPPED){return}L={name:t.target_name||t.name};if(u.chunk_size&amp;&amp;n.chunks){G=u.chunk_size;K=Math.ceil(t.size/G);I=Math.min(G,t.size-(A*G));if(typeof(x)==&quot;string&quot;){H=x.substring(A*G,A*G+I)}else{H=x.slice(A*G,I)}L.chunk=
 A;L.chunks=K}else{I=t.size}O=new XMLHttpRequest();P=O.upload;if(P){P.onprogress=function(Q){t.loaded=Math.min(t.size,z+Q.loaded-M);r.trigger(&quot;UploadProgress&quot;,t)}}if(!r.settings.multipart||!n.multipart){B=h.buildUrl(r.settings.url,L)}else{L.name=t.target_name||t.name}O.open(&quot;post&quot;,B,true);O.onreadystatechange=function(){var Q,S;if(O.readyState==4){try{Q=O.status}catch(R){Q=0}if(Q&gt;=400){r.trigger(&quot;Error&quot;,{code:h.HTTP_ERROR,message:h.translate(&quot;HTTP Error.&quot;),file:t,status:Q})}else{if(K){S={chunk:A,chunks:K,response:O.responseText,status:Q};r.trigger(&quot;ChunkUploaded&quot;,t,S);z+=I;if(S.cancelled){t.status=h.FAILED;return}t.loaded=Math.min(t.size,(A+1)*G)}else{t.loaded=t.size}r.trigger(&quot;UploadProgress&quot;,t);if(!K||++A&gt;=K){t.status=h.DONE;r.trigger(&quot;FileUploaded&quot;,t,{response:O.responseText,status:Q});w=x=m[t.id]=null}else{y()}}O=H=E=J=null}};h.each(r.settings.headers,function(R,Q){O.setRequestHeader(Q,R)});if(r.s
 ettings.multipart&amp;&amp;n.multipart){if(!O.sendAsBinary){E=new FormData();h.each(h.extend(L,r.settings.multipart_params),function(R,Q){E.append(Q,R)});E.append(r.settings.file_data_name,H);O.send(E);return}O.setRequestHeader(&quot;Content-Type&quot;,&quot;multipart/form-data; boundary=&quot;+D);h.each(h.extend(L,r.settings.multipart_params),function(R,Q){J+=F+D+N+'Content-Disposition: form-data; name=&quot;'+Q+'&quot;'+N+N;J+=unescape(encodeURIComponent(R))+N});C=h.mimeTypes[t.name.replace(/^.+\.([^.]+)/,&quot;$1&quot;).toLowerCase()]||&quot;application/octet-stream&quot;;J+=F+D+N+'Content-Disposition: form-data; name=&quot;'+r.settings.file_data_name+'&quot;; filename=&quot;'+unescape(encodeURIComponent(t.name))+'&quot;'+N+&quot;Content-Type: &quot;+C+N+N+H+N+F+D+F+N;M=J.length-H.length;H=J}else{O.setRequestHeader(&quot;Content-Type&quot;,&quot;application/octet-stream&quot;)}if(O.sendAsBinary){O.sendAsBinary(H)}else{O.send(H)}}y()}w=m[t.id];s=r.settings.resize;if(n.jpgr
 esize){if(s&amp;&amp;/\.(png|jpg|jpeg)$/i.test(t.name)){c(w,s,/\.png$/i.test(t.name)?&quot;image/png&quot;:&quot;image/jpeg&quot;,function(x){if(x.success){t.size=x.data.length;v(x.data)}else{k(w,v)}})}else{k(w,v)}}else{v(w)}});p.bind(&quot;Destroy&quot;,function(r){var t,u,s=j.body,v={inputContainer:r.id+&quot;_html5_container&quot;,inputFile:r.id+&quot;_html5&quot;,browseButton:r.settings.browse_button,dropElm:r.settings.drop_element};for(t in v){u=j.getElementById(v[t]);if(u){h.removeAllEvents(u,r.id)}}h.removeAllEvents(j.body,r.id);if(r.settings.container){s=j.getElementById(r.settings.container)}s.removeChild(j.getElementById(v.inputContainer))});q({success:true})}});function b(){var p=false,n;function q(s,u){var r=p?0:-8*(u-1),v=0,t;for(t=0;t&lt;u;t++){v|=(n.charCodeAt(s+t)&lt;&lt;Math.abs(r+t*8))}return v}function m(t,r,s){var s=arguments.length===3?s:n.length-r-1;n=n.substr(0,r)+t+n.substr(s+r)}function o(s,t,v){var w=&quot;&quot;,r=p?0:-8*(v-1),u;for(u=0;u&lt;v;u++)
 {w+=String.fromCharCode((t&gt;&gt;Math.abs(r+u*8))&amp;255)}m(w,s,v)}return{II:function(r){if(r===d){return p}else{p=r}},init:function(r){p=false;n=r},SEGMENT:function(r,t,s){switch(arguments.length){case 1:return n.substr(r,n.length-r-1);case 2:return n.substr(r,t);case 3:m(s,r,t);break;default:return n}},BYTE:function(r){return q(r,1)},SHORT:function(r){return q(r,2)},LONG:function(r,s){if(s===d){return q(r,4)}else{o(r,s,4)}},SLONG:function(r){var s=q(r,4);return(s&gt;2147483647?s-4294967296:s)},STRING:function(r,s){var t=&quot;&quot;;for(s+=r;r&lt;s;r++){t+=String.fromCharCode(q(r,1))}return t}}}function e(r){var t={65505:{app:&quot;EXIF&quot;,name:&quot;APP1&quot;,signature:&quot;Exif\0&quot;},65506:{app:&quot;ICC&quot;,name:&quot;APP2&quot;,signature:&quot;ICC_PROFILE\0&quot;},65517:{app:&quot;IPTC&quot;,name:&quot;APP13&quot;,signature:&quot;Photoshop 3.0\0&quot;}},s=[],q,m,o=d,p=0,n;q=new b();q.init(r);if(q.SHORT(0)!==65496){return}m=2;n=Math.min(1048576,r.length);whi
 le(m&lt;=n){o=q.SHORT(m);if(o&gt;=65488&amp;&amp;o&lt;=65495){m+=2;continue}if(o===65498||o===65497){break}p=q.SHORT(m+2)+2;if(t[o]&amp;&amp;q.STRING(m+4,t[o].signature.length)===t[o].signature){s.push({hex:o,app:t[o].app.toUpperCase(),name:t[o].name.toUpperCase(),start:m,length:p,segment:q.SEGMENT(m,p)})}m+=p}q.init(null);return{headers:s,restore:function(w){q.init(w);if(q.SHORT(0)!==65496){return false}m=q.SHORT(2)==65504?4+q.SHORT(4):2;for(var v=0,u=s.length;v&lt;u;v++){q.SEGMENT(m,0,s[v].segment);m+=s[v].length}return q.SEGMENT()},get:function(w){var x=[];for(var v=0,u=s.length;v&lt;u;v++){if(s[v].app===w.toUpperCase()){x.push(s[v].segment)}}return x},set:function(x,w){var y=[];if(typeof(w)===&quot;string&quot;){y.push(w)}else{y=w}for(var v=ii=0,u=s.length;v&lt;u;v++){if(s[v].app===x.toUpperCase()){s[v].segment=y[ii];s[v].length=y[ii].length;ii++}if(ii&gt;=y.length){break}}},purge:function(){s=[];q.init(null)}}}function a(){var p,m,n={},s;p=new b();m={tiff:{274:&quot;Ori
 entation&quot;,34665:&quot;ExifIFDPointer&quot;,34853:&quot;GPSInfoIFDPointer&quot;},exif:{36864:&quot;ExifVersion&quot;,40961:&quot;ColorSpace&quot;,40962:&quot;PixelXDimension&quot;,40963:&quot;PixelYDimension&quot;,36867:&quot;DateTimeOriginal&quot;,33434:&quot;ExposureTime&quot;,33437:&quot;FNumber&quot;,34855:&quot;ISOSpeedRatings&quot;,37377:&quot;ShutterSpeedValue&quot;,37378:&quot;ApertureValue&quot;,37383:&quot;MeteringMode&quot;,37384:&quot;LightSource&quot;,37385:&quot;Flash&quot;,41986:&quot;ExposureMode&quot;,41987:&quot;WhiteBalance&quot;,41990:&quot;SceneCaptureType&quot;,41988:&quot;DigitalZoomRatio&quot;,41992:&quot;Contrast&quot;,41993:&quot;Saturation&quot;,41994:&quot;Sharpness&quot;},gps:{0:&quot;GPSVersionID&quot;,1:&quot;GPSLatitudeRef&quot;,2:&quot;GPSLatitude&quot;,3:&quot;GPSLongitudeRef&quot;,4:&quot;GPSLongitude&quot;}};s={ColorSpace:{1:&quot;sRGB&quot;,0:&quot;Uncalibrated&quot;},MeteringMode:{0:&quot;Unknown&quot;,1:&quot;Average&quot;,2:&quot;C
 enterWeightedAverage&quot;,3:&quot;Spot&quot;,4:&quot;MultiSpot&quot;,5:&quot;Pattern&quot;,6:&quot;Partial&quot;,255:&quot;Other&quot;},LightSource:{1:&quot;Daylight&quot;,2:&quot;Fliorescent&quot;,3:&quot;Tungsten&quot;,4:&quot;Flash&quot;,9:&quot;Fine weather&quot;,10:&quot;Cloudy weather&quot;,11:&quot;Shade&quot;,12:&quot;Daylight fluorescent (D 5700 - 7100K)&quot;,13:&quot;Day white fluorescent (N 4600 -5400K)&quot;,14:&quot;Cool white fluorescent (W 3900 - 4500K)&quot;,15:&quot;White fluorescent (WW 3200 - 3700K)&quot;,17:&quot;Standard light A&quot;,18:&quot;Standard light B&quot;,19:&quot;Standard light C&quot;,20:&quot;D55&quot;,21:&quot;D65&quot;,22:&quot;D75&quot;,23:&quot;D50&quot;,24:&quot;ISO studio tungsten&quot;,255:&quot;Other&quot;},Flash:{0:&quot;Flash did not fire.&quot;,1:&quot;Flash fired.&quot;,5:&quot;Strobe return light not detected.&quot;,7:&quot;Strobe return light detected.&quot;,9:&quot;Flash fired, compulsory flash mode&quot;,13:&quot;Flash fir
 ed, compulsory flash mode, return light not detected&quot;,15:&quot;Flash fired, compulsory flash mode, return light detected&quot;,16:&quot;Flash did not fire, compulsory flash mode&quot;,24:&quot;Flash did not fire, auto mode&quot;,25:&quot;Flash fired, auto mode&quot;,29:&quot;Flash fired, auto mode, return light not detected&quot;,31:&quot;Flash fired, auto mode, return light detected&quot;,32:&quot;No flash function&quot;,65:&quot;Flash fired, red-eye reduction mode&quot;,69:&quot;Flash fired, red-eye reduction mode, return light not detected&quot;,71:&quot;Flash fired, red-eye reduction mode, return light detected&quot;,73:&quot;Flash fired, compulsory flash mode, red-eye reduction mode&quot;,77:&quot;Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected&quot;,79:&quot;Flash fired, compulsory flash mode, red-eye reduction mode, return light detected&quot;,89:&quot;Flash fired, auto mode, red-eye reduction mode&quot;,93:&quot;Flash fired,
  auto mode, return light not detected, red-eye reduction mode&quot;,95:&quot;Flash fired, auto mode, return light detected, red-eye reduction mode&quot;},ExposureMode:{0:&quot;Auto exposure&quot;,1:&quot;Manual exposure&quot;,2:&quot;Auto bracket&quot;},WhiteBalance:{0:&quot;Auto white balance&quot;,1:&quot;Manual white balance&quot;},SceneCaptureType:{0:&quot;Standard&quot;,1:&quot;Landscape&quot;,2:&quot;Portrait&quot;,3:&quot;Night scene&quot;},Contrast:{0:&quot;Normal&quot;,1:&quot;Soft&quot;,2:&quot;Hard&quot;},Saturation:{0:&quot;Normal&quot;,1:&quot;Low saturation&quot;,2:&quot;High saturation&quot;},Sharpness:{0:&quot;Normal&quot;,1:&quot;Soft&quot;,2:&quot;Hard&quot;},GPSLatitudeRef:{N:&quot;North latitude&quot;,S:&quot;South latitude&quot;},GPSLongitudeRef:{E:&quot;East longitude&quot;,W:&quot;West longitude&quot;}};function o(t,B){var v=p.SHORT(t),y,E,F,A,z,u,w,C,D=[],x={};for(y=0;y&lt;v;y++){w=u=t+12*y+2;F=B[p.SHORT(w)];if(F===d){continue}A=p.SHORT(w+=2);z=p.LONG
 (w+=2);w+=4;D=[];switch(A){case 1:case 7:if(z&gt;4){w=p.LONG(w)+n.tiffHeader}for(E=0;E&lt;z;E++){D[E]=p.BYTE(w+E)}break;case 2:if(z&gt;4){w=p.LONG(w)+n.tiffHeader}x[F]=p.STRING(w,z-1);continue;case 3:if(z&gt;2){w=p.LONG(w)+n.tiffHeader}for(E=0;E&lt;z;E++){D[E]=p.SHORT(w+E*2)}break;case 4:if(z&gt;1){w=p.LONG(w)+n.tiffHeader}for(E=0;E&lt;z;E++){D[E]=p.LONG(w+E*4)}break;case 5:w=p.LONG(w)+n.tiffHeader;for(E=0;E&lt;z;E++){D[E]=p.LONG(w+E*4)/p.LONG(w+E*4+4)}break;case 9:w=p.LONG(w)+n.tiffHeader;for(E=0;E&lt;z;E++){D[E]=p.SLONG(w+E*4)}break;case 10:w=p.LONG(w)+n.tiffHeader;for(E=0;E&lt;z;E++){D[E]=p.SLONG(w+E*4)/p.SLONG(w+E*4+4)}break;default:continue}C=(z==1?D[0]:D);if(s.hasOwnProperty(F)&amp;&amp;typeof C!=&quot;object&quot;){x[F]=s[F][C]}else{x[F]=C}}return x}function r(){var u=d,t=n.tiffHeader;p.II(p.SHORT(t)==18761);if(p.SHORT(t+=2)!==42){return false}n.IFD0=n.tiffHeader+p.LONG(t+=2);u=o(n.IFD0,m.tiff);n.exifIFD=(&quot;ExifIFDPointer&quot; in u?n.tiffHeader+u.ExifIFDPointer:d
 );n.gpsIFD=(&quot;GPSInfoIFDPointer&quot; in u?n.tiffHeader+u.GPSInfoIFDPointer:d);return true}function q(v,t,y){var A,x,w,z=0;if(typeof(t)===&quot;string&quot;){var u=m[v.toLowerCase()];for(hex in u){if(u[hex]===t){t=hex;break}}}A=n[v.toLowerCase()+&quot;IFD&quot;];x=p.SHORT(A);for(i=0;i&lt;x;i++){w=A+12*i+2;if(p.SHORT(w)==t){z=w+8;break}}if(!z){return false}p.LONG(z,y);return true}return{init:function(t){n={tiffHeader:10};if(t===d||!t.length){return false}p.init(t);if(p.SHORT(0)===65505&amp;&amp;p.STRING(4,5).toUpperCase()===&quot;EXIF\0&quot;){return r()}return false},EXIF:function(){var t;t=o(n.exifIFD,m.exif);t.ExifVersion=String.fromCharCode(t.ExifVersion[0],t.ExifVersion[1],t.ExifVersion[2],t.ExifVersion[3]);return t},GPS:function(){var t;t=o(n.gpsIFD,m.gps);t.GPSVersionID=t.GPSVersionID.join(&quot;.&quot;);return t},setExif:function(t,u){if(t!==&quot;PixelXDimension&quot;&amp;&amp;t!==&quot;PixelYDimension&quot;){return false}return q(&quot;exif&quot;,t,u)},getBinary
 :function(){return p.SEGMENT()}}}})(window,document,plupload);(function(d,a,b,c){function e(f){return a.getElementById(f)}b.runtimes.Html4=b.addRuntime(&quot;html4&quot;,{getFeatures:function(){return{multipart:true,canOpenDialog:navigator.userAgent.indexOf(&quot;WebKit&quot;)!==-1}},init:function(f,g){f.bind(&quot;Init&quot;,function(p){var j=a.body,n,h=&quot;javascript&quot;,k,x,q,z=[],r=/MSIE/.test(navigator.userAgent),t=[],m=p.settings.filters,o,l,s,w;no_type_restriction:for(o=0;o&lt;m.length;o++){l=m[o].extensions.split(/,/);for(w=0;w&lt;l.length;w++){if(l[w]===&quot;*&quot;){t=[];break no_type_restriction}s=b.mimeTypes[l[w]];if(s){t.push(s)}}}t=t.join(&quot;,&quot;);function v(){var C,A,y,B;q=b.guid();z.push(q);C=a.createElement(&quot;form&quot;);C.setAttribute(&quot;id&quot;,&quot;form_&quot;+q);C.setAttribute(&quot;method&quot;,&quot;post&quot;);C.setAttribute(&quot;enctype&quot;,&quot;multipart/form-data&quot;);C.setAttribute(&quot;encoding&quot;,&quot;multipart/for
 m-data&quot;);C.setAttribute(&quot;target&quot;,p.id+&quot;_iframe&quot;);C.style.position=&quot;absolute&quot;;A=a.createElement(&quot;input&quot;);A.setAttribute(&quot;id&quot;,&quot;input_&quot;+q);A.setAttribute(&quot;type&quot;,&quot;file&quot;);A.setAttribute(&quot;accept&quot;,t);A.setAttribute(&quot;size&quot;,1);B=e(p.settings.browse_button);if(p.features.canOpenDialog&amp;&amp;B){b.addEvent(e(p.settings.browse_button),&quot;click&quot;,function(D){A.click();D.preventDefault()},p.id)}b.extend(A.style,{width:&quot;100%&quot;,height:&quot;100%&quot;,opacity:0,fontSize:&quot;99px&quot;});b.extend(C.style,{overflow:&quot;hidden&quot;});y=p.settings.shim_bgcolor;if(y){C.style.background=y}if(r){b.extend(A.style,{filter:&quot;alpha(opacity=0)&quot;})}b.addEvent(A,&quot;change&quot;,function(G){var E=G.target,D,F=[],H;if(E.value){e(&quot;form_&quot;+q).style.top=-1048575+&quot;px&quot;;D=E.value.replace(/\\/g,&quot;/&quot;);D=D.substring(D.length,D.lastIndexOf(&quot;/&quot
 ;)+1);F.push(new b.File(q,D));if(!p.features.canOpenDialog){b.removeAllEvents(C,p.id)}else{b.removeEvent(B,&quot;click&quot;,p.id)}b.removeEvent(A,&quot;change&quot;,p.id);v();if(F.length){f.trigger(&quot;FilesAdded&quot;,F)}}},p.id);C.appendChild(A);j.appendChild(C);p.refresh()}function u(){var y=a.createElement(&quot;div&quot;);y.innerHTML='&lt;iframe id=&quot;'+p.id+'_iframe&quot; name=&quot;'+p.id+'_iframe&quot; src=&quot;'+h+':&amp;quot;&amp;quot;&quot; style=&quot;display:none&quot;&gt;&lt;/iframe&gt;';n=y.firstChild;j.appendChild(n);b.addEvent(n,&quot;load&quot;,function(D){var E=D.target,C,A;if(!k){return}try{C=E.contentWindow.document||E.contentDocument||d.frames[E.id].document}catch(B){p.trigger(&quot;Error&quot;,{code:b.SECURITY_ERROR,message:b.translate(&quot;Security error.&quot;),file:k});return}A=C.documentElement.innerText||C.documentElement.textContent;if(A){k.status=b.DONE;k.loaded=1025;k.percent=100;p.trigger(&quot;UploadProgress&quot;,k);p.trigger(&quot;F
 ileUploaded&quot;,k,{response:A})}},p.id)}if(p.settings.container){j=e(p.settings.container);if(b.getStyle(j,&quot;position&quot;)===&quot;static&quot;){j.style.position=&quot;relative&quot;}}p.bind(&quot;UploadFile&quot;,function(y,B){var C,A;if(B.status==b.DONE||B.status==b.FAILED||y.state==b.STOPPED){return}C=e(&quot;form_&quot;+B.id);A=e(&quot;input_&quot;+B.id);A.setAttribute(&quot;name&quot;,y.settings.file_data_name);C.setAttribute(&quot;action&quot;,y.settings.url);b.each(b.extend({name:B.target_name||B.name},y.settings.multipart_params),function(F,D){var E=a.createElement(&quot;input&quot;);b.extend(E,{type:&quot;hidden&quot;,name:D,value:F});C.insertBefore(E,C.firstChild)});k=B;e(&quot;form_&quot;+q).style.top=-1048575+&quot;px&quot;;C.submit();C.parentNode.removeChild(C)});p.bind(&quot;FileUploaded&quot;,function(y){y.refresh()});p.bind(&quot;StateChanged&quot;,function(y){if(y.state==b.STARTED){u()}if(y.state==b.STOPPED){d.setTimeout(function(){b.removeEvent(n,&q
 uot;load&quot;,y.id);n.parentNode.removeChild(n)},0)}});p.bind(&quot;Refresh&quot;,function(B){var G,C,D,E,y,H,I,F,A;G=e(B.settings.browse_button);if(G){y=b.getPos(G,e(B.settings.container));H=b.getSize(G);I=e(&quot;form_&quot;+q);F=e(&quot;input_&quot;+q);b.extend(I.style,{top:y.y+&quot;px&quot;,left:y.x+&quot;px&quot;,width:H.w+&quot;px&quot;,height:H.h+&quot;px&quot;});if(B.features.canOpenDialog){A=parseInt(G.parentNode.style.zIndex,10);if(isNaN(A)){A=0}b.extend(G.style,{zIndex:A});if(b.getStyle(G,&quot;position&quot;)===&quot;static&quot;){b.extend(G.style,{position:&quot;relative&quot;})}b.extend(I.style,{zIndex:A-1})}D=B.settings.browse_button_hover;E=B.settings.browse_button_active;C=B.features.canOpenDialog?G:I;if(D){b.addEvent(C,&quot;mouseover&quot;,function(){b.addClass(G,D)},B.id);b.addEvent(C,&quot;mouseout&quot;,function(){b.removeClass(G,D)},B.id)}if(E){b.addEvent(C,&quot;mousedown&quot;,function(){b.addClass(G,E)},B.id);b.addEvent(a.body,&quot;mouseup&quot;,
 function(){b.removeClass(G,E)},B.id)}}});f.bind(&quot;FilesRemoved&quot;,function(y,B){var A,C;for(A=0;A&lt;B.length;A++){C=e(&quot;form_&quot;+B[A].id);if(C){C.parentNode.removeChild(C)}}});f.bind(&quot;Destroy&quot;,function(y){var A,B,C,D={inputContainer:&quot;form_&quot;+q,inputFile:&quot;input_&quot;+q,browseButton:y.settings.browse_button};for(A in D){B=e(D[A]);if(B){b.removeAllEvents(B,y.id)}}b.removeAllEvents(a.body,y.id);b.each(z,function(F,E){C=e(&quot;form_&quot;+F);if(C){j.removeChild(C)}})});v()});g({success:true})}})})(window,document,plupload);
</ins><span class="cx">Property changes on: trunk/wp-includes/js/plupload/plupload.full.js
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<a id="trunkwpincludesjspluploadpluploadhtml4js"></a>
<div class="addfile"><h4>Added: trunk/wp-includes/js/plupload/plupload.html4.js (0 => 18482)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/js/plupload/plupload.html4.js                                (rev 0)
+++ trunk/wp-includes/js/plupload/plupload.html4.js        2011-07-29 08:59:35 UTC (rev 18482)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+(function(d,a,b,c){function e(f){return a.getElementById(f)}b.runtimes.Html4=b.addRuntime(&quot;html4&quot;,{getFeatures:function(){return{multipart:true,canOpenDialog:navigator.userAgent.indexOf(&quot;WebKit&quot;)!==-1}},init:function(f,g){f.bind(&quot;Init&quot;,function(p){var j=a.body,n,h=&quot;javascript&quot;,k,x,q,z=[],r=/MSIE/.test(navigator.userAgent),t=[],m=p.settings.filters,o,l,s,w;no_type_restriction:for(o=0;o&lt;m.length;o++){l=m[o].extensions.split(/,/);for(w=0;w&lt;l.length;w++){if(l[w]===&quot;*&quot;){t=[];break no_type_restriction}s=b.mimeTypes[l[w]];if(s){t.push(s)}}}t=t.join(&quot;,&quot;);function v(){var B,y,i,A;q=b.guid();z.push(q);B=a.createElement(&quot;form&quot;);B.setAttribute(&quot;id&quot;,&quot;form_&quot;+q);B.setAttribute(&quot;method&quot;,&quot;post&quot;);B.setAttribute(&quot;enctype&quot;,&quot;multipart/form-data&quot;);B.setAttribute(&quot;encoding&quot;,&quot;multipart/form-data&quot;);B.setAttribute(&quot;target&quot;,p.
 id+&quot;_iframe&quot;);B.style.position=&quot;absolute&quot;;y=a.createElement(&quot;input&quot;);y.setAttribute(&quot;id&quot;,&quot;input_&quot;+q);y.setAttribute(&quot;type&quot;,&quot;file&quot;);y.setAttribute(&quot;accept&quot;,t);y.setAttribute(&quot;size&quot;,1);A=e(p.settings.browse_button);if(p.features.canOpenDialog&amp;&amp;A){b.addEvent(e(p.settings.browse_button),&quot;click&quot;,function(C){y.click();C.preventDefault()},p.id)}b.extend(y.style,{width:&quot;100%&quot;,height:&quot;100%&quot;,opacity:0,fontSize:&quot;99px&quot;});b.extend(B.style,{overflow:&quot;hidden&quot;});i=p.settings.shim_bgcolor;if(i){B.style.background=i}if(r){b.extend(y.style,{filter:&quot;alpha(opacity=0)&quot;})}b.addEvent(y,&quot;change&quot;,function(F){var D=F.target,C,E=[],G;if(D.value){e(&quot;form_&quot;+q).style.top=-1048575+&quot;px&quot;;C=D.value.replace(/\\/g,&quot;/&quot;);C=C.substring(C.length,C.lastIndexOf(&quot;/&quot;)+1);E.push(new b.File(q,C));if(!p.features.canOp
 enDialog){b.removeAllEvents(B,p.id)}else{b.removeEvent(A,&quot;click&quot;,p.id)}b.removeEvent(y,&quot;change&quot;,p.id);v();if(E.length){f.trigger(&quot;FilesAdded&quot;,E)}}},p.id);B.appendChild(y);j.appendChild(B);p.refresh()}function u(){var i=a.createElement(&quot;div&quot;);i.innerHTML='&lt;iframe id=&quot;'+p.id+'_iframe&quot; name=&quot;'+p.id+'_iframe&quot; src=&quot;'+h+':&amp;quot;&amp;quot;&quot; style=&quot;display:none&quot;&gt;&lt;/iframe&gt;';n=i.firstChild;j.appendChild(n);b.addEvent(n,&quot;load&quot;,function(C){var D=C.target,B,y;if(!k){return}try{B=D.contentWindow.document||D.contentDocument||d.frames[D.id].document}catch(A){p.trigger(&quot;Error&quot;,{code:b.SECURITY_ERROR,message:b.translate(&quot;Security error.&quot;),file:k});return}y=B.documentElement.innerText||B.documentElement.textContent;if(y){k.status=b.DONE;k.loaded=1025;k.percent=100;p.trigger(&quot;UploadProgress&quot;,k);p.trigger(&quot;FileUploaded&quot;,k,{response:y})}},p.id)}if(p.set
 tings.container){j=e(p.settings.container);if(b.getStyle(j,&quot;position&quot;)===&quot;static&quot;){j.style.position=&quot;relative&quot;}}p.bind(&quot;UploadFile&quot;,function(i,A){var B,y;if(A.status==b.DONE||A.status==b.FAILED||i.state==b.STOPPED){return}B=e(&quot;form_&quot;+A.id);y=e(&quot;input_&quot;+A.id);y.setAttribute(&quot;name&quot;,i.settings.file_data_name);B.setAttribute(&quot;action&quot;,i.settings.url);b.each(b.extend({name:A.target_name||A.name},i.settings.multipart_params),function(E,C){var D=a.createElement(&quot;input&quot;);b.extend(D,{type:&quot;hidden&quot;,name:C,value:E});B.insertBefore(D,B.firstChild)});k=A;e(&quot;form_&quot;+q).style.top=-1048575+&quot;px&quot;;B.submit();B.parentNode.removeChild(B)});p.bind(&quot;FileUploaded&quot;,function(i){i.refresh()});p.bind(&quot;StateChanged&quot;,function(i){if(i.state==b.STARTED){u()}if(i.state==b.STOPPED){d.setTimeout(function(){b.removeEvent(n,&quot;load&quot;,i.id);n.parentNode.removeChild(n)},
 0)}});p.bind(&quot;Refresh&quot;,function(A){var F,B,C,D,i,G,H,E,y;F=e(A.settings.browse_button);if(F){i=b.getPos(F,e(A.settings.container));G=b.getSize(F);H=e(&quot;form_&quot;+q);E=e(&quot;input_&quot;+q);b.extend(H.style,{top:i.y+&quot;px&quot;,left:i.x+&quot;px&quot;,width:G.w+&quot;px&quot;,height:G.h+&quot;px&quot;});if(A.features.canOpenDialog){y=parseInt(F.parentNode.style.zIndex,10);if(isNaN(y)){y=0}b.extend(F.style,{zIndex:y});if(b.getStyle(F,&quot;position&quot;)===&quot;static&quot;){b.extend(F.style,{position:&quot;relative&quot;})}b.extend(H.style,{zIndex:y-1})}C=A.settings.browse_button_hover;D=A.settings.browse_button_active;B=A.features.canOpenDialog?F:H;if(C){b.addEvent(B,&quot;mouseover&quot;,function(){b.addClass(F,C)},A.id);b.addEvent(B,&quot;mouseout&quot;,function(){b.removeClass(F,C)},A.id)}if(D){b.addEvent(B,&quot;mousedown&quot;,function(){b.addClass(F,D)},A.id);b.addEvent(a.body,&quot;mouseup&quot;,function(){b.removeClass(F,D)},A.id)}}});f.bind(&q
 uot;FilesRemoved&quot;,function(y,B){var A,C;for(A=0;A&lt;B.length;A++){C=e(&quot;form_&quot;+B[A].id);if(C){C.parentNode.removeChild(C)}}});f.bind(&quot;Destroy&quot;,function(i){var y,A,B,C={inputContainer:&quot;form_&quot;+q,inputFile:&quot;input_&quot;+q,browseButton:i.settings.browse_button};for(y in C){A=e(C[y]);if(A){b.removeAllEvents(A,i.id)}}b.removeAllEvents(a.body,i.id);b.each(z,function(E,D){B=e(&quot;form_&quot;+E);if(B){j.removeChild(B)}})});v()});g({success:true})}})})(window,document,plupload);
</ins><span class="cx">Property changes on: trunk/wp-includes/js/plupload/plupload.html4.js
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<a id="trunkwpincludesjspluploadpluploadhtml5js"></a>
<div class="addfile"><h4>Added: trunk/wp-includes/js/plupload/plupload.html5.js (0 => 18482)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/js/plupload/plupload.html5.js                                (rev 0)
+++ trunk/wp-includes/js/plupload/plupload.html5.js        2011-07-29 08:59:35 UTC (rev 18482)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+(function(g,j,h,d){var f;if(g.Uint8Array&amp;&amp;g.ArrayBuffer&amp;&amp;!XMLHttpRequest.prototype.sendAsBinary){XMLHttpRequest.prototype.sendAsBinary=function(o){var m=new Uint8Array(o.length);for(var n=0;n&lt;o.length;n++){m[n]=(o.charCodeAt(n)&amp;255)}this.send(m.buffer)}}function l(n,o){var m;if(&quot;FileReader&quot; in g){m=new FileReader();m.readAsDataURL(n);m.onload=function(){o(m.result)}}else{return o(n.getAsDataURL())}}function k(n,o){var m;if(&quot;FileReader&quot; in g){m=new FileReader();m.readAsBinaryString(n);m.onload=function(){o(m.result)}}else{return o(n.getAsBinary())}}function c(q,o,r,t){var n,p,m,s;l(q,function(u){n=j.createElement(&quot;canvas&quot;);n.style.display=&quot;none&quot;;j.body.appendChild(n);p=n.getContext(&quot;2d&quot;);m=new Image();m.onerror=m.onabort=function(){t({success:false})};m.onload=function(){var z,v,x,w,y;if(!o.width){o.width=m.width}if(!o.height){o.height=m.height}s=Math.min(o.width/m.width,o.height/m.height);if
 (s&lt;1||(s===1&amp;&amp;r===&quot;image/jpeg&quot;)){z=Math.round(m.width*s);v=Math.round(m.height*s);n.width=z;n.height=v;p.drawImage(m,0,0,z,v);if(r===&quot;image/jpeg&quot;){w=new e(atob(u.substring(u.indexOf(&quot;base64,&quot;)+7)));if(w.headers&amp;&amp;w.headers.length){y=new a();if(y.init(w.get(&quot;exif&quot;)[0])){y.setExif(&quot;PixelXDimension&quot;,z);y.setExif(&quot;PixelYDimension&quot;,v);w.set(&quot;exif&quot;,y.getBinary())}}if(o.quality){try{u=n.toDataURL(r,o.quality/100)}catch(A){u=n.toDataURL(r)}}}else{u=n.toDataURL(r)}u=u.substring(u.indexOf(&quot;base64,&quot;)+7);u=atob(u);if(w.headers&amp;&amp;w.headers.length){u=w.restore(u);w.purge()}n.parentNode.removeChild(n);t({success:true,data:u})}else{t({success:false})}};m.src=u})}h.runtimes.Html5=h.addRuntime(&quot;html5&quot;,{getFeatures:function(){var r,n,q,o,m,p=g;n=q=o=m=false;if(p.XMLHttpRequest){r=new XMLHttpRequest();q=!!r.upload;n=!!(r.sendAsBinary||r.upload)}if(n){o=!!(File&amp;&amp;(File.protot
 ype.getAsDataURL||p.FileReader)&amp;&amp;r.sendAsBinary);m=!!(File&amp;&amp;File.prototype.slice)}f=navigator.userAgent.indexOf(&quot;Safari&quot;)&gt;0&amp;&amp;navigator.vendor.indexOf(&quot;Apple&quot;)!==-1;return{html5:n,dragdrop:p.mozInnerScreenX!==d||m||f,jpgresize:o,pngresize:o,multipart:o||!!p.FileReader||!!p.FormData,progress:q,chunks:m||o,canOpenDialog:navigator.userAgent.indexOf(&quot;WebKit&quot;)!==-1}},init:function(p,q){var m={},n;function o(v){var t,s,u=[],w,r={};for(s=0;s&lt;v.length;s++){t=v[s];if(r[t.name]){continue}r[t.name]=true;w=h.guid();m[w]=t;u.push(new h.File(w,t.fileName,t.fileSize||t.size))}if(u.length){p.trigger(&quot;FilesAdded&quot;,u)}}n=this.getFeatures();if(!n.html5){q({success:false});return}p.bind(&quot;Init&quot;,function(v){var F,E,B=[],u,C,s=v.settings.filters,t,A,r=j.body,D;F=j.createElement(&quot;div&quot;);F.id=v.id+&quot;_html5_container&quot;;h.extend(F.style,{position:&quot;absolute&quot;,background:p.settings.shim_bgcolor||&quot
 ;transparent&quot;,width:&quot;100px&quot;,height:&quot;100px&quot;,overflow:&quot;hidden&quot;,zIndex:99999,opacity:p.settings.shim_bgcolor?&quot;&quot;:0});F.className=&quot;plupload html5&quot;;if(p.settings.container){r=j.getElementById(p.settings.container);if(h.getStyle(r,&quot;position&quot;)===&quot;static&quot;){r.style.position=&quot;relative&quot;}}r.appendChild(F);no_type_restriction:for(u=0;u&lt;s.length;u++){t=s[u].extensions.split(/,/);for(C=0;C&lt;t.length;C++){if(t[C]===&quot;*&quot;){B=[];break no_type_restriction}A=h.mimeTypes[t[C]];if(A){B.push(A)}}}F.innerHTML='&lt;input id=&quot;'+p.id+'_html5&quot; style=&quot;width:100%;height:100%;font-size:99px&quot; type=&quot;file&quot; accept=&quot;'+B.join(&quot;,&quot;)+'&quot; '+(p.settings.multi_selection?'multiple=&quot;multiple&quot;':&quot;&quot;)+&quot; /&gt;&quot;;D=j.getElementById(p.id+&quot;_html5&quot;);D.onchange=function(){o(this.files);this.value=&quot;&quot;};E=j.getElementById(v.settings.browse_
 button);if(E){var x=v.settings.browse_button_hover,z=v.settings.browse_button_active,w=v.features.canOpenDialog?E:F;if(x){h.addEvent(w,&quot;mouseover&quot;,function(){h.addClass(E,x)},v.id);h.addEvent(w,&quot;mouseout&quot;,function(){h.removeClass(E,x)},v.id)}if(z){h.addEvent(w,&quot;mousedown&quot;,function(){h.addClass(E,z)},v.id);h.addEvent(j.body,&quot;mouseup&quot;,function(){h.removeClass(E,z)},v.id)}if(v.features.canOpenDialog){h.addEvent(E,&quot;click&quot;,function(y){j.getElementById(v.id+&quot;_html5&quot;).click();y.preventDefault()},v.id)}}});p.bind(&quot;PostInit&quot;,function(){var r=j.getElementById(p.settings.drop_element);if(r){if(f){h.addEvent(r,&quot;dragenter&quot;,function(v){var u,s,t;u=j.getElementById(p.id+&quot;_drop&quot;);if(!u){u=j.createElement(&quot;input&quot;);u.setAttribute(&quot;type&quot;,&quot;file&quot;);u.setAttribute(&quot;id&quot;,p.id+&quot;_drop&quot;);u.setAttribute(&quot;multiple&quot;,&quot;multiple&quot;);h.addEvent(u,&quot;c
 hange&quot;,function(){o(this.files);h.removeEvent(u,&quot;change&quot;,p.id);u.parentNode.removeChild(u)},p.id);r.appendChild(u)}s=h.getPos(r,j.getElementById(p.settings.container));t=h.getSize(r);if(h.getStyle(r,&quot;position&quot;)===&quot;static&quot;){h.extend(r.style,{position:&quot;relative&quot;})}h.extend(u.style,{position:&quot;absolute&quot;,display:&quot;block&quot;,top:0,left:0,width:t.w+&quot;px&quot;,height:t.h+&quot;px&quot;,opacity:0})},p.id);return}h.addEvent(r,&quot;dragover&quot;,function(s){s.preventDefault()},p.id);h.addEvent(r,&quot;drop&quot;,function(t){var s=t.dataTransfer;if(s&amp;&amp;s.files){o(s.files)}t.preventDefault()},p.id)}});p.bind(&quot;Refresh&quot;,function(r){var s,u,v,w,t;s=j.getElementById(p.settings.browse_button);if(s){u=h.getPos(s,j.getElementById(r.settings.container));v=h.getSize(s);w=j.getElementById(p.id+&quot;_html5_container&quot;);h.extend(w.style,{top:u.y+&quot;px&quot;,left:u.x+&quot;px&quot;,width:v.w+&quot;px&quot;,hei
 ght:v.h+&quot;px&quot;});if(p.features.canOpenDialog){t=parseInt(s.parentNode.style.zIndex,10);if(isNaN(t)){t=0}h.extend(s.style,{zIndex:t});if(h.getStyle(s,&quot;position&quot;)===&quot;static&quot;){h.extend(s.style,{position:&quot;relative&quot;})}h.extend(w.style,{zIndex:t-1})}}});p.bind(&quot;UploadFile&quot;,function(r,t){var u=r.settings,w,s;function v(x){var A=0,z=0;function y(){var H=x,O,P,K,L,M=0,D=&quot;----pluploadboundary&quot;+h.guid(),G,I,E,F=&quot;--&quot;,N=&quot;\r\n&quot;,J=&quot;&quot;,C,B=r.settings.url;if(t.status==h.DONE||t.status==h.FAILED||r.state==h.STOPPED){return}L={name:t.target_name||t.name};if(u.chunk_size&amp;&amp;n.chunks){G=u.chunk_size;K=Math.ceil(t.size/G);I=Math.min(G,t.size-(A*G));if(typeof(x)==&quot;string&quot;){H=x.substring(A*G,A*G+I)}else{H=x.slice(A*G,I)}L.chunk=A;L.chunks=K}else{I=t.size}O=new XMLHttpRequest();P=O.upload;if(P){P.onprogress=function(Q){t.loaded=Math.min(t.size,z+Q.loaded-M);r.trigger(&quot;UploadProgress&quot;,t)}}
 if(!r.settings.multipart||!n.multipart){B=h.buildUrl(r.settings.url,L)}else{L.name=t.target_name||t.name}O.open(&quot;post&quot;,B,true);O.onreadystatechange=function(){var Q,S;if(O.readyState==4){try{Q=O.status}catch(R){Q=0}if(Q&gt;=400){r.trigger(&quot;Error&quot;,{code:h.HTTP_ERROR,message:h.translate(&quot;HTTP Error.&quot;),file:t,status:Q})}else{if(K){S={chunk:A,chunks:K,response:O.responseText,status:Q};r.trigger(&quot;ChunkUploaded&quot;,t,S);z+=I;if(S.cancelled){t.status=h.FAILED;return}t.loaded=Math.min(t.size,(A+1)*G)}else{t.loaded=t.size}r.trigger(&quot;UploadProgress&quot;,t);if(!K||++A&gt;=K){t.status=h.DONE;r.trigger(&quot;FileUploaded&quot;,t,{response:O.responseText,status:Q});w=x=m[t.id]=null}else{y()}}O=H=E=J=null}};h.each(r.settings.headers,function(R,Q){O.setRequestHeader(Q,R)});if(r.settings.multipart&amp;&amp;n.multipart){if(!O.sendAsBinary){E=new FormData();h.each(h.extend(L,r.settings.multipart_params),function(R,Q){E.append(Q,R)});E.append(r.setting
 s.file_data_name,H);O.send(E);return}O.setRequestHeader(&quot;Content-Type&quot;,&quot;multipart/form-data; boundary=&quot;+D);h.each(h.extend(L,r.settings.multipart_params),function(R,Q){J+=F+D+N+'Content-Disposition: form-data; name=&quot;'+Q+'&quot;'+N+N;J+=unescape(encodeURIComponent(R))+N});C=h.mimeTypes[t.name.replace(/^.+\.([^.]+)/,&quot;$1&quot;).toLowerCase()]||&quot;application/octet-stream&quot;;J+=F+D+N+'Content-Disposition: form-data; name=&quot;'+r.settings.file_data_name+'&quot;; filename=&quot;'+unescape(encodeURIComponent(t.name))+'&quot;'+N+&quot;Content-Type: &quot;+C+N+N+H+N+F+D+F+N;M=J.length-H.length;H=J}else{O.setRequestHeader(&quot;Content-Type&quot;,&quot;application/octet-stream&quot;)}if(O.sendAsBinary){O.sendAsBinary(H)}else{O.send(H)}}y()}w=m[t.id];s=r.settings.resize;if(n.jpgresize){if(s&amp;&amp;/\.(png|jpg|jpeg)$/i.test(t.name)){c(w,s,/\.png$/i.test(t.name)?&quot;image/png&quot;:&quot;image/jpeg&quot;,function(x){if(x.success){t.size=x.data.le
 ngth;v(x.data)}else{k(w,v)}})}else{k(w,v)}}else{v(w)}});p.bind(&quot;Destroy&quot;,function(r){var t,u,s=j.body,v={inputContainer:r.id+&quot;_html5_container&quot;,inputFile:r.id+&quot;_html5&quot;,browseButton:r.settings.browse_button,dropElm:r.settings.drop_element};for(t in v){u=j.getElementById(v[t]);if(u){h.removeAllEvents(u,r.id)}}h.removeAllEvents(j.body,r.id);if(r.settings.container){s=j.getElementById(r.settings.container)}s.removeChild(j.getElementById(v.inputContainer))});q({success:true})}});function b(){var p=false,n;function q(s,u){var r=p?0:-8*(u-1),v=0,t;for(t=0;t&lt;u;t++){v|=(n.charCodeAt(s+t)&lt;&lt;Math.abs(r+t*8))}return v}function m(t,r,s){var s=arguments.length===3?s:n.length-r-1;n=n.substr(0,r)+t+n.substr(s+r)}function o(s,t,v){var w=&quot;&quot;,r=p?0:-8*(v-1),u;for(u=0;u&lt;v;u++){w+=String.fromCharCode((t&gt;&gt;Math.abs(r+u*8))&amp;255)}m(w,s,v)}return{II:function(r){if(r===d){return p}else{p=r}},init:function(r){p=false;n=r},SEGMENT:function(r,t,
 s){switch(arguments.length){case 1:return n.substr(r,n.length-r-1);case 2:return n.substr(r,t);case 3:m(s,r,t);break;default:return n}},BYTE:function(r){return q(r,1)},SHORT:function(r){return q(r,2)},LONG:function(r,s){if(s===d){return q(r,4)}else{o(r,s,4)}},SLONG:function(r){var s=q(r,4);return(s&gt;2147483647?s-4294967296:s)},STRING:function(r,s){var t=&quot;&quot;;for(s+=r;r&lt;s;r++){t+=String.fromCharCode(q(r,1))}return t}}}function e(r){var t={65505:{app:&quot;EXIF&quot;,name:&quot;APP1&quot;,signature:&quot;Exif\0&quot;},65506:{app:&quot;ICC&quot;,name:&quot;APP2&quot;,signature:&quot;ICC_PROFILE\0&quot;},65517:{app:&quot;IPTC&quot;,name:&quot;APP13&quot;,signature:&quot;Photoshop 3.0\0&quot;}},s=[],q,m,o=d,p=0,n;q=new b();q.init(r);if(q.SHORT(0)!==65496){return}m=2;n=Math.min(1048576,r.length);while(m&lt;=n){o=q.SHORT(m);if(o&gt;=65488&amp;&amp;o&lt;=65495){m+=2;continue}if(o===65498||o===65497){break}p=q.SHORT(m+2)+2;if(t[o]&amp;&amp;q.STRING(m+4,t[o].signature.len
 gth)===t[o].signature){s.push({hex:o,app:t[o].app.toUpperCase(),name:t[o].name.toUpperCase(),start:m,length:p,segment:q.SEGMENT(m,p)})}m+=p}q.init(null);return{headers:s,restore:function(w){q.init(w);if(q.SHORT(0)!==65496){return false}m=q.SHORT(2)==65504?4+q.SHORT(4):2;for(var v=0,u=s.length;v&lt;u;v++){q.SEGMENT(m,0,s[v].segment);m+=s[v].length}return q.SEGMENT()},get:function(w){var x=[];for(var v=0,u=s.length;v&lt;u;v++){if(s[v].app===w.toUpperCase()){x.push(s[v].segment)}}return x},set:function(x,w){var y=[];if(typeof(w)===&quot;string&quot;){y.push(w)}else{y=w}for(var v=ii=0,u=s.length;v&lt;u;v++){if(s[v].app===x.toUpperCase()){s[v].segment=y[ii];s[v].length=y[ii].length;ii++}if(ii&gt;=y.length){break}}},purge:function(){s=[];q.init(null)}}}function a(){var p,m,n={},s;p=new b();m={tiff:{274:&quot;Orientation&quot;,34665:&quot;ExifIFDPointer&quot;,34853:&quot;GPSInfoIFDPointer&quot;},exif:{36864:&quot;ExifVersion&quot;,40961:&quot;ColorSpace&quot;,40962:&quot;PixelXDime
 nsion&quot;,40963:&quot;PixelYDimension&quot;,36867:&quot;DateTimeOriginal&quot;,33434:&quot;ExposureTime&quot;,33437:&quot;FNumber&quot;,34855:&quot;ISOSpeedRatings&quot;,37377:&quot;ShutterSpeedValue&quot;,37378:&quot;ApertureValue&quot;,37383:&quot;MeteringMode&quot;,37384:&quot;LightSource&quot;,37385:&quot;Flash&quot;,41986:&quot;ExposureMode&quot;,41987:&quot;WhiteBalance&quot;,41990:&quot;SceneCaptureType&quot;,41988:&quot;DigitalZoomRatio&quot;,41992:&quot;Contrast&quot;,41993:&quot;Saturation&quot;,41994:&quot;Sharpness&quot;},gps:{0:&quot;GPSVersionID&quot;,1:&quot;GPSLatitudeRef&quot;,2:&quot;GPSLatitude&quot;,3:&quot;GPSLongitudeRef&quot;,4:&quot;GPSLongitude&quot;}};s={ColorSpace:{1:&quot;sRGB&quot;,0:&quot;Uncalibrated&quot;},MeteringMode:{0:&quot;Unknown&quot;,1:&quot;Average&quot;,2:&quot;CenterWeightedAverage&quot;,3:&quot;Spot&quot;,4:&quot;MultiSpot&quot;,5:&quot;Pattern&quot;,6:&quot;Partial&quot;,255:&quot;Other&quot;},LightSource:{1:&quot;Daylight&quot;
 ,2:&quot;Fliorescent&quot;,3:&quot;Tungsten&quot;,4:&quot;Flash&quot;,9:&quot;Fine weather&quot;,10:&quot;Cloudy weather&quot;,11:&quot;Shade&quot;,12:&quot;Daylight fluorescent (D 5700 - 7100K)&quot;,13:&quot;Day white fluorescent (N 4600 -5400K)&quot;,14:&quot;Cool white fluorescent (W 3900 - 4500K)&quot;,15:&quot;White fluorescent (WW 3200 - 3700K)&quot;,17:&quot;Standard light A&quot;,18:&quot;Standard light B&quot;,19:&quot;Standard light C&quot;,20:&quot;D55&quot;,21:&quot;D65&quot;,22:&quot;D75&quot;,23:&quot;D50&quot;,24:&quot;ISO studio tungsten&quot;,255:&quot;Other&quot;},Flash:{0:&quot;Flash did not fire.&quot;,1:&quot;Flash fired.&quot;,5:&quot;Strobe return light not detected.&quot;,7:&quot;Strobe return light detected.&quot;,9:&quot;Flash fired, compulsory flash mode&quot;,13:&quot;Flash fired, compulsory flash mode, return light not detected&quot;,15:&quot;Flash fired, compulsory flash mode, return light detected&quot;,16:&quot;Flash did not fire, compulsory 
 flash mode&quot;,24:&quot;Flash did not fire, auto mode&quot;,25:&quot;Flash fired, auto mode&quot;,29:&quot;Flash fired, auto mode, return light not detected&quot;,31:&quot;Flash fired, auto mode, return light detected&quot;,32:&quot;No flash function&quot;,65:&quot;Flash fired, red-eye reduction mode&quot;,69:&quot;Flash fired, red-eye reduction mode, return light not detected&quot;,71:&quot;Flash fired, red-eye reduction mode, return light detected&quot;,73:&quot;Flash fired, compulsory flash mode, red-eye reduction mode&quot;,77:&quot;Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected&quot;,79:&quot;Flash fired, compulsory flash mode, red-eye reduction mode, return light detected&quot;,89:&quot;Flash fired, auto mode, red-eye reduction mode&quot;,93:&quot;Flash fired, auto mode, return light not detected, red-eye reduction mode&quot;,95:&quot;Flash fired, auto mode, return light detected, red-eye reduction mode&quot;},ExposureMode:{0:&q
 uot;Auto exposure&quot;,1:&quot;Manual exposure&quot;,2:&quot;Auto bracket&quot;},WhiteBalance:{0:&quot;Auto white balance&quot;,1:&quot;Manual white balance&quot;},SceneCaptureType:{0:&quot;Standard&quot;,1:&quot;Landscape&quot;,2:&quot;Portrait&quot;,3:&quot;Night scene&quot;},Contrast:{0:&quot;Normal&quot;,1:&quot;Soft&quot;,2:&quot;Hard&quot;},Saturation:{0:&quot;Normal&quot;,1:&quot;Low saturation&quot;,2:&quot;High saturation&quot;},Sharpness:{0:&quot;Normal&quot;,1:&quot;Soft&quot;,2:&quot;Hard&quot;},GPSLatitudeRef:{N:&quot;North latitude&quot;,S:&quot;South latitude&quot;},GPSLongitudeRef:{E:&quot;East longitude&quot;,W:&quot;West longitude&quot;}};function o(t,B){var v=p.SHORT(t),y,E,F,A,z,u,w,C,D=[],x={};for(y=0;y&lt;v;y++){w=u=t+12*y+2;F=B[p.SHORT(w)];if(F===d){continue}A=p.SHORT(w+=2);z=p.LONG(w+=2);w+=4;D=[];switch(A){case 1:case 7:if(z&gt;4){w=p.LONG(w)+n.tiffHeader}for(E=0;E&lt;z;E++){D[E]=p.BYTE(w+E)}break;case 2:if(z&gt;4){w=p.LONG(w)+n.tiffHeader}x[F]=p.ST
 RING(w,z-1);continue;case 3:if(z&gt;2){w=p.LONG(w)+n.tiffHeader}for(E=0;E&lt;z;E++){D[E]=p.SHORT(w+E*2)}break;case 4:if(z&gt;1){w=p.LONG(w)+n.tiffHeader}for(E=0;E&lt;z;E++){D[E]=p.LONG(w+E*4)}break;case 5:w=p.LONG(w)+n.tiffHeader;for(E=0;E&lt;z;E++){D[E]=p.LONG(w+E*4)/p.LONG(w+E*4+4)}break;case 9:w=p.LONG(w)+n.tiffHeader;for(E=0;E&lt;z;E++){D[E]=p.SLONG(w+E*4)}break;case 10:w=p.LONG(w)+n.tiffHeader;for(E=0;E&lt;z;E++){D[E]=p.SLONG(w+E*4)/p.SLONG(w+E*4+4)}break;default:continue}C=(z==1?D[0]:D);if(s.hasOwnProperty(F)&amp;&amp;typeof C!=&quot;object&quot;){x[F]=s[F][C]}else{x[F]=C}}return x}function r(){var u=d,t=n.tiffHeader;p.II(p.SHORT(t)==18761);if(p.SHORT(t+=2)!==42){return false}n.IFD0=n.tiffHeader+p.LONG(t+=2);u=o(n.IFD0,m.tiff);n.exifIFD=(&quot;ExifIFDPointer&quot; in u?n.tiffHeader+u.ExifIFDPointer:d);n.gpsIFD=(&quot;GPSInfoIFDPointer&quot; in u?n.tiffHeader+u.GPSInfoIFDPointer:d);return true}function q(v,t,y){var A,x,w,z=0;if(typeof(t)===&quot;string&quot;){var u=m[v.
 toLowerCase()];for(hex in u){if(u[hex]===t){t=hex;break}}}A=n[v.toLowerCase()+&quot;IFD&quot;];x=p.SHORT(A);for(i=0;i&lt;x;i++){w=A+12*i+2;if(p.SHORT(w)==t){z=w+8;break}}if(!z){return false}p.LONG(z,y);return true}return{init:function(t){n={tiffHeader:10};if(t===d||!t.length){return false}p.init(t);if(p.SHORT(0)===65505&amp;&amp;p.STRING(4,5).toUpperCase()===&quot;EXIF\0&quot;){return r()}return false},EXIF:function(){var t;t=o(n.exifIFD,m.exif);t.ExifVersion=String.fromCharCode(t.ExifVersion[0],t.ExifVersion[1],t.ExifVersion[2],t.ExifVersion[3]);return t},GPS:function(){var t;t=o(n.gpsIFD,m.gps);t.GPSVersionID=t.GPSVersionID.join(&quot;.&quot;);return t},setExif:function(t,u){if(t!==&quot;PixelXDimension&quot;&amp;&amp;t!==&quot;PixelYDimension&quot;){return false}return q(&quot;exif&quot;,t,u)},getBinary:function(){return p.SEGMENT()}}}})(window,document,plupload);
</ins><span class="cx">Property changes on: trunk/wp-includes/js/plupload/plupload.html5.js
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<a id="trunkwpincludesjspluploadpluploadjs"></a>
<div class="addfile"><h4>Added: trunk/wp-includes/js/plupload/plupload.js (0 => 18482)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/js/plupload/plupload.js                                (rev 0)
+++ trunk/wp-includes/js/plupload/plupload.js        2011-07-29 08:59:35 UTC (rev 18482)
</span><span class="lines">@@ -0,0 +1,2 @@
</span><ins>+/*1.4.3.2*/
+(function(){var f=0,k=[],m={},i={},a={&quot;&lt;&quot;:&quot;lt&quot;,&quot;&gt;&quot;:&quot;gt&quot;,&quot;&amp;&quot;:&quot;amp&quot;,'&quot;':&quot;quot&quot;,&quot;'&quot;:&quot;#39&quot;},l=/[&lt;&gt;&amp;\&quot;\']/g,b,c=window.setTimeout,d={},e;function h(){this.returnValue=false}function j(){this.cancelBubble=true}(function(n){var o=n.split(/,/),p,r,q;for(p=0;p&lt;o.length;p+=2){q=o[p+1].split(/ /);for(r=0;r&lt;q.length;r++){i[q[r]]=o[p]}}})(&quot;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,docx pptx xlsx,audio/mpeg,mpga mpega mp2 mp3,audio/x-wav,wav,audio/mp4,m4a,image/bmp,bmp,image/gif,gif,image/jpeg,jpeg jpg jpe,image/png,png,image/svg+xml,svg svgz,image/tiff,tiff tif,text/html,htm html xhtml,text/rtf,rtf,video/mpeg,m
 peg mpg mpe,video/quicktime,qt mov,video/mp4,mp4,video/x-m4v,m4v,video/x-flv,flv,video/vnd.rn-realvideo,rv,text/plain,asc txt text diff log,application/octet-stream,exe&quot;);var g={VERSION:&quot;1.4.3.2&quot;,STOPPED:1,STARTED:2,QUEUED:1,UPLOADING:2,FAILED:4,DONE:5,GENERIC_ERROR:-100,HTTP_ERROR:-200,IO_ERROR:-300,SECURITY_ERROR:-400,INIT_ERROR:-500,FILE_SIZE_ERROR:-600,FILE_EXTENSION_ERROR:-601,IMAGE_FORMAT_ERROR:-700,IMAGE_MEMORY_ERROR:-701,IMAGE_DIMENSIONS_ERROR:-702,mimeTypes:i,extend:function(n){g.each(arguments,function(o,p){if(p&gt;0){g.each(o,function(r,q){n[q]=r})}});return n},cleanName:function(n){var o,p;p=[/[\300-\306]/g,&quot;A&quot;,/[\340-\346]/g,&quot;a&quot;,/\307/g,&quot;C&quot;,/\347/g,&quot;c&quot;,/[\310-\313]/g,&quot;E&quot;,/[\350-\353]/g,&quot;e&quot;,/[\314-\317]/g,&quot;I&quot;,/[\354-\357]/g,&quot;i&quot;,/\321/g,&quot;N&quot;,/\361/g,&quot;n&quot;,/[\322-\330]/g,&quot;O&quot;,/[\362-\370]/g,&quot;o&quot;,/[\331-\334]/g,&quot;U&quot;,/[\371-\374]/
 g,&quot;u&quot;];for(o=0;o&lt;p.length;o+=2){n=n.replace(p[o],p[o+1])}n=n.replace(/\s+/g,&quot;_&quot;);n=n.replace(/[^a-z0-9_\-\.]+/gi,&quot;&quot;);return n},addRuntime:function(n,o){o.name=n;k[n]=o;k.push(o);return o},guid:function(){var n=new Date().getTime().toString(32),o;for(o=0;o&lt;5;o++){n+=Math.floor(Math.random()*65535).toString(32)}return(g.guidPrefix||&quot;p&quot;)+n+(f++).toString(32)},buildUrl:function(o,n){var p=&quot;&quot;;g.each(n,function(r,q){p+=(p?&quot;&amp;&quot;:&quot;&quot;)+encodeURIComponent(q)+&quot;=&quot;+encodeURIComponent(r)});if(p){o+=(o.indexOf(&quot;?&quot;)&gt;0?&quot;&amp;&quot;:&quot;?&quot;)+p}return o},each:function(q,r){var p,o,n;if(q){p=q.length;if(p===b){for(o in q){if(q.hasOwnProperty(o)){if(r(q[o],o)===false){return}}}}else{for(n=0;n&lt;p;n++){if(r(q[n],n)===false){return}}}}},formatSize:function(n){if(n===b||/\D/.test(n)){return g.translate(&quot;N/A&quot;)}if(n&gt;1073741824){return Math.round(n/1073741824,1)+&quot; GB&quot;}
 if(n&gt;1048576){return Math.round(n/1048576,1)+&quot; MB&quot;}if(n&gt;1024){return Math.round(n/1024,1)+&quot; KB&quot;}return n+&quot; b&quot;},getPos:function(o,s){var t=0,r=0,v,u=document,p,q;o=o;s=s||u.body;function n(B){var z,A,w=0,C=0;if(B){A=B.getBoundingClientRect();z=u.compatMode===&quot;CSS1Compat&quot;?u.documentElement:u.body;w=A.left+z.scrollLeft;C=A.top+z.scrollTop}return{x:w,y:C}}if(o&amp;&amp;o.getBoundingClientRect&amp;&amp;(navigator.userAgent.indexOf(&quot;MSIE&quot;)&gt;0&amp;&amp;u.documentMode!==8)){p=n(o);q=n(s);return{x:p.x-q.x,y:p.y-q.y}}v=o;while(v&amp;&amp;v!=s&amp;&amp;v.nodeType){t+=v.offsetLeft||0;r+=v.offsetTop||0;v=v.offsetParent}v=o.parentNode;while(v&amp;&amp;v!=s&amp;&amp;v.nodeType){t-=v.scrollLeft||0;r-=v.scrollTop||0;v=v.parentNode}return{x:t,y:r}},getSize:function(n){return{w:n.offsetWidth||n.clientWidth,h:n.offsetHeight||n.clientHeight}},parseSize:function(n){var o;if(typeof(n)==&quot;string&quot;){n=/^([0-9]+)([mgk]+)$/.exec(n.toLow
 erCase().replace(/[^0-9mkg]/g,&quot;&quot;));o=n[2];n=+n[1];if(o==&quot;g&quot;){n*=1073741824}if(o==&quot;m&quot;){n*=1048576}if(o==&quot;k&quot;){n*=1024}}return n},xmlEncode:function(n){return n?(&quot;&quot;+n).replace(l,function(o){return a[o]?&quot;&amp;&quot;+a[o]+&quot;;&quot;:o}):n},toArray:function(p){var o,n=[];for(o=0;o&lt;p.length;o++){n[o]=p[o]}return n},addI18n:function(n){return g.extend(m,n)},translate:function(n){return m[n]||n},isEmptyObj:function(n){if(n===b){return true}for(var o in n){return false}return true},hasClass:function(p,o){var n;if(p.className==&quot;&quot;){return false}n=new RegExp(&quot;(^|\\s+)&quot;+o+&quot;(\\s+|$)&quot;);return n.test(p.className)},addClass:function(o,n){if(!g.hasClass(o,n)){o.className=o.className==&quot;&quot;?n:o.className.replace(/\s+$/,&quot;&quot;)+&quot; &quot;+n}},removeClass:function(p,o){var n=new RegExp(&quot;(^|\\s+)&quot;+o+&quot;(\\s+|$)&quot;);p.className=p.className.replace(n,function(r,q,s){return q===&
 quot; &quot;&amp;&amp;s===&quot; &quot;?&quot; &quot;:&quot;&quot;})},getStyle:function(o,n){if(o.currentStyle){return o.currentStyle[n]}else{if(window.getComputedStyle){return window.getComputedStyle(o,null)[n]}}},addEvent:function(s,n,t){var r,q,p,o;o=arguments[3];n=n.toLowerCase();if(e===b){e=&quot;Plupload_&quot;+g.guid()}if(s.attachEvent){r=function(){var u=window.event;if(!u.target){u.target=u.srcElement}u.preventDefault=h;u.stopPropagation=j;t(u)};s.attachEvent(&quot;on&quot;+n,r)}else{if(s.addEventListener){r=t;s.addEventListener(n,r,false)}}if(s[e]===b){s[e]=g.guid()}if(!d.hasOwnProperty(s[e])){d[s[e]]={}}q=d[s[e]];if(!q.hasOwnProperty(n)){q[n]=[]}q[n].push({func:r,orig:t,key:o})},removeEvent:function(s,n){var q,t,p;if(typeof(arguments[2])==&quot;function&quot;){t=arguments[2]}else{p=arguments[2]}n=n.toLowerCase();if(s[e]&amp;&amp;d[s[e]]&amp;&amp;d[s[e]][n]){q=d[s[e]][n]}else{return}for(var o=q.length-1;o&gt;=0;o--){if(q[o].key===p||q[o].orig===t){if(s.detachEvent)
 {s.detachEvent(&quot;on&quot;+n,q[o].func)}else{if(s.removeEventListener){s.removeEventListener(n,q[o].func,false)}}q[o].orig=null;q[o].func=null;q.splice(o,1);if(t!==b){break}}}if(!q.length){delete d[s[e]][n]}if(g.isEmptyObj(d[s[e]])){delete d[s[e]];try{delete s[e]}catch(r){s[e]=b}}},removeAllEvents:function(o){var n=arguments[1];if(o[e]===b||!o[e]){return}g.each(d[o[e]],function(q,p){g.removeEvent(o,p,n)})}};g.Uploader=function(q){var o={},t,s=[],p;t=new g.QueueProgress();q=g.extend({chunk_size:0,multipart:true,multi_selection:true,file_data_name:&quot;file&quot;,filters:[]},q);function r(){var v,w=0,u;if(this.state==g.STARTED){for(u=0;u&lt;s.length;u++){if(!v&amp;&amp;s[u].status==g.QUEUED){v=s[u];v.status=g.UPLOADING;this.trigger(&quot;BeforeUpload&quot;,v);this.trigger(&quot;UploadFile&quot;,v)}else{w++}}if(w==s.length){this.trigger(&quot;UploadComplete&quot;,s);this.stop()}}}function n(){var v,u;t.reset();for(v=0;v&lt;s.length;v++){u=s[v];if(u.size!==b){t.size+=u.size;
 t.loaded+=u.loaded}else{t.size=b}if(u.status==g.DONE){t.uploaded++}else{if(u.status==g.FAILED){t.failed++}else{t.queued++}}}if(t.size===b){t.percent=s.length&gt;0?Math.ceil(t.uploaded/s.length*100):0}else{t.bytesPerSec=Math.ceil(t.loaded/((+new Date()-p||1)/1000));t.percent=t.size&gt;0?Math.ceil(t.loaded/t.size*100):0}}g.extend(this,{state:g.STOPPED,runtime:&quot;&quot;,features:{},files:s,settings:q,total:t,id:g.guid(),init:function(){var z=this,A,w,v,y=0,x;if(typeof(q.preinit)==&quot;function&quot;){q.preinit(z)}else{g.each(q.preinit,function(C,B){z.bind(B,C)})}q.page_url=q.page_url||document.location.pathname.replace(/\/[^\/]+$/g,&quot;/&quot;);if(!/^(\w+:\/\/|\/)/.test(q.url)){q.url=q.page_url+q.url}q.chunk_size=g.parseSize(q.chunk_size);q.max_file_size=g.parseSize(q.max_file_size);z.bind(&quot;FilesAdded&quot;,function(B,E){var D,C,G=0,H,F=q.filters;if(F&amp;&amp;F.length){H=[];g.each(F,function(I){g.each(I.extensions.split(/,/),function(J){if(/^\s*\*\s*$/.test(J)){H.pu
 sh(&quot;\\.*&quot;)}else{H.push(&quot;\\.&quot;+J.replace(new RegExp(&quot;[&quot;+(&quot;/^$.*+?|()[]{}\\&quot;.replace(/./g,&quot;\\$&amp;&quot;))+&quot;]&quot;,&quot;g&quot;),&quot;\\$&amp;&quot;))}})});H=new RegExp(H.join(&quot;|&quot;)+&quot;$&quot;,&quot;i&quot;)}for(D=0;D&lt;E.length;D++){C=E[D];C.loaded=0;C.percent=0;C.status=g.QUEUED;if(H&amp;&amp;!H.test(C.name)){B.trigger(&quot;Error&quot;,{code:g.FILE_EXTENSION_ERROR,message:g.translate(&quot;File extension error.&quot;),file:C});continue}if(C.size!==b&amp;&amp;C.size&gt;q.max_file_size){B.trigger(&quot;Error&quot;,{code:g.FILE_SIZE_ERROR,message:g.translate(&quot;File size error.&quot;),file:C});continue}s.push(C);G++}if(G){c(function(){z.trigger(&quot;QueueChanged&quot;);z.refresh()},1)}else{return false}});if(q.unique_names){z.bind(&quot;UploadFile&quot;,function(B,C){var E=C.name.match(/\.([^.]+)$/),D=&quot;tmp&quot;;if(E){D=E[1]}C.target_name=C.id+&quot;.&quot;+D})}z.bind(&quot;UploadProgress&quot;,function
 (B,C){C.percent=C.size&gt;0?Math.ceil(C.loaded/C.size*100):100;n()});z.bind(&quot;StateChanged&quot;,function(B){if(B.state==g.STARTED){p=(+new Date())}else{if(B.state==g.STOPPED){for(A=B.files.length-1;A&gt;=0;A--){if(B.files[A].status==g.UPLOADING){B.files[A].status=g.QUEUED;n()}}}}});z.bind(&quot;QueueChanged&quot;,n);z.bind(&quot;Error&quot;,function(B,C){if(C.file){C.file.status=g.FAILED;n();if(B.state==g.STARTED){c(function(){r.call(z)},1)}}});z.bind(&quot;FileUploaded&quot;,function(B,C){C.status=g.DONE;C.loaded=C.size;B.trigger(&quot;UploadProgress&quot;,C);c(function(){r.call(z)},1)});if(q.runtimes){w=[];x=q.runtimes.split(/\s?,\s?/);for(A=0;A&lt;x.length;A++){if(k[x[A]]){w.push(k[x[A]])}}}else{w=k}function u(){var E=w[y++],D,B,C;if(E){D=E.getFeatures();B=z.settings.required_features;if(B){B=B.split(&quot;,&quot;);for(C=0;C&lt;B.length;C++){if(!D[B[C]]){u();return}}}E.init(z,function(F){if(F&amp;&amp;F.success){z.features=D;z.runtime=E.name;z.trigger(&quot;Init&quot
 ;,{runtime:E.name});z.trigger(&quot;PostInit&quot;);z.refresh()}else{u()}})}else{z.trigger(&quot;Error&quot;,{code:g.INIT_ERROR,message:g.translate(&quot;Init error.&quot;)})}}u();if(typeof(q.init)==&quot;function&quot;){q.init(z)}else{g.each(q.init,function(C,B){z.bind(B,C)})}},refresh:function(){this.trigger(&quot;Refresh&quot;)},start:function(){if(this.state!=g.STARTED){this.state=g.STARTED;this.trigger(&quot;StateChanged&quot;);r.call(this)}},stop:function(){if(this.state!=g.STOPPED){this.state=g.STOPPED;this.trigger(&quot;StateChanged&quot;)}},getFile:function(v){var u;for(u=s.length-1;u&gt;=0;u--){if(s[u].id===v){return s[u]}}},removeFile:function(v){var u;for(u=s.length-1;u&gt;=0;u--){if(s[u].id===v.id){return this.splice(u,1)[0]}}},splice:function(w,u){var v;v=s.splice(w===b?0:w,u===b?s.length:u);this.trigger(&quot;FilesRemoved&quot;,v);this.trigger(&quot;QueueChanged&quot;);return v},trigger:function(v){var x=o[v.toLowerCase()],w,u;if(x){u=Array.prototype.slice.cal
 l(arguments);u[0]=this;for(w=0;w&lt;x.length;w++){if(x[w].func.apply(x[w].scope,u)===false){return false}}}return true},bind:function(u,w,v){var x;u=u.toLowerCase();x=o[u]||[];x.push({func:w,scope:v||this});o[u]=x},unbind:function(u){u=u.toLowerCase();var x=o[u],v,w=arguments[1];if(x){if(w!==b){for(v=x.length-1;v&gt;=0;v--){if(x[v].func===w){x.splice(v,1);break}}}else{x=[]}if(!x.length){delete o[u]}}},unbindAll:function(){var u=this;g.each(o,function(w,v){u.unbind(v)})},destroy:function(){this.trigger(&quot;Destroy&quot;);this.unbindAll()}})};g.File=function(q,o,p){var n=this;n.id=q;n.name=o;n.size=p;n.loaded=0;n.percent=0;n.status=0};g.Runtime=function(){this.getFeatures=function(){};this.init=function(n,o){}};g.QueueProgress=function(){var n=this;n.size=0;n.loaded=0;n.uploaded=0;n.failed=0;n.queued=0;n.percent=0;n.bytesPerSec=0;n.reset=function(){n.size=n.loaded=n.uploaded=n.failed=n.queued=n.percent=n.bytesPerSec=0}};g.runtimes={};window.plupload=g})();
</ins><span class="cx">Property changes on: trunk/wp-includes/js/plupload/plupload.js
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<a id="trunkwpincludesjspluploadpluploadsilverlightjs"></a>
<div class="addfile"><h4>Added: trunk/wp-includes/js/plupload/plupload.silverlight.js (0 => 18482)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/js/plupload/plupload.silverlight.js                                (rev 0)
+++ trunk/wp-includes/js/plupload/plupload.silverlight.js        2011-07-29 08:59:35 UTC (rev 18482)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+(function(g,b,d,e){var a={},h={};function c(o){var n,m=typeof o,j,l,k;if(m===&quot;string&quot;){n=&quot;\bb\tt\nn\ff\rr\&quot;\&quot;''\\\\&quot;;return'&quot;'+o.replace(/([\u0080-\uFFFF\x00-\x1f\&quot;])/g,function(q,p){var i=n.indexOf(p);if(i+1){return&quot;\\&quot;+n.charAt(i+1)}q=p.charCodeAt().toString(16);return&quot;\\u&quot;+&quot;0000&quot;.substring(q.length)+q})+'&quot;'}if(m==&quot;object&quot;){j=o.length!==e;n=&quot;&quot;;if(j){for(l=0;l&lt;o.length;l++){if(n){n+=&quot;,&quot;}n+=c(o[l])}n=&quot;[&quot;+n+&quot;]&quot;}else{for(k in o){if(o.hasOwnProperty(k)){if(n){n+=&quot;,&quot;}n+=c(k)+&quot;:&quot;+c(o[k])}}n=&quot;{&quot;+n+&quot;}&quot;}return n}if(o===e){return&quot;null&quot;}return&quot;&quot;+o}function f(r){var u=false,i=null,n=null,j,k,l,t,m,p=0;try{try{n=new ActiveXObject(&quot;AgControl.AgControl&quot;);if(n.IsVersionSupported(r)){u=true}n=null}catch(q){var o=navigator.plugins[&quot;Silverlight Plug-In&quot;];if(o){j=o.description;
 if(j===&quot;1.0.30226.2&quot;){j=&quot;2.0.30226.2&quot;}k=j.split(&quot;.&quot;);while(k.length&gt;3){k.pop()}while(k.length&lt;4){k.push(0)}l=r.split(&quot;.&quot;);while(l.length&gt;4){l.pop()}do{t=parseInt(l[p],10);m=parseInt(k[p],10);p++}while(p&lt;l.length&amp;&amp;t===m);if(t&lt;=m&amp;&amp;!isNaN(t)){u=true}}}}catch(s){u=false}return u}d.silverlight={trigger:function(n,k){var m=a[n],l,j;if(m){j=d.toArray(arguments).slice(1);j[0]=&quot;Silverlight:&quot;+k;setTimeout(function(){m.trigger.apply(m,j)},0)}}};d.runtimes.Silverlight=d.addRuntime(&quot;silverlight&quot;,{getFeatures:function(){return{jpgresize:true,pngresize:true,chunks:true,progress:true,multipart:true}},init:function(p,q){var o,m=&quot;&quot;,n=p.settings.filters,l,k=b.body;if(!f(&quot;2.0.31005.0&quot;)||(g.opera&amp;&amp;g.opera.buildNumber)){q({success:false});return}h[p.id]=false;a[p.id]=p;o=b.createElement(&quot;div&quot;);o.id=p.id+&quot;_silverlight_container&quot;;d.extend(o.style,{position:&quot
 ;absolute&quot;,top:&quot;0px&quot;,background:p.settings.shim_bgcolor||&quot;transparent&quot;,zIndex:99999,width:&quot;100px&quot;,height:&quot;100px&quot;,overflow:&quot;hidden&quot;,opacity:p.settings.shim_bgcolor||b.documentMode&gt;8?&quot;&quot;:0.01});o.className=&quot;plupload silverlight&quot;;if(p.settings.container){k=b.getElementById(p.settings.container);if(d.getStyle(k,&quot;position&quot;)===&quot;static&quot;){k.style.position=&quot;relative&quot;}}k.appendChild(o);for(l=0;l&lt;n.length;l++){m+=(m!=&quot;&quot;?&quot;|&quot;:&quot;&quot;)+n[l].title+&quot; | *.&quot;+n[l].extensions.replace(/,/g,&quot;;*.&quot;)}o.innerHTML='&lt;object id=&quot;'+p.id+'_silverlight&quot; data=&quot;data:application/x-silverlight,&quot; type=&quot;application/x-silverlight-2&quot; style=&quot;outline:none;&quot; width=&quot;1024&quot; height=&quot;1024&quot;&gt;&lt;param name=&quot;source&quot; value=&quot;'+p.settings.silverlight_xap_url+'&quot;/&gt;&lt;param name=&quot;backg
 round&quot; value=&quot;Transparent&quot;/&gt;&lt;param name=&quot;windowless&quot; value=&quot;true&quot;/&gt;&lt;param name=&quot;enablehtmlaccess&quot; value=&quot;true&quot;/&gt;&lt;param name=&quot;initParams&quot; value=&quot;id='+p.id+&quot;,filter=&quot;+m+&quot;,multiselect=&quot;+p.settings.multi_selection+'&quot;/&gt;&lt;/object&gt;';function j(){return b.getElementById(p.id+&quot;_silverlight&quot;).content.Upload}p.bind(&quot;Silverlight:Init&quot;,function(){var i,r={};if(h[p.id]){return}h[p.id]=true;p.bind(&quot;Silverlight:StartSelectFiles&quot;,function(s){i=[]});p.bind(&quot;Silverlight:SelectFile&quot;,function(s,v,t,u){var w;w=d.guid();r[w]=v;r[v]=w;i.push(new d.File(w,t,u))});p.bind(&quot;Silverlight:SelectSuccessful&quot;,function(){if(i.length){p.trigger(&quot;FilesAdded&quot;,i)}});p.bind(&quot;Silverlight:UploadChunkError&quot;,function(s,v,t,w,u){p.trigger(&quot;Error&quot;,{code:d.IO_ERROR,message:&quot;IO Error.&quot;,details:u,file:s.getFile(r[v]
 )})});p.bind(&quot;Silverlight:UploadFileProgress&quot;,function(s,w,t,v){var u=s.getFile(r[w]);if(u.status!=d.FAILED){u.size=v;u.loaded=t;s.trigger(&quot;UploadProgress&quot;,u)}});p.bind(&quot;Refresh&quot;,function(s){var t,u,v;t=b.getElementById(s.settings.browse_button);if(t){u=d.getPos(t,b.getElementById(s.settings.container));v=d.getSize(t);d.extend(b.getElementById(s.id+&quot;_silverlight_container&quot;).style,{top:u.y+&quot;px&quot;,left:u.x+&quot;px&quot;,width:v.w+&quot;px&quot;,height:v.h+&quot;px&quot;})}});p.bind(&quot;Silverlight:UploadChunkSuccessful&quot;,function(s,v,t,y,x){var w,u=s.getFile(r[v]);w={chunk:t,chunks:y,response:x};s.trigger(&quot;ChunkUploaded&quot;,u,w);if(u.status!=d.FAILED){j().UploadNextChunk()}if(t==y-1){u.status=d.DONE;s.trigger(&quot;FileUploaded&quot;,u,{response:x})}});p.bind(&quot;Silverlight:UploadSuccessful&quot;,function(s,v,t){var u=s.getFile(r[v]);u.status=d.DONE;s.trigger(&quot;FileUploaded&quot;,u,{response:t})});p.bind(&quo
 t;FilesRemoved&quot;,function(s,u){var t;for(t=0;t&lt;u.length;t++){j().RemoveFile(r[u[t].id])}});p.bind(&quot;UploadFile&quot;,function(s,u){var v=s.settings,t=v.resize||{};j().UploadFile(r[u.id],s.settings.url,c({name:u.target_name||u.name,mime:d.mimeTypes[u.name.replace(/^.+\.([^.]+)/,&quot;$1&quot;).toLowerCase()]||&quot;application/octet-stream&quot;,chunk_size:v.chunk_size,image_width:t.width,image_height:t.height,image_quality:t.quality||90,multipart:!!v.multipart,multipart_params:v.multipart_params||{},file_data_name:v.file_data_name,headers:v.headers}))});p.bind(&quot;Silverlight:MouseEnter&quot;,function(s){var t,u;t=b.getElementById(p.settings.browse_button);u=s.settings.browse_button_hover;if(t&amp;&amp;u){d.addClass(t,u)}});p.bind(&quot;Silverlight:MouseLeave&quot;,function(s){var t,u;t=b.getElementById(p.settings.browse_button);u=s.settings.browse_button_hover;if(t&amp;&amp;u){d.removeClass(t,u)}});p.bind(&quot;Silverlight:MouseLeftButtonDown&quot;,function(s){
 var t,u;t=b.getElementById(p.settings.browse_button);u=s.settings.browse_button_active;if(t&amp;&amp;u){d.addClass(t,u);d.addEvent(b.body,&quot;mouseup&quot;,function(){d.removeClass(t,u)})}});p.bind(&quot;Sliverlight:StartSelectFiles&quot;,function(s){var t,u;t=b.getElementById(p.settings.browse_button);u=s.settings.browse_button_active;if(t&amp;&amp;u){d.removeClass(t,u)}});p.bind(&quot;Destroy&quot;,function(s){var t;d.removeAllEvents(b.body,s.id);delete h[s.id];delete a[s.id];t=b.getElementById(s.id+&quot;_silverlight_container&quot;);if(t){k.removeChild(t)}});q({success:true})})}})})(window,document,plupload);
</ins><span class="cx">Property changes on: trunk/wp-includes/js/plupload/plupload.silverlight.js
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<a id="trunkwpincludesjspluploadpluploadsilverlightxap"></a>
<div class="binary"><h4>Added: trunk/wp-includes/js/plupload/plupload.silverlight.xap</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<span class="cx">Property changes on: trunk/wp-includes/js/plupload/plupload.silverlight.xap
</span><span class="cx">___________________________________________________________________
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<a id="trunkwpincludesjsthickboxthickboxcss"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/js/thickbox/thickbox.css (18481 => 18482)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/js/thickbox/thickbox.css        2011-07-29 06:07:38 UTC (rev 18481)
+++ trunk/wp-includes/js/thickbox/thickbox.css        2011-07-29 08:59:35 UTC (rev 18482)
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx">         background: #ffffff;
</span><span class="cx">         z-index: 102;
</span><span class="cx">         color:#000000;
</span><del>-        display:none;
</del><ins>+        visibility: hidden;
</ins><span class="cx">         text-align:left;
</span><span class="cx">         top:50%;
</span><span class="cx">         left:50%;
</span></span></pre></div>
<a id="trunkwpincludesjsthickboxthickboxjs"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/js/thickbox/thickbox.js (18481 => 18482)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/js/thickbox/thickbox.js        2011-07-29 06:07:38 UTC (rev 18481)
+++ trunk/wp-includes/js/thickbox/thickbox.js        2011-07-29 08:59:35 UTC (rev 18482)
</span><span class="lines">@@ -269,7 +269,7 @@
</span><span class="cx"> //helper functions below
</span><span class="cx"> function tb_showIframe(){
</span><span class="cx">         jQuery(&quot;#TB_load&quot;).remove();
</span><del>-        jQuery(&quot;#TB_window&quot;).css({display:&quot;block&quot;});
</del><ins>+        jQuery(&quot;#TB_window&quot;).css({'visibility':'visible'});
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> function tb_remove() {
</span></span></pre></div>
<a id="trunkwpincludesscriptloaderphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/script-loader.php (18481 => 18482)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/script-loader.php        2011-07-29 06:07:38 UTC (rev 18481)
+++ trunk/wp-includes/script-loader.php        2011-07-29 08:59:35 UTC (rev 18482)
</span><span class="lines">@@ -198,30 +198,38 @@
</span><span class="cx"> 
</span><span class="cx">         $scripts-&gt;add( 'jcrop', &quot;/wp-includes/js/jcrop/jquery.Jcrop$suffix.js&quot;, array('jquery'), '0.9.8-20110113');
</span><span class="cx"> 
</span><del>-        $scripts-&gt;add( 'swfobject', &quot;/wp-includes/js/swfobject.js&quot;, false, '2.2');
</del><span class="cx"> 
</span><del>-        $scripts-&gt;add( 'swfupload', '/wp-includes/js/swfupload/swfupload.js', false, '2201-20110113');
-        $scripts-&gt;add( 'swfupload-swfobject', '/wp-includes/js/swfupload/plugins/swfupload.swfobject.js', array('swfupload', 'swfobject'), '2201a');
-        $scripts-&gt;add( 'swfupload-queue', '/wp-includes/js/swfupload/plugins/swfupload.queue.js', array('swfupload'), '2201');
-        $scripts-&gt;add( 'swfupload-speed', '/wp-includes/js/swfupload/plugins/swfupload.speed.js', array('swfupload'), '2201');
</del><ins>+        $scripts-&gt;add( 'plupload', '/wp-includes/js/plupload/plupload.js', false, '1.4.3.2');
+        $scripts-&gt;add( 'plupload-html5', '/wp-includes/js/plupload/plupload.html5.js', array('plupload'), '1.4.3.2');
+        $scripts-&gt;add( 'plupload-flash', '/wp-includes/js/plupload/plupload.flash.js', array('plupload'), '1.4.3.2');
+        $scripts-&gt;add( 'plupload-silverlight', '/wp-includes/js/plupload/plupload.silverlight.js', array('plupload'), '1.4.3.2');
+        $scripts-&gt;add( 'plupload-gears', '/wp-includes/js/plupload/plupload.gears.js', array('plupload'), '1.4.3.2');
+        $scripts-&gt;add( 'plupload-html4', '/wp-includes/js/plupload/plupload.html4.js', array('plupload'), '1.4.3.2');
</ins><span class="cx"> 
</span><del>-        if ( defined('SCRIPT_DEBUG') &amp;&amp; SCRIPT_DEBUG ) {
</del><ins>+        // TODO: find out if we can use the plupload.full.js (it does load browserplus)
+        $scripts-&gt;add( 'plupload-full', false, array('plupload', 'plupload-html5', 'plupload-flash', 'plupload-silverlight', 'plupload-gears', 'plupload-html4'), '1.4.3.2');
+
+        $scripts-&gt;add( 'plupload-handlers', '/wp-includes/js/plupload/handlers.js', array('plupload-full', 'jquery'), '1.4.3.2');
+        
+        // TODO: find out if we really need this debug clause with plupload
+        /*if ( defined('SCRIPT_DEBUG') &amp;&amp; SCRIPT_DEBUG ) {
</ins><span class="cx">                 // queue all SWFUpload scripts that are used by default
</span><span class="cx">                 $scripts-&gt;add( 'swfupload-all', false, array('swfupload', 'swfupload-swfobject', 'swfupload-queue'), '2201');
</span><span class="cx">         } else {
</span><del>-                $scripts-&gt;add( 'swfupload-all', '/wp-includes/js/swfupload/swfupload-all.js', array(), '2201a');
-        }
</del><ins>+                $scripts-&gt;add( 'swfupload-all', '/wp-includes/js/swfupload/swfupload-all.js', array(), '2201');
+        }*/
</ins><span class="cx"> 
</span><del>-        $scripts-&gt;add( 'swfupload-handlers', &quot;/wp-includes/js/swfupload/handlers$suffix.js&quot;, array('swfupload-all', 'jquery'), '2201-20110524');
</del><span class="cx">         $max_upload_size = ( (int) ( $max_up = @ini_get('upload_max_filesize') ) &lt; (int) ( $max_post = @ini_get('post_max_size') ) ) ? $max_up : $max_post;
</span><span class="cx">         if ( empty($max_upload_size) )
</span><span class="cx">                 $max_upload_size = __('not configured');
</span><del>-        // these error messages came from the sample swfupload js, they might need changing.
-        $scripts-&gt;add_script_data( 'swfupload-handlers', 'swfuploadL10n', array(
-                        'queue_limit_exceeded' =&gt; __('You have attempted to queue too many files.'),
</del><ins>+
+        $scripts-&gt;add_script_data( 'plupload-handlers', 'pluploadL10n', array(
</ins><span class="cx">                         'file_exceeds_size_limit' =&gt; __('This file exceeds the maximum upload size for this site.'),
</span><span class="cx">                         'zero_byte_file' =&gt; __('This file is empty. Please try another.'),
</span><span class="cx">                         'invalid_filetype' =&gt; __('This file type is not allowed. Please try another.'),
</span><ins>+                        'not_an_image' =&gt; __('This file is not an image. Please try another.'),
+                        'image_memory_exceeded' =&gt; __('Memery exceeded. Please try another smaller file.'),
+                        'image_dimensions_exceeded' =&gt; __('This is larger than the maximum size. Please try another.'),
</ins><span class="cx">                         'default_error' =&gt; __('An error occurred in the upload. Please try again later.'),
</span><span class="cx">                         'missing_upload_url' =&gt; __('There was a configuration error. Please contact the server administrator.'),
</span><span class="cx">                         'upload_limit_exceeded' =&gt; __('You may only upload 1 file.'),
</span><span class="lines">@@ -234,7 +242,7 @@
</span><span class="cx">                         'dismiss' =&gt; __('Dismiss'),
</span><span class="cx">                         'crunching' =&gt; __('Crunching&amp;hellip;'),
</span><span class="cx">                         'deleted' =&gt; __('moved to the trash.'),
</span><del>-                        'error_uploading' =&gt; __('&amp;#8220;%s&amp;#8221; has failed to upload due to an error')
</del><ins>+                        'error_uploading' =&gt; __('&amp;#8220;%s&amp;#8221; has failed to upload due to an error'),
</ins><span class="cx">         ) );
</span><span class="cx"> 
</span><span class="cx">         $scripts-&gt;add( 'comment-reply', &quot;/wp-includes/js/comment-reply$suffix.js&quot;, false, '20090102');
</span></span></pre>
</div>
</div>

</body>
</html>