<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>app/controllers/favorites_controller.rb</filename>
    </added>
    <added>
      <filename>app/helpers/favorites_helper.rb</filename>
    </added>
    <added>
      <filename>app/views/direct_messages/_direct.html.erb</filename>
    </added>
    <added>
      <filename>app/views/direct_messages/_send_direct.html.erb</filename>
    </added>
    <added>
      <filename>app/views/favorites/index.html.erb</filename>
    </added>
    <added>
      <filename>public/javascripts/jquery.livequery.js</filename>
    </added>
    <added>
      <filename>test/functional/favorites_controller_test.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -56,7 +56,7 @@ class StatusesController &lt; ApplicationController
     if (params['twttr'])
         latest_status = render_to_string :partial =&gt; &quot;latest&quot;, :object=&gt; @tweet
         ret = {&quot;status_count&quot;=&gt;@user.public_tweets.count, &quot;latest_status&quot;=&gt; latest_status,&quot;text&quot;=&gt;tweet}
-        ret[&quot;status_tr&quot;] = render_to_string :partial =&gt; &quot;tweet&quot;, :object=&gt; @tweet, :locals=&gt;{:type=&gt;'friends_update'}
+        ret[&quot;status_li&quot;] = render_to_string :partial =&gt; &quot;tweet&quot;, :object=&gt; @tweet, :locals=&gt;{:type=&gt;'friends_update'}
         render :json =&gt; ret
     else
         render_tweet</diff>
      <filename>app/controllers/statuses_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;% setup(:title=&gt;&quot;Direct Messages&quot;, :body_id=&gt;&quot;direct_messages&quot;, :body_classes=&gt;&quot;direct_messages replyable&quot;, :css=&gt;['timeline']) %&gt;
-&lt;%= render :partial =&gt; &quot;statuses/update&quot; %&gt;
+&lt;%= render :partial =&gt; &quot;send_direct&quot; %&gt;
 
 &lt;ul class=&quot;tabMenu&quot;&gt;
   &lt;li class=&quot;active&quot;&gt;&lt;a href=&quot;/direct_messages&quot; id=&quot;direct_message_inbox&quot;&gt;Inbox&lt;/a&gt;&lt;/li&gt;
@@ -10,7 +10,25 @@
 
   &lt;h2&gt;Direct Messages Sent Only to You&lt;/h2&gt;
 
-&lt;%= render :partial =&gt; &quot;statuses/tweets&quot; %&gt;
+  &lt;ol class=&quot;statuses&quot; id=&quot;timeline&quot;&gt;
+    &lt;%= render :partial =&gt; &quot;direct&quot;, :collection=&gt;@tweets %&gt;
+  &lt;/ol&gt;
 &lt;/div&gt;
 
 &lt;%= render :partial =&gt; &quot;statuses/sidebar&quot; %&gt;
+
+&lt;% content_for :javascript do %&gt;
+    &lt;script type=&quot;text/javascript&quot;&gt;
+//&lt;![CDATA[
+
+          $( function () {
+              $('#doingForm').isDirectMessageForm();
+      $('body#home ul#tabMenu li a#home_tab, body#profile ul#tabMenu li a#updates_tab, body#replies ul#tabMenu li a#replies_tab, body.direct_messages ul#tabMenu li a#direct_messages_tab, body#favourings ul#tabMenu li a#favorites_tab, body#public_timeline ul#tabMenu li a#public_timeline_tab').isSidebarTab();
+      $('#current_user_send_via_sms, #current_user_send_via_none').isDeviceUpdateOption();
+
+          });
+
+//]]&gt;
+    &lt;/script&gt;
+
+&lt;% end %&gt;
\ No newline at end of file</diff>
      <filename>app/views/direct_messages/index.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -2,181 +2,228 @@
 
 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;
 
-  &lt;head&gt;
-    &lt;meta content=&quot;text/html; charset=utf-8&quot; http-equiv=&quot;Content-Type&quot; /&gt;
-&lt;meta content=&quot;en-us&quot; http-equiv=&quot;Content-Language&quot; /&gt;
-&lt;meta content=&quot;Twetter is a free social messaging utility for staying connected in real-time&quot; name=&quot;description&quot; /&gt;
-&lt;meta content=&quot;no&quot; http-equiv=&quot;imagetoolbar&quot; /&gt;
-&lt;meta content=&quot;width =&gt; 780&quot; name=&quot;viewport&quot; /&gt;
-&lt;meta content=&quot;4FTTxY4uvo0RZTMQqIyhh18HsepyJOctQ+XTOu1zsfE=&quot; name=&quot;verify-v1&quot; /&gt;
-&lt;meta content=&quot;&lt;%= @user ? &quot;y&quot; : &quot;n&quot; %&gt;&quot; name=&quot;session-loggedin&quot; /&gt;
-&lt;% if (@user) %&gt;
-&lt;meta content=&quot;&lt;%= @user.id %&gt;&quot; name=&quot;session-userid&quot; /&gt;
-&lt;meta content=&quot;&lt;%= @user.username %&gt;&quot; name=&quot;session-user-screen_name&quot; /&gt;
-&lt;% end %&gt;
-&lt;% if (@user || @duser) %&gt;
-&lt;meta content=&quot;&lt;%= (@duser || @user).username %&gt;&quot; name=&quot;page-user-screen_name&quot; /&gt;
-&lt;% end %&gt;
+&lt;head&gt;
+    &lt;meta content=&quot;text/html; charset=utf-8&quot; http-equiv=&quot;Content-Type&quot;/&gt;
+    &lt;meta content=&quot;en-us&quot; http-equiv=&quot;Content-Language&quot;/&gt;
+    &lt;meta content=&quot;Twetter is a free social messaging utility for staying connected in real-time&quot; name=&quot;description&quot;/&gt;
+    &lt;meta content=&quot;no&quot; http-equiv=&quot;imagetoolbar&quot;/&gt;
+    &lt;meta content=&quot;width =&gt; 780&quot; name=&quot;viewport&quot;/&gt;
+    &lt;meta content=&quot;4FTTxY4uvo0RZTMQqIyhh18HsepyJOctQ+XTOu1zsfE=&quot; name=&quot;verify-v1&quot;/&gt;
+    &lt;meta content=&quot;1&quot; name=&quot;page&quot; /&gt;
+    &lt;meta content=&quot;IE=EmulateIE7&quot; name=&quot;X-UA-Compatible&quot; /&gt;
+    &lt;meta content=&quot;&lt;%= @user ? &quot;y&quot; : &quot;n&quot; %&gt;&quot; name=&quot;session-loggedin&quot;/&gt;
+    &lt;% if (@user) %&gt;
+        &lt;meta content=&quot;&lt;%= @user.id %&gt;&quot; name=&quot;session-userid&quot;/&gt;
+        &lt;meta content=&quot;&lt;%= @user.username %&gt;&quot; name=&quot;session-user-screen_name&quot;/&gt;
+    &lt;% end %&gt;
+    &lt;% if (@user || @duser) %&gt;
+        &lt;meta content=&quot;&lt;%= (@duser || @user).username %&gt;&quot; name=&quot;page-user-screen_name&quot;/&gt;
+    &lt;% end %&gt;
     &lt;title&gt;&lt;%= @title %&gt;&lt;/title&gt;
-    &lt;link href=&quot;/images/favicon.ico&quot; rel=&quot;shortcut icon&quot; type=&quot;image/x-icon&quot; /&gt;
+    &lt;link href=&quot;/images/favicon.ico&quot; rel=&quot;shortcut icon&quot; type=&quot;image/x-icon&quot;/&gt;
     &lt;% @css.each do |css| %&gt;
-          &lt;%= stylesheet_link_tag css %&gt;
+        &lt;%= stylesheet_link_tag css %&gt;
     &lt;% end %&gt;
-	&lt;%= stylesheet_link_tag 'master' %&gt;
+    &lt;%= stylesheet_link_tag 'master' %&gt;
 
     &lt;style type=&quot;text/css&quot;&gt;
-      body { background: #9ae4e8 url(/images/bg.gif) fixed no-repeat top left; }
-        div.content-bubble-arrow { margin-top: 6px; padding-top: 11px; background: url(/images/arr2.gif) no-repeat 25px 0px; }
-  .status-btn input.round-btn { background: url('/images/round-btn.gif'); }
-  .status-btn input.round-btn:hover { background: url('/images/round-btn-hover.gif'); }
-  .status-btn input.disabled, .status-btn input.disabled:hover { background: url('/images/round-btn.gif'); }
-  .hentry .actions .fav { background-image: url('/images/icon_star_full.gif'); }
-  .hentry .actions .non-fav { background-image: url('/images/icon_star_empty.gif'); }
-  .hentry .actions .fav-throb, .hentry .actions a.del-throb { background-image: url('/images/icon_throbber.gif'); }
-  .hentry .actions .del { background-image: url('/images/icon_trash.gif'); }
-  body#show .repl, .hentry .actions .repl { background-image: url('/images/icon_reply.gif'); }
-  .direct_message .actions .repl { background-image: url('/images/icon_direct_reply.gif'); }
-  .direct_message .actions .del { background-image: url('/images/icon_trash.gif'); }
-  .notify { background-image: url('/images/girl.gif'); }
-  .promotion, ul#tabMenu a#keyword_search_tab.hover, ul#tabMenu a:hover { background-image: url('/images/pale.png'); }
-  div#follow-toggle.closed { background-image: url('/images/toggle_closed.gif'); }
-  div#follow-toggle.opened { background-image: url('/images/toggle_opened.gif'); }
-  .follow-actions .following { background-image: url('/images/checkmark.gif'); }  
-&lt;/style&gt;
-      &lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;rob_test (RSS)&quot; href=&quot;/statuses/user_timeline/17525701.rss&quot; /&gt;
-      &lt;link rel=&quot;alternate&quot; type=&quot;application/atom+xml&quot; title=&quot;rob_test (Atom)&quot; href=&quot;/statuses/user_timeline/17525701.atom&quot; /&gt;
-  &lt;/head&gt;
-
-  &lt;body class=&quot;&lt;%= @body_classes %&gt;&quot; id=&quot;&lt;%= @body_id %&gt;&quot;&gt;
-    &lt;div id=&quot;dim-screen&quot;&gt;&lt;/div&gt;
-    &lt;ul id=&quot;accessibility&quot;&gt;
-  &lt;li&gt;On a mobile phone? Check out &lt;a href=&quot;http://m.twitter.com/&quot;&gt;m.twitter.com&lt;/a&gt;!&lt;/li&gt;
-  &lt;li&gt;&lt;a href=&quot;#footer&quot; accesskey=&quot;2&quot;&gt;Skip to navigation&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;a href=&quot;#tabMenu&quot; accesskey=&quot;3&quot;&gt;Jump to the sidebar&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href=&quot;#signin&quot;&gt;Skip to sign in form&lt;/a&gt;&lt;/li&gt;
+
+        body { background: #9ae4e8 url(/images/bg.gif) fixed no-repeat top left; }
+                .content-bubble-arrow { background-image: url(/images/arr2.gif); }
+                .status-btn input.round-btn { background-image: url('/images/round-btn.gif'); }
+                .status-btn input.round-btn:hover { background-image: url('/images/round-btn-hover.gif'); }
+                .status-btn input.disabled, .status-btn input.disabled:hover { background-image: url('/images/round-btn.gif'); }
+                .hentry .actions .fav { background-image: url('/images/icon_star_full.gif'); }
+                .hentry .actions .non-fav { background-image: url('/images/icon_star_empty.gif'); }
+                .hentry .actions .fav-throb, .hentry .actions a.del-throb { background-image: url('/images/icon_throbber.gif'); }
+                .hentry .actions .del { background-image: url('/images/icon_trash.gif'); }
+                body#show .reply, .hentry .actions .reply { background-image: url('/images/icon_reply.gif'); }
+                .direct_message .actions .reply { background-image: url('/images/icon_direct_reply.gif'); }
+                .direct_message .actions .del { background-image: url('/images/icon_trash.gif'); }
+                .notify { background-image: url('/images/girl.gif'); }
+                .promotion, ul#tabMenu a#keyword_search_tab.hover, ul#tabMenu a:hover { background-image: url('/images/pale.png'); background-color: transparent; }
+                div#follow-toggle.closed { background-image: url('/images/toggle_closed.gif'); }
+                div#follow-toggle.opened { background-image: url('/images/toggle_opened.gif'); }
+                .follow-actions .following { background-image: url('/images/checkmark.gif'); }
+                .loading { background-image: url('/images/loader.gif'); }
+                body#show .protected { background-image: url('/images/icon_lock.gif'); }
+                #side .promotion { background-image: url('/images/pale.png'); }
+                .rss { background-image: url('/images/rss.gif'); }
+                #flash { background-image: url('/images/girl.gif'); }
+    &lt;/style&gt;
+&lt;/head&gt;
+
+&lt;body class=&quot;&lt;%= @body_classes %&gt;&quot; id=&quot;&lt;%= @body_id %&gt;&quot;&gt;
+&lt;div id=&quot;dim-screen&quot;&gt;&lt;/div&gt;
+&lt;ul id=&quot;accessibility&quot;&gt;
+    &lt;li&gt;On a mobile phone? Check out &lt;a href=&quot;http://m.twitter.com/&quot;&gt;m.twitter.com&lt;/a&gt;!&lt;/li&gt;
+    &lt;li&gt;&lt;a href=&quot;#footer&quot; accesskey=&quot;2&quot;&gt;Skip to navigation&lt;/a&gt;&lt;/li&gt;
+    &lt;li&gt;&lt;a href=&quot;#tabMenu&quot; accesskey=&quot;3&quot;&gt;Jump to the sidebar&lt;/a&gt;&lt;/li&gt;
+    &lt;li&gt;&lt;a href=&quot;#signin&quot;&gt;Skip to sign in form&lt;/a&gt;&lt;/li&gt;
 
 &lt;/ul&gt;
 
-    
-    &lt;div id=&quot;container&quot; class=&quot;subpage&quot;&gt;
-      &lt;span id=&quot;loader&quot; style=&quot;display:none&quot;&gt;&lt;img alt=&quot;Loader&quot; src=&quot;/images/loader.gif&quot; /&gt;&lt;/span&gt;
-      &lt;h1 id=&quot;header&quot;&gt;
-	&lt;a href=&quot;/home&quot; title=&quot;Twetter: home&quot; accesskey=&quot;1&quot;&gt;
-    
-      &lt;img alt=&quot;Twetter.com&quot; height=&quot;41&quot; src=&quot;/images/twitter_logo_s.png&quot; width=&quot;191&quot; /&gt;
-    
-	&lt;/a&gt;
-&lt;/h1&gt;
 
+&lt;div id=&quot;container&quot; class=&quot;subpage&quot;&gt;
+    &lt;span id=&quot;loader&quot; style=&quot;display:none&quot;&gt;&lt;img alt=&quot;Loader&quot; src=&quot;/images/loader.gif&quot;/&gt;&lt;/span&gt;
+
+    &lt;h1 id=&quot;header&quot;&gt;
+        &lt;a href=&quot;/home&quot; title=&quot;Twetter: home&quot; accesskey=&quot;1&quot; id=&quot;logo&quot;&gt;
 
-      &lt;% if flash[:notice] || flash[:error] %&gt;
-            &lt;div id=&quot;flash&quot;&gt;
-            &lt;h2 class=&quot;thumb&quot;&gt;&lt;img alt=&quot;Girl&quot; class=&quot;girl&quot; src=&quot;/images/girl.gif&quot; /&gt;&lt;/h2&gt;
+            &lt;img alt=&quot;Twetter.com&quot; height=&quot;29&quot; src=&quot;/images/twitter_logo_s.png&quot; width=&quot;125&quot;/&gt;
+
+        &lt;/a&gt;
+    &lt;/h1&gt;
+
+
+    &lt;% if flash[:notice] || flash[:error] %&gt;
+        &lt;div id=&quot;flash&quot;&gt;
+            &lt;h2 class=&quot;thumb&quot;&gt;&lt;img alt=&quot;Girl&quot; class=&quot;girl&quot; src=&quot;/images/girl.gif&quot;/&gt;&lt;/h2&gt;
 
             &lt;div class=&quot;content-bubble-arrow&quot;&gt;&lt;/div&gt;
             &lt;div class=&quot;desc&quot;&gt;&lt;p&gt;&lt;%= flash[:notice] %&gt;&lt;%= flash[:error] %&gt;&lt;/p&gt;&lt;/div&gt;
 
-      &lt;% else %&gt;
-            &lt;div id=&quot;flash&quot; style=&quot;display:none;&quot;&gt;
-      &lt;% end %&gt;
-      &lt;/div&gt;
-      &lt;div class=&quot;content-bubble-arrow&quot;&gt;&lt;/div&gt;
-      
-        &lt;table cellspacing=&quot;0&quot; class=&quot;columns&quot;&gt;
-          &lt;tbody&gt;
-            &lt;tr&gt;
-                &lt;td id=&quot;content&quot; class=&quot;column&quot;&gt;
-                    &lt;div class=&quot;wrapper&quot;&gt;
-				        &lt;%= yield %&gt;
-                    &lt;/div&gt;
-                &lt;/td&gt;
-
-                &lt;% if yield(:sidebar) %&gt;
-                &lt;td id=&quot;side_base&quot; class=&quot;column&quot;&gt;
+    &lt;% else %&gt;
+        &lt;div id=&quot;flash&quot; style=&quot;display:none;&quot;&gt;
+    &lt;% end %&gt;
+    &lt;/div&gt;
+    &lt;div class=&quot;content-bubble-arrow&quot;&gt;&lt;/div&gt;
+
+    &lt;table cellspacing=&quot;0&quot; class=&quot;columns&quot;&gt;
+        &lt;tbody&gt;
+        &lt;tr&gt;
+            &lt;td id=&quot;content&quot; class=&quot;column&quot;&gt;
+                &lt;div class=&quot;wrapper&quot;&gt;
+                    &lt;%= yield %&gt;
+                    &lt;img alt=&quot;Icon_star_full&quot; src=&quot;/images/icon_star_full.gif&quot; style=&quot;display:none;&quot; /&gt;
+
+                &lt;/div&gt;
+            &lt;/td&gt;
+
+            &lt;% if yield(:sidebar) %&gt;
+                &lt;td id=&quot;side_base&quot; class=&quot;column round-right&quot;&gt;
                     &lt;div id=&quot;side&quot;&gt;
                         &lt;%= yield :sidebar %&gt;
                     &lt;/div&gt;
                     &lt;hr/&gt;
 
                 &lt;/td&gt;
-                &lt;% end %&gt;
-
-            &lt;/tr&gt;
-          &lt;/tbody&gt;
-        &lt;/table&gt;
-      
-
-      &lt;div id=&quot;footer&quot; &gt;
-  &lt;h3&gt;Footer&lt;/h3&gt;
-
-  &lt;ul&gt;
-    &lt;li class=&quot;first&quot;&gt;&amp;copy; 2009 Twetter&lt;/li&gt;
-
-    &lt;li&gt;&lt;a href=&quot;/about#about&quot;&gt;About Us&lt;/a&gt;&lt;/li&gt;
-    &lt;li&gt;&lt;a href=&quot;/about#contact&quot;&gt;Contact&lt;/a&gt;&lt;/li&gt;
-    &lt;!--
-    &lt;li&gt;&lt;a href=&quot;http://blog.twitter.com&quot;&gt;Blog&lt;/a&gt;&lt;/li&gt;
-    &lt;li&gt;&lt;a href=&quot;http://status.twitter.com&quot;&gt;Status&lt;/a&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;a href=&quot;/downloads&quot;&gt;Apps&lt;/a&gt;&lt;/li&gt;
-        &lt;li&gt;&lt;a href=&quot;http://apiwiki.twitter.com/&quot;&gt;API&lt;/a&gt;&lt;/li&gt;
-
-    &lt;li&gt;&lt;a href=&quot;http://search.twitter.com&quot;&gt;Search&lt;/a&gt;&lt;/li&gt;
-    &lt;li&gt;&lt;a href=&quot;http://help.twitter.com&quot;&gt;Help&lt;/a&gt;&lt;/li&gt;
-    &lt;li&gt;&lt;a href=&quot;/jobs&quot;&gt;Jobs&lt;/a&gt;&lt;/li&gt;
-    &lt;li&gt;&lt;a href=&quot;/terms&quot;&gt;Terms&lt;/a&gt;&lt;/li&gt;
-    &lt;li&gt;&lt;a href=&quot;/privacy&quot;&gt;Privacy&lt;/a&gt;&lt;/li&gt;
-    --&gt;
-  &lt;/ul&gt;
-
-&lt;/div&gt;
-
-      &lt;hr /&gt;
-  &lt;% if (current_user) %&gt;
-  &lt;div id=&quot;navigation&quot;&gt;
-    &lt;ul&gt;
-      &lt;li class=&quot;first&quot;&gt;&lt;a href=&quot;/home&quot; id=&quot;home_link&quot;&gt;Home&lt;/a&gt;&lt;/li&gt;
-      &lt;li&gt;&lt;a href=&quot;/&lt;%= h current_user.username %&gt;&quot; id=&quot;profile_link&quot;&gt;Profile&lt;/a&gt;&lt;/li&gt;
-      &lt;!--&lt;li&gt;&lt;a href=&quot;/invitations&quot; id=&quot;find_people_link&quot;&gt;Find People&lt;/a&gt;&lt;/li&gt; --&gt;
-
-      &lt;li&gt;&lt;a href=&quot;/account/settings&quot; id=&quot;settings_link&quot;&gt;Settings&lt;/a&gt;&lt;/li&gt;
-      &lt;!--&lt;li&gt;&lt;a href=&quot;http://google.com&quot; id=&quot;help_link&quot;&gt;Help&lt;/a&gt;&lt;/li&gt; --&gt;
-      &lt;li&gt;&lt;a id=&quot;sign_out_link&quot; href=&quot;#&quot; onclick=&quot;document.getElementById('sign_out_form').submit(); return false;&quot;&gt;Sign out&lt;/a&gt;&lt;/li&gt;
-      
-      
-    &lt;/ul&gt;
-    &lt;form method=&quot;post&quot; id=&quot;sign_out_form&quot; action=&quot;/sessions/destroy&quot; style=&quot;display:none;&quot;&gt;
-      &lt;input name=&quot;authenticity_token&quot; value=&quot;cf586308d33b4601f0dfba618cc4bbf7c5baf1c0&quot; type=&quot;hidden&quot; /&gt;
-    &lt;/form&gt;
-
-  &lt;/div&gt;
-  &lt;% end %&gt;
-
-
-          &lt;/div&gt;
-
-    
-    &lt;script src=&quot;/javascripts/jquery.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;script src=&quot;/javascripts/application.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;script src=&quot;/javascripts/jquery.color.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-&lt;script src=&quot;/javascripts/timeline.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot;&gt;
-//&lt;![CDATA[
-      twttr.form_authenticity_token = 'cf586308d33b4601f0dfba618cc4bbf7c5baf1c0';
-
-//]]&gt;
-
-&lt;/script&gt;
-&lt;% if (flash[:notice]||flash[:error]) %&gt;
+            &lt;% end %&gt;
+
+        &lt;/tr&gt;
+        &lt;/tbody&gt;
+    &lt;/table&gt;
+
+    &lt;div id=&quot;footer&quot; class=&quot;round&quot;&gt;
+        &lt;h3&gt;Footer&lt;/h3&gt;
+
+        &lt;ul&gt;
+            &lt;li class=&quot;first&quot;&gt;&amp;copy; 2009 Twetter&lt;/li&gt;
+
+            &lt;li&gt;&lt;a href=&quot;/about#about&quot;&gt;About Us&lt;/a&gt;&lt;/li&gt;
+            &lt;li&gt;&lt;a href=&quot;/about#contact&quot;&gt;Contact&lt;/a&gt;&lt;/li&gt;
+            &lt;!--&lt;li&gt;&lt;a href=&quot;http://blog.twitter.com&quot;&gt;Blog&lt;/a&gt;&lt;/li&gt;--&gt;
+            &lt;!--&lt;li&gt;&lt;a href=&quot;http://status.twitter.com&quot;&gt;Status&lt;/a&gt;&lt;/li&gt;--&gt;
+            &lt;!--&lt;li&gt;&lt;a href=&quot;/downloads&quot;&gt;Apps&lt;/a&gt;&lt;/li&gt;--&gt;
+            &lt;!--&lt;li&gt;&lt;a href=&quot;http://apiwiki.twitter.com/&quot;&gt;API&lt;/a&gt;&lt;/li&gt;--&gt;
+
+            &lt;!--&lt;li&gt;&lt;a href=&quot;http://search.twitter.com&quot;&gt;Search&lt;/a&gt;&lt;/li&gt;--&gt;
+            &lt;!--&lt;li&gt;&lt;a href=&quot;http://help.twitter.com&quot;&gt;Help&lt;/a&gt;&lt;/li&gt;--&gt;
+            &lt;!--&lt;li&gt;&lt;a href=&quot;/jobs&quot;&gt;Jobs&lt;/a&gt;&lt;/li&gt;--&gt;
+            &lt;!--&lt;li&gt;&lt;a href=&quot;/terms&quot;&gt;Terms&lt;/a&gt;&lt;/li&gt;--&gt;
+            &lt;!--&lt;li&gt;&lt;a href=&quot;/privacy&quot;&gt;Privacy&lt;/a&gt;&lt;/li&gt;--&gt;
+        &lt;/ul&gt;
+    &lt;/div&gt;
+
+
+    &lt;hr/&gt;
+
+
+    &lt;style&gt;
+
+        #header {
+                text-align: left;
+                margin: 8px 0 0 0;
+                }
+
+                #navigation {
+                        position: absolute;
+                        top: 0;
+                        right: 0;
+                        height: 1.5em;
+                        font-size: 105%;
+                        text-align: right;
+                        white-space: nowrap;
+                        }
+
+                #navigation ul {
+                        display: block;
+                        float: right;
+                        background: #FFF;
+                        padding: 7px 6px 7px 3px;
+                        }
+
+                .top-nav li {
+                        display: inline;
+                        margin-left: 6px;
+                        }
+
+                .top-nav li.last {
+                        margin-right: 6px;
+                        }
+
+                .top-nav li.signup-link {
+                        margin: 0 3px;
+                        }
+
+    &lt;/style&gt;
+
+    &lt;% if (current_user) %&gt;
+        &lt;div id=&quot;navigation&quot;&gt;
+            &lt;ul class=&quot;horizontal-nav top-nav round&quot; style=&quot;display:inline&quot;&gt;
+                &lt;li&gt;&lt;a href=&quot;/home&quot; id=&quot;home_link&quot;&gt;Home&lt;/a&gt;&lt;/li&gt;
+                &lt;li&gt;&lt;a href=&quot;/&lt;%= h current_user.username %&gt;&quot; id=&quot;profile_link&quot;&gt;Profile&lt;/a&gt;&lt;/li&gt;
+
+                &lt;!--&lt;li&gt;&lt;a href=&quot;/invitations&quot; id=&quot;find_people_link&quot;&gt;Find People&lt;/a&gt;&lt;/li&gt;--&gt;
+                &lt;li&gt;&lt;a href=&quot;/account/settings&quot; id=&quot;settings_link&quot;&gt;Settings&lt;/a&gt;&lt;/li&gt;
+                &lt;!--&lt;li&gt;&lt;a href=&quot;http://help.twitter.com&quot; id=&quot;help_link&quot;&gt;Help&lt;/a&gt;&lt;/li&gt;--&gt;
+                &lt;li class=&quot;last&quot;&gt;
+                    &lt;a id=&quot;sign_out_link&quot; href=&quot;#&quot; onclick=&quot;document.getElementById('sign_out_form').submit(); return false;&quot;&gt;Sign
+                        out&lt;/a&gt;&lt;/li&gt;
+
+                &lt;form method=&quot;post&quot; id=&quot;sign_out_form&quot; action=&quot;/sessions/destroy&quot; style=&quot;display:none;&quot;&gt;
+                    &lt;input name=&quot;authenticity_token&quot; value=&quot;42114f58c6f3824dc51197223d6e1fb9b1d184a7&quot; type=&quot;hidden&quot;/&gt;
+                &lt;/form&gt;
+
+            &lt;/ul&gt;
+        &lt;/div&gt;
+
+        &lt;/div&gt;
+    &lt;% end %&gt;
+
+    &lt;script src=&quot;/javascripts/jquery.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
+    &lt;script src=&quot;/javascripts/application.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
+    &lt;script src=&quot;/javascripts/jquery.livequery.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
+    &lt;script src=&quot;/javascripts/timeline.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
+    &lt;script type=&quot;text/javascript&quot;&gt;
+        //&lt;![CDATA[
+                twttr.form_authenticity_token = '42114f58c6f3824dc51197223d6e1fb9b1d184a7';
+                if (window.top !== window.self) { setTimeout(function(){document.body.innerHTML='';},1);window.self.onload=function(evt){document.body.innerHTML='';};}
+                        //]]&gt;
+    &lt;/script&gt;
+    &lt;% if (flash[:notice]||flash[:error]) %&gt;
         &lt;script type=&quot;text/javascript&quot;&gt;
-//&lt;![CDATA[
+            //&lt;![CDATA[
 
-              $( function () {
-              setTimeout(function() { $('#flash').slideUp(); }, 3000);
-              });
+                    $( function () {
+                            setTimeout(function() { $('#flash').slideUp(); }, 3000);
+                            });
 
-//]]&gt;
+                    //]]&gt;
         &lt;/script&gt;
-&lt;% end %&gt;
-
-&lt;%= yield :javascript %&gt;
+    &lt;% end %&gt;
 
-  &lt;/body&gt;
+    &lt;%= yield :javascript %&gt;
+&lt;/body&gt;
 
 &lt;/html&gt;</diff>
      <filename>app/views/layouts/application.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -52,15 +52,16 @@
 &lt;% end %&gt;
 
 &lt;% content_for :javascript do %&gt;
-    &lt;script type=&quot;text/javascript&quot;&gt;
+&lt;script type=&quot;text/javascript&quot;&gt;
 //&lt;![CDATA[
 
-          $( function () {
-            $('#latest_status').isCurrentStatus();$('#doingForm').isUpdateForm();  $('body#home ul#tabMenu li a#home_tab, body#profile ul#tabMenu li a#updates_tab, body#replies ul#tabMenu li a#replies_tab, body.direct_messages ul#tabMenu li a#direct_messages_tab, body#favourings ul#tabMenu li a#favorites_tab, body#public_timeline ul#tabMenu li a#public_timeline_tab').isSidebarTab();
-      $('#current_user_send_via_sms, #current_user_send_via_none').isDeviceUpdateOption();
+      $( function () {
+        $('#latest_status').isCurrentStatus();$('#doingForm').isUpdateForm();  $('body#home ul#tabMenu li a#home_tab, body#profile ul#tabMenu li a#updates_tab, body#replies ul#tabMenu li a#replies_tab, body.direct_messages ul#tabMenu li a#direct_messages_tab, body#favourings ul#tabMenu li a#favorites_tab, body#public_timeline ul#tabMenu li a#public_timeline_tab').isSidebarTab();
+  $('#current_user_send_via_sms, #current_user_send_via_none').isDeviceUpdateOption();
 
-          });
+      });
 
 //]]&gt;
-    &lt;/script&gt;
+&lt;/script&gt;
+
 &lt;% end %&gt;
\ No newline at end of file</diff>
      <filename>app/views/statuses/_sidebar.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,28 +1,30 @@
 &lt;% fav = !@user.favorites.find_by_id(tweet.id).nil? %&gt;
-&lt;tr class=&quot;hentry status &lt;% fav ? &quot;favorite&quot; : &quot;&quot; %&gt;u-&lt;%= h tweet.user.username %&gt;&lt;%= (tweet.user==@user) ? &quot; mine&quot; : &quot;&quot; %&gt;&lt;%= ((type=='mine' &amp;&amp; tweet_counter==0) || type=='friends_update') ? &quot; latest-status&quot;:&quot;&quot; %&gt;&quot; id=&quot;status_&lt;%= h tweet.id %&gt;&quot;&gt;
+
+&lt;li class=&quot;hentry status
+    &lt;% fav ? &quot;favorite&quot; : &quot;&quot; %&gt;u-&lt;%= h tweet.user.username %&gt;&lt;%= (tweet.user==@user) ? &quot; mine&quot; : &quot;&quot; %&gt;&lt;%= ((type=='mine' &amp;&amp; tweet_counter==0) || type=='friends_update') ? &quot; latest-status&quot;:&quot;&quot; %&gt;&quot; id=&quot;status_&lt;%= h tweet.id %&gt;&quot;&gt;
     &lt;% if (type!='mine') %&gt;
-    &lt;td class=&quot;thumb vcard author&quot;&gt;
-        &lt;a href=&quot;/&lt;%= h tweet.user.username %&gt;&quot; class=&quot;url&quot;&gt;&lt;img alt=&quot;&lt;%= tweet.user.name %&gt;&quot; class=&quot;photo fn&quot; height=&quot;48&quot; src=&quot;&lt;%= tweet.user.web_profile_url %&gt;&quot; width=&quot;48&quot;/&gt;&lt;/a&gt;
-    &lt;/td&gt;
+    &lt;span class=&quot;thumb vcard author&quot;&gt;
+        &lt;a href=&quot;/&lt;%= h tweet.user.username %&gt;&quot; class=&quot;url&quot;&gt;
+            &lt;img alt=&quot;&lt;%= h tweet.user.name %&gt;&quot; class=&quot;photo fn&quot; height=&quot;48&quot; src=&quot;&lt;%= h tweet.user.web_profile_url %&gt;&quot; width=&quot;48&quot;/&gt;&lt;/a&gt;
+    &lt;/span&gt;
     &lt;% end %&gt;
-    &lt;td class=&quot;status-body&quot;&gt;
-        &lt;div&gt;
-            &lt;% if (type!='mine') %&gt;
-            &lt;strong&gt;&lt;a href=&quot;/&lt;%= h tweet.user.username %&gt;&quot; title=&quot;&lt;%= tweet.user.name %&gt;&quot;&gt;&lt;%= tweet.user.username %&gt;&lt;/a&gt;&lt;/strong&gt;
-            &lt;% end %&gt;
-            &lt;span class=&quot;entry-content&quot;&gt;&lt;%= link_users(tweet.tweet) %&gt;&lt;/span&gt;
-            &lt;span class=&quot;meta entry-meta&quot;&gt;&lt;a href=&quot;/&lt;%= h tweet.user.username %&gt;/status/&lt;%= h tweet.id %&gt;&quot; class=&quot;entry-date&quot; rel=&quot;bookmark&quot;&gt;&lt;span class=&quot;published&quot; title=&quot;&lt;%= tweet.created_at_formatted %&gt;&quot;&gt;&lt;%= time_ago_in_words(tweet.created_at) %&gt;
-                ago&lt;/span&gt;&lt;/a&gt; &lt;span&gt;from &lt;%= h tweet.source%&gt;&lt;/span&gt;
-                &lt;% if (!tweet.recipient.nil?) then %&gt;
-             &lt;a href=&quot;http://twitter.com/rob_nielsen/status/1014433331&quot;&gt;in reply to &lt;%= tweet.recipient.username %&gt;&lt;/a&gt;
+    &lt;span class=&quot;status-body&quot;&gt;
+        &lt;% if (type!='mine') %&gt;
+            &lt;strong&gt;&lt;a href=&quot;/&lt;%= h tweet.user.username %&gt;&quot; class=&quot;screen-name&quot; title=&quot;&lt;%= h tweet.user.name %&gt;&quot;&gt;&lt;%= h tweet.user.username %&gt;&lt;/a&gt;&lt;/strong&gt;
+        &lt;% end %&gt;
+        &lt;span class=&quot;entry-content&quot;&gt;&lt;%= link_users(tweet.tweet) %&gt;&lt;/span&gt;
+        &lt;span class=&quot;meta entry-meta&quot;&gt;
+            &lt;a href=&quot;http://twitter.com/&lt;%= h tweet.user.username %&gt;/status/&lt;%= h tweet.id %&gt;&quot; class=&quot;entry-date&quot; rel=&quot;bookmark&quot;&gt;&lt;span class=&quot;published&quot;&gt;&lt;%= time_ago_in_words(tweet.created_at) %&gt;&lt;/span&gt;&lt;/a&gt;
+            &lt;span&gt;from &lt;%= h tweet.source %&gt;&lt;/span&gt;
+            &lt;% if (!tweet.recipient.nil?) %&gt;
+                &lt;a href=&quot;/&lt;%= tweet.recipient.username %&gt;/status/&lt;%= h tweet.id %&gt;&quot;&gt;in reply to &lt;%= tweet.recipient.username %&gt;&lt;/a&gt;
             &lt;% end %&gt;
-            &lt;/span&gt;
-        &lt;/div&gt;
-    &lt;/td&gt;
-    &lt;td class=&quot;actions&quot;&gt;
+        &lt;/span&gt;
+    &lt;/span&gt;
+    &lt;span class=&quot;actions&quot;&gt;
         &lt;div&gt;
-            &lt;a class=&quot;fav-action &lt;%= fav ? &quot;&quot; : &quot;non-&quot; %&gt;fav&quot; id=&quot;status_star_&lt;%= h tweet.id %&gt;&quot; title=&quot;&lt;%= fav ? &quot;&quot; : &quot;un-&quot; %&gt;favorite this update&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/a&gt;&lt;a class=&quot;repl&quot; href=&quot;/home?status=@&lt;%= h tweet.user.username %&gt;%20&amp;amp;in_reply_to_status_id=&lt;%= h tweet.id %&gt;&amp;amp;in_reply_to=&lt;%= h tweet.user.username %&gt;&quot; title=&quot;reply to &lt;%= h tweet.user.username %&gt;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/a&gt;
+            &lt;a class=&quot;fav-action &lt;%= fav ? &quot;&quot; : &quot;non-&quot; %&gt;fav&quot; id=&quot;status_star_&lt;%= h tweet.id %&gt;&quot; title=&quot;&lt;%= fav ? &quot;un-&quot; : &quot;&quot; %&gt;favorite this update&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/a&gt;
+            &lt;a class=&quot;reply&quot; href=&quot;/home?status=@&lt;%= h tweet.user.username %&gt;%20&amp;amp;in_reply_to_status_id=&lt;%= h tweet.id %&gt;&amp;amp;in_reply_to=&lt;%= h tweet.user.username %&gt;&quot; title=&quot;reply to &lt;%= h tweet.user.username %&gt;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/a&gt;
         &lt;/div&gt;
-    &lt;/td&gt;
-&lt;/tr&gt;
-
+    &lt;/span&gt;
+&lt;/li&gt;</diff>
      <filename>app/views/statuses/_tweet.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,27 +1,14 @@
 &lt;div class=&quot;tab&quot;&gt;
 
-    &lt;h2 class=&quot;timeline-header&quot; style=&quot;display:none;&quot;&gt;&lt;/h2&gt;
+    &lt;ol class=&quot;statuses&quot; id=&quot;timeline&quot;&gt;
+        &lt;%= render :partial=&gt;'statuses/tweet', :collection=&gt;@tweets, :locals=&gt;{:type=&gt;'friends'} %&gt;
+    &lt;/ol&gt;
+    &lt;!--&lt;div class=&quot;bottom-nav&quot;&gt;--&gt;
+        &lt;!--&lt;div id=&quot;pagination&quot; class=&quot;pagination&quot;&gt;--&gt;
+            &lt;!--&lt;a href=&quot;/home?page=2&quot; class=&quot;section_links&quot; rel=&quot;prev&quot;&gt;Older &amp;#187;&lt;/a&gt;--&gt;
+        &lt;!--&lt;/div&gt;--&gt;
+    &lt;!--&lt;/div&gt;--&gt;
 
-    &lt;table cellspacing=&quot;0&quot; class=&quot;doing&quot; id=&quot;timeline&quot;&gt;
-        &lt;tbody id=&quot;timeline_body_for_update&quot; style=&quot;display: none&quot;&gt;&lt;/tbody&gt;
-        &lt;tbody id=&quot;timeline_body&quot;&gt;
-            &lt;%= render :partial=&gt;'statuses/tweet', :collection=&gt;@tweets, :locals=&gt;{:type=&gt;'friends'} %&gt;
-        &lt;/tbody&gt;
-    &lt;/table&gt;
 
-    &lt;!--
-    &lt;div class=&quot;bottom_nav&quot;&gt;
-        &lt;div class=&quot;pagination&quot; id=&quot;pagination&quot;&gt;
-
-
-            &lt;a href=&quot;/home?page=2&quot; class=&quot;section_links&quot; rel=&quot;prev&quot;&gt;Older &amp;#187;&lt;/a&gt;
-
-        &lt;/div&gt;
-        &lt;span class=&quot;left&quot;&gt;&lt;a href=&quot;/statuses/friends_timeline/16360207.rss&quot; class=&quot;section_links&quot;&gt;RSS&lt;/a&gt;&lt;/span&gt;
-    &lt;/div&gt;
-    --&gt;
 &lt;/div&gt;
 
-
-&lt;img alt=&quot;Icon_star_full&quot; src=&quot;http://assets0.twitter.com/images/icon_star_full.gif&quot; style=&quot;display:none;&quot;/&gt;
-</diff>
      <filename>app/views/statuses/_tweets.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,13 +1,13 @@
 &lt;% setup(:title=&gt;@duser.username, :body_id=&gt;&quot;profile&quot;, :css=&gt;['timeline']) %&gt;
 &lt;div class=&quot;profile-head&quot;&gt;
-    &lt;h2 class=&quot;thumb&quot;&gt;
+    &lt;h2 class=&quot;thumb clearfix&quot;&gt;
         &lt;!-- &lt;img alt=&quot;Default_profile_bigger&quot; height=&quot;73&quot; src=&quot;/images/default_profile_bigger.png&quot; width=&quot;73&quot; /&gt; --&gt;
         &lt;%= link_to(image_tag(@duser.web_profile_url(:full), :size=&gt;&quot;73x73&quot;), :controller=&gt;'account', :action=&gt;'profile_image', :id=&gt;@duser.username) %&gt;
         &lt;%= @duser.username %&gt;
     &lt;/h2&gt;
 
     &lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;
-    &lt;div id=&quot;follow_actions_17525701&quot; class=&quot;follow-actions rob_test&quot;&gt;
+    &lt;div id=&quot;follow_actions_&lt;%= @duser.id %&gt;&quot; class=&quot;follow-actions &lt;%= @duser.username %&gt;&quot;&gt;
         &lt;% if (@duser != @user) %&gt;
             &lt;div class=&quot;follow-control&quot;&gt;
                 &lt;div id=&quot;follow-toggle&quot; class=&quot;closed med-btn&quot;&gt;
@@ -18,7 +18,7 @@
                 &lt;div id=&quot;follow-details&quot;&gt;
                     &lt;p id=&quot;following&quot;&gt;
                         &lt;strong&gt;You follow &lt;%= h @duser.username %&gt;&lt;/strong&gt;
-                        &lt;input class=&quot;remove-button&quot; id=&quot;remove_button&quot; onclick=&quot;removeUser(17525701, &lt;%= @duser.username %&gt;, 'cf586308d33b4601f0dfba618cc4bbf7c5baf1c0');&quot; type=&quot;button&quot; value=&quot;Remove&quot;/&gt;
+                        &lt;input type=&quot;button&quot; id=&quot;remove_button&quot; class=&quot;remove-button&quot; value=&quot;Remove&quot;/&gt;
                         &lt;br/&gt;
                                 &lt;span class=&quot;desc&quot;&gt;&lt;%= h @duser.username %&gt;
                                     's updates appear in your &lt;a href=&quot;/home&quot;&gt;timeline&lt;/a&gt;.&lt;/span&gt;
@@ -35,23 +35,15 @@
     &lt;/div&gt;
 &lt;/div&gt;
 
-&lt;div class=&quot;tab&quot;&gt;
-    &lt;table cellspacing=&quot;0&quot; class=&quot;doing&quot; id=&quot;timeline&quot;&gt;
-        &lt;tbody id=&quot;timeline_body_for_update&quot; style=&quot;display: none&quot;&gt;&lt;/tbody&gt;
-        &lt;tbody id=&quot;timeline_body&quot;&gt;
+&lt;div class=&quot;section&quot;&gt;
 
+    &lt;ol class=&quot;statuses&quot; id=&quot;timeline&quot;&gt;
         &lt;%= render :partial=&gt;'statuses/tweet', :collection=&gt;@tweets, :locals=&gt;{:type=&gt;'mine'} %&gt;
-
-        &lt;/tbody&gt;
-    &lt;/table&gt;
-
-    &lt;!--&lt;div class=&quot;bottom_nav&quot;&gt;--&gt;
-        &lt;!--&lt;div class=&quot;pagination&quot; id=&quot;pagination&quot;&gt;--&gt;
-            &lt;!--&lt;span class=&quot;section_links disabled&quot;&gt;Older &amp;#187;&lt;/span&gt;--&gt;
+    &lt;/ol&gt;
+    &lt;!--&lt;div class=&quot;bottom-nav&quot;&gt;--&gt;
+        &lt;!--&lt;div id=&quot;pagination&quot; class=&quot;pagination&quot;&gt;--&gt;
+            &lt;!--&lt;a href=&quot;/paul_okeeffe?page=2&quot; class=&quot;section_links&quot; rel=&quot;prev&quot;&gt;Older &amp;#187;&lt;/a&gt;--&gt;
         &lt;!--&lt;/div&gt;--&gt;
-    &lt;!--&lt;span class=&quot;statuses_options&quot;&gt;--&gt;
-      &lt;!--&lt;a href=&quot;http://twitter.com/statuses/user_timeline/17525701.rss&quot; class=&quot;section_links&quot;&gt;RSS&lt;/a&gt;--&gt;
-    &lt;!--&lt;/span&gt;--&gt;
     &lt;!--&lt;/div&gt;--&gt;
 &lt;/div&gt;
 </diff>
      <filename>app/views/user/index.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -15,7 +15,7 @@ function _(C, A) {
     }
     if (A) {
         for (var D in A) {
-            C = C.replace(new RegExp(&quot;\\#\\{&quot; + D + &quot;\\}&quot;, &quot;gi&quot;), A[D])
+            C = C.replace(new RegExp(&quot;\\%\\{&quot; + D + &quot;\\}&quot;, &quot;gi&quot;), A[D])
         }
     }
     return C
@@ -43,9 +43,11 @@ $.fn.isSidebarTab = function() {
             var B = A.attr(&quot;href&quot;);
             twttr.googleAnalytics(B + &quot;/refresh&quot;);
             $.ajax({type:&quot;GET&quot;,url:B,data:{twttr:true},dataType:&quot;json&quot;,beforeSend:twttr.loading,success:function(C) {
-                twttr.processJson(C);
-                $.initializeTimeline()
-            },complete:twttr.loaded});
+                twttr.processJson(C)
+            },complete:function() {
+                initializeTimeline();
+                twttr.loaded()
+            }});
             return false
         })
     })
@@ -64,7 +66,7 @@ $.fn.isExampleField = function(A, B, C) {
     }
     return this.each(function() {
         var D = $(this);
-        if (B) {
+        if (B &amp;&amp; D.val() == &quot;&quot;) {
             D.val(B)
         } else {
             B = D.val()
@@ -98,6 +100,7 @@ $.fn.isUpdateForm = function() {
         var B = I.find(&quot;label.doing&quot;);
         var E = /^\s*@(\w+)\W+/;
         var D = /^\s*[dD][mM]?\s+(?:(\w+)\W+)?/;
+
         function H() {
             var J = F.val();
             if (J.length &gt; 140) {
@@ -112,6 +115,7 @@ $.fn.isUpdateForm = function() {
                 }
             }
         }
+
         function G(J) {
             A.removeAttr(&quot;disabled&quot;, &quot;disabled&quot;);
             var K = J.text;
@@ -119,9 +123,8 @@ $.fn.isUpdateForm = function() {
                 $(&quot;#flash&quot;).html(J.flash).fadeIn(200)
             } else {
                 $(&quot;#timeline tr.hentry:first&quot;).removeClass(&quot;latest-status&quot;);
-                if (J.status_tr &amp;&amp; $(&quot;body&quot;).attr(&quot;id&quot;) == &quot;home&quot;) {
-                    $(&quot;#timeline tbody&quot;).prepend(J.status_tr);
-                    $.initializeTimeline()
+                if (J.status_li &amp;&amp; $(&quot;body&quot;).attr(&quot;id&quot;) == &quot;home&quot;) {
+                    $.Timeline.prepend(J.status_li)
                 }
                 $(&quot;#update_count&quot;).fadeOut(&quot;medium&quot;, function() {
                     $(&quot;#update_count&quot;).html(J.status_count).fadeIn(&quot;medium&quot;)
@@ -136,14 +139,15 @@ $.fn.isUpdateForm = function() {
             C(&quot;&quot;);
             F.trigger(&quot;change&quot;)
         }
+
         function C(K) {
             var J;
             if (J = K.match(D)) {
-                B.html(_(&quot;Direct message&quot;) + (J[1] ? &quot; &quot; + J[1] : &quot;&quot;) + &quot;:&quot;);
+                B.html(J[1] ? _(&quot;Direct message %{person}:&quot;, {person:J[1]}) : _(&quot;Direct message:&quot;));
                 A.val(_(&quot;send&quot;))
             } else {
                 if (J = K.match(E)) {
-                    B.html(_(&quot;Reply to #{screen_name}:&quot;, {screen_name:J[1]}));
+                    B.html(_(&quot;Reply to %{screen_name}:&quot;, {screen_name:J[1]}));
                     A.val(_(&quot;reply&quot;))
                 } else {
                     B.html(_(&quot;What are you doing?&quot;));
@@ -151,6 +155,7 @@ $.fn.isUpdateForm = function() {
                 }
             }
         }
+
         F.bind(&quot;keyup blur focus&quot;, function() {
             C($(this).val())
         });
@@ -183,45 +188,91 @@ $.fn.isUpdateForm = function() {
 };
 $.fn.isDirectMessageForm = function() {
     return this.each(function() {
-        var A = $(this);
-        var B = A.find(&quot;textarea&quot;).isCharCounter();
-        B.find(&quot;input[type=submit]&quot;).attr(&quot;disabled&quot;, &quot;disabled&quot;).addClass(&quot;disabled&quot;);
-        B.focusEnd();
-        A.find(&quot;select&quot;).change(function(C) {
-            B.trigger(&quot;update&quot;, C)
+        var B = $(this);
+        var C = B.find(&quot;textarea&quot;).isCharCounter();
+        var A = /^\s*[dD][mM]?\s+([A-Za-z0-9]{1,20})[^A-Za-z0-9]/;
+        var D = B.find(&quot;select&quot;);
+        var F = B.find(&quot;#update-submit&quot;);
+        var G = &quot;&quot;;
+        C.find(&quot;input[type=submit]&quot;).attr(&quot;disabled&quot;, &quot;disabled&quot;).addClass(&quot;disabled&quot;);
+        C.focusEnd();
+        function E(I) {
+            if (D.val()) {
+                return
+            }
+            if ((matches = I.match(A)) &amp;&amp; matches[1] &amp;&amp; (G != matches[1])) {
+                var H = true;
+                D.find(&quot;option&quot;).each(function() {
+                    if (this.innerHTML.toLowerCase() == matches[1].toLowerCase()) {
+                        D.val(this.value);
+                        H = false;
+                        return false
+                    }
+                });
+                if (H) {
+                    D.append(_('&lt;option value=&quot;%{screen_name}&quot;&gt;%{screen_name}&lt;/option&gt;', {screen_name:matches[1]}));
+                    D.val(matches[1])
+                }
+                G = matches[1]
+            }
+        }
+
+        F.click(function(H) {
+            var K = C.val();
+            var I = K.match(A);
+            var J = D.find(&quot;option[value=&quot; + D.val() + &quot;]&quot;);
+            if (I &amp;&amp; I[1] &amp;&amp; I[1].toLowerCase() == J.text().toLowerCase()) {
+                C.val(K.replace(A, &quot;&quot;))
+            }
+            return true
+        });
+        D.change(function(H) {
+            C.trigger(&quot;update&quot;, H)
+        });
+        C.bind(&quot;keyup blur focus&quot;, function(H) {
+            E($(this).val());
+            C.trigger(&quot;update&quot;, H)
         })
     })
 };
 $.fn.isCharCounter = function() {
     return this.each(function() {
-        var H = $(this);
-        var B = H.parents(&quot;form&quot;);
-        var D = B.find(&quot;.char-counter&quot;);
-        var F = B.find(&quot;input[type=submit]&quot;);
-        var A = B.find(&quot;select&quot;);
-        function G() {
-            F.attr(&quot;disabled&quot;, &quot;disabled&quot;).addClass(&quot;disabled&quot;)
+        var A = true;
+        var E = $(this);
+        var J = E.parents(&quot;form&quot;);
+        var D = J.find(&quot;.char-counter&quot;);
+        var H = J.find(&quot;input[type=submit]&quot;);
+        var C = J.find(&quot;select&quot;);
+
+        function B() {
+            H.attr(&quot;disabled&quot;, &quot;disabled&quot;).addClass(&quot;disabled&quot;);
+            A = true
         }
-        function E() {
-            F.removeAttr(&quot;disabled&quot;).removeClass(&quot;disabled&quot;)
+
+        function G() {
+            if (A) {
+                H.removeAttr(&quot;disabled&quot;).removeClass(&quot;disabled&quot;);
+                A = false
+            }
         }
-        function C() {
-            var J = H.val();
-            var I = J.length;
-            D.html(&quot;&quot; + (140 - I));
-            if (I &lt;= 0) {
+
+        function F() {
+            var L = E.val();
+            var K = L.length;
+            D.html(&quot;&quot; + (140 - K));
+            if (K &lt;= 0) {
                 D.css(&quot;color&quot;, &quot;#cccccc&quot;);
-                G()
+                B()
             } else {
-                if (A.length == 0 || A.val()) {
-                    E()
-                } else {
+                if (K &lt;= 140 &amp;&amp; (C.length == 0 || C.val())) {
                     G()
+                } else {
+                    B()
                 }
-                if (I &gt; 130) {
+                if (K &gt; 130) {
                     D.css(&quot;color&quot;, &quot;#d40d12&quot;)
                 } else {
-                    if (I &gt; 120) {
+                    if (K &gt; 120) {
                         D.css(&quot;color&quot;, &quot;#5c0002&quot;)
                     } else {
                         D.css(&quot;color&quot;, &quot;#cccccc&quot;)
@@ -229,18 +280,24 @@ $.fn.isCharCounter = function() {
                 }
             }
         }
-        H.bind(&quot;keyup blur focus change paste input&quot;, function(I) {
-            C()
+
+        var I = &quot;blur focus change &quot; + ($.browser.mozilla ? &quot;paste input&quot; : &quot;keyup&quot;);
+        E.bind(I, function(K) {
+            F()
+        });
+        C.change(function(K) {
+            F()
         });
-        H.focus()
+        E.focus()
     })
 };
 $.fn.isCurrentStatus = function(A) {
     return this.each(function() {
-        var D = $(this);
-        var B = D.find(&quot;#latest_text&quot;);
-        var C = B.find(&quot;.status-text&quot;);
-        var G = B.find(&quot;.entry-meta&quot;);
+        var E = $(this);
+        var B = E.find(&quot;#latest_text&quot;);
+        var D = B.find(&quot;.status-text&quot;);
+        var H = B.find(&quot;.entry-meta&quot;);
+        var C = $(this).parent(&quot;#currently&quot;);
         $(&quot;#latest_text_full, #latest_text&quot;).click(function() {
             $(&quot;#latest_text_full, #latest_text&quot;).toggle()
         });
@@ -248,13 +305,16 @@ $.fn.isCurrentStatus = function(A) {
         twttr.boxTruncate($(&quot;#latest_text_full .status-text&quot;).text(), &quot;#currently #latest_text .status-text&quot;, &quot;#currently #latest_text&quot;, {height:40,minlength:60});
         B.css(&quot;visibility&quot;, &quot;visible&quot;);
         if (A) {
-            var F = C.css(&quot;color&quot;);
-            var E = G.css(&quot;color&quot;);
+            if (C.css(&quot;visibility&quot;) == &quot;hidden&quot;) {
+                C.css(&quot;visibility&quot;, &quot;visible&quot;)
+            }
+            var G = D.css(&quot;color&quot;);
+            var F = H.css(&quot;color&quot;);
             if (!$.browser.msie) {
                 B.css(&quot;opacity&quot;, 0)
             }
-            C.css(&quot;color&quot;, &quot;#000&quot;);
-            G.css(&quot;color&quot;, &quot;#000&quot;);
+            D.css(&quot;color&quot;, &quot;#000&quot;);
+            H.css(&quot;color&quot;, &quot;#000&quot;);
             if (!$.browser.msie) {
                 B.animate({opacity:1}, 1000)
             }
@@ -262,8 +322,8 @@ $.fn.isCurrentStatus = function(A) {
                 clearTimeout(twttr.timeouts.updateLatestStatus)
             }
             twttr.timeouts.updateLatestStatus = setTimeout(function() {
-                C.animate({color:F}, 3000);
-                G.animate({color:E}, 3000)
+                D.animate({color:G}, 3000);
+                H.animate({color:F}, 3000)
             }, 5000)
         }
     })
@@ -298,26 +358,32 @@ $.fn.isNudgable = function() {
 $.fn.isSelectAll = function(A) {
     return this.each(function() {
         var B = $(this);
-        var C = $(A);
-        var E = C.find(&quot;input[type=checkbox]&quot;);
-        function D() {
-            var F = true;
-            E.each(function() {
+        if (typeof (A) == &quot;string&quot;) {
+            var D = $(A).find(&quot;input[type=checkbox]&quot;)
+        } else {
+            var D = A
+        }
+        function C() {
+            var E = true;
+            D.each(function() {
                 if (!this.checked) {
-                    F = false;
+                    E = false;
                     return false
                 }
             });
-            B.get(0).checked = F
+            B.get(0).checked = E
         }
+
         B.click(function() {
-            var F = B.get(0).checked;
-            E.each(function() {
-                this.checked = F
-            })
+            var E = B.get(0).checked;
+            D.each(function() {
+                this.checked = E
+            });
+            $(this).trigger(&quot;select-all-changed&quot;, E)
         });
-        E.click(function() {
-            D()
+        D.click(function() {
+            C();
+            $(this).trigger(&quot;checkbox-changed&quot;, this.checked)
         })
     })
 };
@@ -337,6 +403,7 @@ $.fn.isFollowControl = function() {
                 $(&quot;.follow-control&quot;).isFollowControl()
             },beforeSend:twttr.loading,complete:twttr.loaded})
         }
+
         H.click(function() {
             $.ajax({type:&quot;POST&quot;,dataType:&quot;text&quot;,url:&quot;/friendships/create/&quot; + B,data:{authenticity_token:twttr.form_authenticity_token,twttr:true},success:function(I) {
                 if (I.match(/Bring/)) {
@@ -385,6 +452,7 @@ $.fn.isFollowRequestLinks = function() {
         var F = D ? B.attr(&quot;id&quot;).replace(&quot;ifr_&quot;, &quot;&quot;) : &quot;&quot;;
         var A = B.find(&quot;#accept_all_requests&quot;);
         var C = B.find(&quot;#deny_all_requests&quot;);
+
         function E(G) {
             var H = {decision:G,authenticity_token:twttr.form_authenticity_token};
             if (D) {
@@ -408,6 +476,7 @@ $.fn.isFollowRequestLinks = function() {
                 }
             },beforeSend:twttr.loading,complete:twttr.loaded})
         }
+
         A.click(function() {
             E(&quot;accept&quot;);
             return false
@@ -438,6 +507,7 @@ $.fn.isTabMenu = function() {
                 }
             })
         }
+
         B.find(&quot;li a&quot;).each(function() {
             var C = $(this);
             C.click(function() {
@@ -447,6 +517,26 @@ $.fn.isTabMenu = function() {
         })
     })
 };
+$.fn.isLinkMenu = function() {
+    $(this).one(&quot;click&quot;, B);
+    function B() {
+        var C = $(this);
+        var D = C.siblings(&quot;:hidden&quot;);
+        $(&quot;body, a&quot;).one(&quot;click&quot;, {link:C,menu:D}, A);
+        D.click(function(E) {
+            E.stopPropagation()
+        }).show();
+        return false
+    }
+
+    function A(C) {
+        C.data.menu.hide();
+        C.data.link.one(&quot;click&quot;, B);
+        if ($(C.target).attr(&quot;id&quot;) == C.data.link.attr(&quot;id&quot;)) {
+            return false
+        }
+    }
+};
 $.fn.focusEnd = function() {
     var A;
     var B;
@@ -463,6 +553,167 @@ $.fn.focusEnd = function() {
         }
     })
 };
+(function(A) {
+    A.fn.isPasswordStrengthField = function(B, C) {
+        return this.each(function() {
+            if (!B) {
+                return
+            }
+            if (!C) {
+                C = {}
+            }
+            var I = A(this);
+            var K = A(B);
+            K.append('&lt;span class=&quot;pstrength-text&quot;&gt;&lt;/span&gt;');
+            var G = K.find(&quot;.pstrength-text&quot;);
+
+            function F(L) {
+                K.children().each(function() {
+                    var M = A(this);
+                    if (M.hasClass(&quot;pstrength-text&quot;)) {
+                        if (L) {
+                            M.show()
+                        } else {
+                            M.hide()
+                        }
+                    } else {
+                        if (L) {
+                            M.hide()
+                        } else {
+                            M.show()
+                        }
+                    }
+                })
+            }
+
+            function J(L) {
+                var N = 0;
+                var M = C.minlength ? C.minlength : 6;
+                if (L.length &lt; M) {
+                    return{score:L.length,message:_(&quot;Too short&quot;),className:&quot;password-invalid&quot;}
+                }
+                if (C.username) {
+                    var O = (typeof (C.username) == &quot;function&quot;) ? C.username() : C.username;
+                    if (O &amp;&amp; (L.toLowerCase() == O.toLowerCase())) {
+                        return{score:0,message:_(&quot;Too obvious&quot;),className:&quot;password-invalid&quot;}
+                    }
+                }
+                if (A.inArray(L.toLowerCase(), [&quot;password&quot;,&quot;password1&quot;,&quot;password12&quot;,&quot;password123&quot;,&quot;qwerty&quot;,&quot;asdfgh&quot;,&quot;123456&quot;,&quot;abcdef&quot;,&quot;abc123&quot;,&quot;monkey&quot;,&quot;letmein&quot;]) != -1) {
+                    return{score:0,message:_(&quot;Too obvious&quot;),className:&quot;password-invalid&quot;}
+                }
+                N += L.length * 4;
+                N += (E(1, L).length - L.length) * 1;
+                N += (E(2, L).length - L.length) * 1;
+                N += (E(3, L).length - L.length) * 1;
+                N += (E(4, L).length - L.length) * 1;
+                if (L.match(/(.*[0-9].*[0-9].*[0-9])/)) {
+                    N += 5
+                }
+                if (L.match(/(.*[!,@,#,$,%,^,&amp;,*,?,_,~].*[!,@,#,$,%,^,&amp;,*,?,_,~])/)) {
+                    N += 5
+                }
+                if (L.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)) {
+                    N += 10
+                }
+                if (L.match(/([a-zA-Z])/) &amp;&amp; L.match(/([0-9])/)) {
+                    N += 15
+                }
+                if (L.match(/([!,@,#,$,%,^,&amp;,*,?,_,~])/) &amp;&amp; L.match(/([0-9])/)) {
+                    N += 15
+                }
+                if (L.match(/([!,@,#,$,%,^,&amp;,*,?,_,~])/) &amp;&amp; L.match(/([a-zA-Z])/)) {
+                    N += 15
+                }
+                if (L.match(/^\w+$/) || L.match(/^\d+$/)) {
+                    N -= 10
+                }
+                if (N &lt; 0) {
+                    N = 0
+                }
+                if (N &gt; 100) {
+                    N = 100
+                }
+                if (N &lt; 34) {
+                    return{score:N,message:_(&quot;Weak&quot;),className:&quot;password-weak&quot;}
+                }
+                if (N &lt; 50) {
+                    return{score:N,message:_(&quot;Good&quot;),className:&quot;password-good&quot;}
+                }
+                if (N &lt; 75) {
+                    return{score:N,message:_(&quot;Strong&quot;),className:&quot;password-strong&quot;}
+                }
+                return{score:N,message:_(&quot;Very Strong&quot;),className:&quot;password-verystrong&quot;}
+            }
+
+            function E(M, P) {
+                var L = &quot;&quot;;
+                for (var O = 0; O &lt; P.length; O++) {
+                    var Q = true;
+                    for (var N = 0; N &lt; M &amp;&amp; (N + O + M) &lt; P.length; N++) {
+                        Q = Q &amp;&amp; (P.charAt(N + O) == P.charAt(N + O + M))
+                    }
+                    if (N &lt; M) {
+                        Q = false
+                    }
+                    if (Q) {
+                        O += M - 1;
+                        Q = false
+                    } else {
+                        L += P.charAt(O)
+                    }
+                }
+                return L
+            }
+
+            function D(L) {
+                if (L &amp;&amp; K.hasClass(L)) {
+                    return false
+                }
+                K.removeClass(&quot;password-weak&quot;).removeClass(&quot;password-good&quot;).removeClass(&quot;password-strong&quot;).removeClass(&quot;password-verystrong&quot;).removeClass(&quot;password-invalid&quot;);
+                return true
+            }
+
+            function H() {
+                var M = I.val();
+                if (M.length == 0) {
+                    D();
+                    F(false)
+                } else {
+                    if (M.length) {
+                        F(true)
+                    }
+                }
+                if (M.length &gt; 0) {
+                    var L = J(M);
+                    G.html(L.message);
+                    if (D(L.className)) {
+                        K.addClass(L.className)
+                    }
+                }
+            }
+
+            I.bind(&quot;show-password-meter&quot;, function() {
+                K.show()
+            });
+            I.bind(&quot;hide-password-meter&quot;, function() {
+                K.hide()
+            });
+            I.keyup(function() {
+                H()
+            });
+            I.blur(function() {
+                if (this.value.length == 0) {
+                    D();
+                    I.trigger(&quot;hide-password-meter&quot;)
+                }
+            });
+            if (I.val()) {
+                H();
+                K.show()
+            }
+        })
+    }
+})(jQuery);
 $.fn.focusFirstTextField = function() {
     return this.find(&quot;input[type=text]:visible:enabled:first&quot;).focus().length &gt; 0
 },$.fn.focusFirstTextArea = function() {
@@ -470,22 +721,49 @@ $.fn.focusFirstTextField = function() {
 };
 $.fn.focusFirstTextElement = function() {
     return this.focusFirstTextField() || this.focusFirstTextArea()
-},$.fn.isWrapped = function(E) {
-    if (!E) {
+};
+$.fn.isWrapped = function(B) {
+    if (!B) {
         return
     }
-    $this = $(this);
-    $this.hide();
-    var C = $this.html();
-    var G = C.length;
-    var B = &quot;&quot;;
-    var H = $this.width();
-    var F = H / E;
-    var A = G / F;
-    for (var D = 0; D &lt;= F; D += 1) {
-        B += (C.substr(A * D, A) + &quot;\n&quot;)
+    var F = $(this);
+    F.hide();
+    var D = F.html();
+    var G = D.length;
+    var H = &quot;&quot;;
+    var C = F.width();
+    var A = C / B;
+    var E = G / A;
+    for (var I = 0; I &lt;= A; I += 1) {
+        H += (D.substr(E * I, E) + &quot;\n&quot;)
     }
-    $this.html(B).show()
+    F.html(H).show()
+};
+(function(A) {
+    A.fn.isOAuthApplication = function() {
+        return this.each(function() {
+            var D = A(this);
+            var C = D.attr(&quot;id&quot;).replace(&quot;oauth_application_&quot;, &quot;&quot;);
+            var B = D.find(&quot;.revoke-access&quot;);
+            B.click(function() {
+                A.ajax({type:&quot;POST&quot;,dataType:&quot;json&quot;,url:&quot;/oauth/revoke&quot;,data:{authenticity_token:twttr.form_authenticity_token,token:C,twttr:true},success:function(E) {
+                    if (E.revoked) {
+                        D.addClass(&quot;revoked&quot;)
+                    } else {
+                        D.removeClass(&quot;revoked&quot;)
+                    }
+                    B.text(E.label)
+                },beforeSend:twttr.loading,complete:twttr.loaded});
+                return false
+            })
+        })
+    }
+})(jQuery);
+$.fn.isLoading = function() {
+    $(this).addClass(&quot;loading&quot;)
+};
+$.fn.isLoaded = function() {
+    $(this).removeClass(&quot;loading&quot;)
 };
 if (!window.twttr) {
     var _tmp = {};
@@ -562,4 +840,37 @@ if (!window.twttr) {
         return rtn
     })()
 }
-;
\ No newline at end of file
+$.fn.occasionally = function(H, I) {
+    var B = this;
+    var F = $.extend({interval:10000,max:null,maxed:function() {
+    },decay:2}, I);
+    var D = 0;
+    var A;
+    var G = F.decay;
+    var C = F.interval;
+
+    function E() {
+        if (F.max &amp;&amp; D &gt; F.max) {
+            clearInterval(A);
+            C = F.interval;
+            F.maxed(B);
+            return
+        }
+        D += 1;
+        if (H(B)) {
+            C = F.interval
+        } else {
+            C = C * G
+        }
+        A = setTimeout(function() {
+            E()
+        }, C)
+    }
+
+    A = setTimeout(function() {
+        E()
+    }, C)
+};
+(function(A) {
+    A.ajaxSetup({beforeSend:twttr.loading,complete:twttr.loaded})
+})(jQuery);
\ No newline at end of file</diff>
      <filename>public/javascripts/application.js</filename>
    </modified>
    <modified>
      <diff>@@ -1,32 +1,19 @@
 /*
- * jQuery 1.2.6 - New Wave Javascript
+ * jQuery JavaScript Library v1.3
+ * http://jquery.com/
  *
- * Copyright (c) 2008 John Resig (jquery.com)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
+ * Copyright (c) 2009 John Resig
+ * Dual licensed under the MIT and GPL licenses.
+ * http://docs.jquery.com/License
  *
- * $Date: 2008/05/26 $
- * $Rev: 5685 $
+ * Date: 2009-01-13 12:50:31 -0500 (Tue, 13 Jan 2009)
+ * Revision: 6104
  */
-(function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^&lt;]*(&lt;(.|\s)+&gt;)[^&gt;]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}if(typeof selector==&quot;string&quot;){var match=quickExpr.exec(selector);if(match&amp;&amp;(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem){if(elem.id!=match[3])return jQuery().find(selector);return jQuery(elem);}selector=[];}}else
-return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return jQuery(document)[jQuery.fn.ready?&quot;ready&quot;:&quot;load&quot;](selector);return this.setArray(jQuery.makeArray(selector));},jquery:&quot;1.2.6&quot;,size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;return jQuery.inArray(elem&amp;&amp;elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value===undefined)return this[0]&amp;&amp;jQuery[type||&quot;attr&quot;](this[0],name);else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&amp;&amp;parseFloat(value)&lt;0)value=undefined;return this.attr(key,value,&quot;curCSS&quot;);},text:function(text){if(typeof text!=&quot;object&quot;&amp;&amp;text!=null)return this.empty().append((this[0]&amp;&amp;this[0].ownerDocument||document).createTextNode(text));var ret=&quot;&quot;;jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+&gt;] [^+&gt;]/.test(selector)||selector.indexOf(&quot;..&quot;)&gt;-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&amp;&amp;!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement(&quot;div&quot;);container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else
-return this.cloneNode(true);});var clone=ret.find(&quot;*&quot;).andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find(&quot;*&quot;).andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,&quot;events&quot;);for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&amp;&amp;jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else
-selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&amp;&amp;selector[selector.length-1]!==undefined&amp;&amp;!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)&lt;0:this!=selector;});},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&amp;&amp;jQuery.multiFilter(selector,this).length&gt;0;},hasClass:function(selector){return this.is(&quot;.&quot;+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,&quot;select&quot;)){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type==&quot;select-one&quot;;if(index&lt;0)return null;for(var i=one?index:0,max=one?index+1:options.length;i&lt;max;i++){var option=options[i];if(option.selected){value=jQuery.browser.msie&amp;&amp;!option.attributes.value.specified?option.text:option.value;if(one)return value;values.push(value);}}return values;}else
-return(this[0].value||&quot;&quot;).replace(/\r/g,&quot;&quot;);}return undefined;}if(value.constructor==Number)value+='';return this.each(function(){if(this.nodeType!=1)return;if(value.constructor==Array&amp;&amp;/radio|checkbox/.test(this.type))this.checked=(jQuery.inArray(this.value,value)&gt;=0||jQuery.inArray(this.name,value)&gt;=0);else if(jQuery.nodeName(this,&quot;select&quot;)){var values=jQuery.makeArray(value);jQuery(&quot;option&quot;,this).each(function(){this.selected=(jQuery.inArray(this.value,values)&gt;=0||jQuery.inArray(this.text,values)&gt;=0);});if(!values.length)this.selectedIndex=-1;}else
-this.value=value;});},html:function(value){return value==undefined?(this[0]?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(&quot;.&quot;);parts[1]=parts[1]?&quot;.&quot;+parts[1]:&quot;&quot;;if(value===undefined){var data=this.triggerHandler(&quot;getData&quot;+parts[1]+&quot;!&quot;,[parts[0]]);if(data===undefined&amp;&amp;this.length)data=jQuery.data(this[0],key);return data===undefined&amp;&amp;parts[1]?this.data(parts[0]):data;}else
-return this.trigger(&quot;setData&quot;+parts[1]+&quot;!&quot;,[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length&gt;1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&amp;&amp;jQuery.nodeName(this,&quot;table&quot;)&amp;&amp;jQuery.nodeName(elems[0],&quot;tr&quot;))obj=this.getElementsByTagName(&quot;tbody&quot;)[0]||this.appendChild(this.ownerDocument.createElement(&quot;tbody&quot;));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,&quot;script&quot;))scripts=scripts.add(elem);else{if(elem.nodeType==1)scripts=scripts.add(jQuery(&quot;script&quot;,elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:&quot;script&quot;});else
-jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||&quot;&quot;);if(elem.parentNode)elem.parentNode.removeChild(elem);}function now(){return+new Date;}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!=&quot;object&quot;&amp;&amp;typeof target!=&quot;function&quot;)target={};if(length==i){target=this;--i;}for(;i&lt;length;i++)if((options=arguments[i])!=null)for(var name in options){var src=target[name],copy=options[name];if(target===copy)continue;if(deep&amp;&amp;copy&amp;&amp;typeof copy==&quot;object&quot;&amp;&amp;!copy.nodeType)target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)target[name]=copy;}return target;};var expando=&quot;jQuery&quot;+now(),uuid=0,windowData={},exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{};jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)window.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&amp;&amp;typeof fn!=&quot;string&quot;&amp;&amp;!fn.nodeName&amp;&amp;fn.constructor!=Array&amp;&amp;/^[\s[]?function/.test(fn+&quot;&quot;);},isXMLDoc:function(elem){return elem.documentElement&amp;&amp;!elem.body||elem.tagName&amp;&amp;elem.ownerDocument&amp;&amp;!elem.ownerDocument.body;},globalEval:function(data){data=jQuery.trim(data);if(data){var head=document.getElementsByTagName(&quot;head&quot;)[0]||document.documentElement,script=document.createElement(&quot;script&quot;);script.type=&quot;text/javascript&quot;;if(jQuery.browser.msie)script.text=data;else
-script.appendChild(document.createTextNode(data));head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&amp;&amp;elem.nodeName.toUpperCase()==name.toUpperCase();},cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)id=elem[expando]=++uuid;if(name&amp;&amp;!jQuery.cache[id])jQuery.cache[id]={};if(data!==undefined)jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name=&quot;&quot;;for(name in jQuery.cache[id])break;if(!name)jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)elem.removeAttribute(expando);}delete jQuery.cache[id];}},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length==undefined){for(name in object)if(callback.apply(object[name],args)===false)break;}else
-for(;i&lt;length;)if(callback.apply(object[i++],args)===false)break;}else{if(length==undefined){for(name in object)if(callback.call(object[name],name,object[name])===false)break;}else
-for(var value=object[0];i&lt;length&amp;&amp;callback.call(value,i,value)!==false;value=object[++i]){}}return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))value=value.call(elem,i);return value&amp;&amp;value.constructor==Number&amp;&amp;type==&quot;curCSS&quot;&amp;&amp;!exclude.test(name)?value+&quot;px&quot;:value;},className:{add:function(elem,classNames){jQuery.each((classNames||&quot;&quot;).split(/\s+/),function(i,className){if(elem.nodeType==1&amp;&amp;!jQuery.className.has(elem.className,className))elem.className+=(elem.className?&quot; &quot;:&quot;&quot;)+className;});},remove:function(elem,classNames){if(elem.nodeType==1)elem.className=classNames!=undefined?jQuery.grep(elem.className.split(/\s+/),function(className){return!jQuery.className.has(classNames,className);}).join(&quot; &quot;):&quot;&quot;;},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))&gt;-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name==&quot;width&quot;||name==&quot;height&quot;){var val,props={position:&quot;absolute&quot;,visibility:&quot;hidden&quot;,display:&quot;block&quot;},which=name==&quot;width&quot;?[&quot;Left&quot;,&quot;Right&quot;]:[&quot;Top&quot;,&quot;Bottom&quot;];function getWH(){val=name==&quot;width&quot;?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,&quot;padding&quot;+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,&quot;border&quot;+this+&quot;Width&quot;,true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(&quot;:visible&quot;))getWH();else
-jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;function color(elem){if(!jQuery.browser.safari)return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue(&quot;color&quot;)==&quot;&quot;;}if(name==&quot;opacity&quot;&amp;&amp;jQuery.browser.msie){ret=jQuery.attr(style,&quot;opacity&quot;);return ret==&quot;&quot;?&quot;1&quot;:ret;}if(jQuery.browser.opera&amp;&amp;name==&quot;display&quot;){var save=style.outline;style.outline=&quot;0 solid black&quot;;style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&amp;&amp;style&amp;&amp;style[name])ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))name=&quot;float&quot;;name=name.replace(/([A-Z])/g,&quot;-$1&quot;).toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&amp;&amp;!color(elem))ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&amp;&amp;color(a);a=a.parentNode)stack.unshift(a);for(;i&lt;stack.length;i++)if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].style.display=&quot;block&quot;;}ret=name==&quot;display&quot;&amp;&amp;swap[stack.length-1]!=null?&quot;none&quot;:(computedStyle&amp;&amp;computedStyle.getPropertyValue(name))||&quot;&quot;;for(i=0;i&lt;swap.length;i++)if(swap[i]!=null)stack[i].style.display=swap[i];}if(name==&quot;opacity&quot;&amp;&amp;ret==&quot;&quot;)ret=&quot;1&quot;;}else if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter){return letter.toUpperCase();});ret=elem.currentStyle[name]||elem.currentStyle[camelCase];if(!/^\d+(px)?$/i.test(ret)&amp;&amp;/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+&quot;px&quot;;style.left=left;elem.runtimeStyle.left=rsLeft;}}return ret;},clean:function(elems,context){var ret=[];context=context||document;if(typeof context.createElement=='undefined')context=context.ownerDocument||context[0]&amp;&amp;context[0].ownerDocument||document;jQuery.each(elems,function(i,elem){if(!elem)return;if(elem.constructor==Number)elem+='';if(typeof elem==&quot;string&quot;){elem=elem.replace(/(&lt;(\w+)[^&gt;]*?)\/&gt;/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+&quot;&gt;&lt;/&quot;+tag+&quot;&gt;&quot;;});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement(&quot;div&quot;);var wrap=!tags.indexOf(&quot;&lt;opt&quot;)&amp;&amp;[1,&quot;&lt;select multiple='multiple'&gt;&quot;,&quot;&lt;/select&gt;&quot;]||!tags.indexOf(&quot;&lt;leg&quot;)&amp;&amp;[1,&quot;&lt;fieldset&gt;&quot;,&quot;&lt;/fieldset&gt;&quot;]||tags.match(/^&lt;(thead|tbody|tfoot|colg|cap)/)&amp;&amp;[1,&quot;&lt;table&gt;&quot;,&quot;&lt;/table&gt;&quot;]||!tags.indexOf(&quot;&lt;tr&quot;)&amp;&amp;[2,&quot;&lt;table&gt;&lt;tbody&gt;&quot;,&quot;&lt;/tbody&gt;&lt;/table&gt;&quot;]||(!tags.indexOf(&quot;&lt;td&quot;)||!tags.indexOf(&quot;&lt;th&quot;))&amp;&amp;[3,&quot;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&quot;,&quot;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&quot;]||!tags.indexOf(&quot;&lt;col&quot;)&amp;&amp;[2,&quot;&lt;table&gt;&lt;tbody&gt;&lt;/tbody&gt;&lt;colgroup&gt;&quot;,&quot;&lt;/colgroup&gt;&lt;/table&gt;&quot;]||jQuery.browser.msie&amp;&amp;[1,&quot;div&lt;div&gt;&quot;,&quot;&lt;/div&gt;&quot;]||[0,&quot;&quot;,&quot;&quot;];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf(&quot;&lt;table&quot;)&amp;&amp;tags.indexOf(&quot;&lt;tbody&quot;)&lt;0?div.firstChild&amp;&amp;div.firstChild.childNodes:wrap[1]==&quot;&lt;table&gt;&quot;&amp;&amp;tags.indexOf(&quot;&lt;tbody&quot;)&lt;0?div.childNodes:[];for(var j=tbody.length-1;j&gt;=0;--j)if(jQuery.nodeName(tbody[j],&quot;tbody&quot;)&amp;&amp;!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&amp;&amp;(!jQuery.nodeName(elem,&quot;form&quot;)&amp;&amp;!jQuery.nodeName(elem,&quot;select&quot;)))return;if(elem[0]==undefined||jQuery.nodeName(elem,&quot;form&quot;)||elem.options)ret.push(elem);else
-ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&amp;&amp;jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name==&quot;selected&quot;&amp;&amp;jQuery.browser.safari)elem.parentNode.selectedIndex;if(name in elem&amp;&amp;notxml&amp;&amp;!special){if(set){if(name==&quot;type&quot;&amp;&amp;jQuery.nodeName(elem,&quot;input&quot;)&amp;&amp;elem.parentNode)throw&quot;type property can't be changed&quot;;elem[name]=value;}if(jQuery.nodeName(elem,&quot;form&quot;)&amp;&amp;elem.getAttributeNode(name))return elem.getAttributeNode(name).nodeValue;return elem[name];}if(msie&amp;&amp;notxml&amp;&amp;name==&quot;style&quot;)return jQuery.attr(elem.style,&quot;cssText&quot;,value);if(set)elem.setAttribute(name,&quot;&quot;+value);var attr=msie&amp;&amp;notxml&amp;&amp;special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}if(msie&amp;&amp;name==&quot;opacity&quot;){if(set){elem.zoom=1;elem.filter=(elem.filter||&quot;&quot;).replace(/alpha\([^)]*\)/,&quot;&quot;)+(parseInt(value)+''==&quot;NaN&quot;?&quot;&quot;:&quot;alpha(opacity=&quot;+value*100+&quot;)&quot;);}return elem.filter&amp;&amp;elem.filter.indexOf(&quot;opacity=&quot;)&gt;=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':&quot;&quot;;}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)elem[name]=value;return elem[name];},trim:function(text){return(text||&quot;&quot;).replace(/^\s+|\s+$/g,&quot;&quot;);},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)ret[0]=array;else
-while(i)ret[--i]=array[i];}return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i&lt;length;i++)if(array[i]===elem)return i;return-1;},merge:function(first,second){var i=0,elem,pos=first.length;if(jQuery.browser.msie){while(elem=second[i++])if(elem.nodeType!=8)first[pos++]=elem;}else
-while(elem=second[i++])first[pos++]=elem;return first;},unique:function(array){var ret=[],done={};try{for(var i=0,length=array.length;i&lt;length;i++){var id=jQuery.data(array[i]);if(!done[id]){done[id]=true;ret.push(array[i]);}}}catch(e){ret=array;}return ret;},grep:function(elems,callback,inv){var ret=[];for(var i=0,length=elems.length;i&lt;length;i++)if(!inv!=!callback(elems[i],i))ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i&lt;length;i++){var value=callback(elems[i],i);if(value!=null)ret[ret.length]=value;}return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&amp;&amp;!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&amp;&amp;!/(compatible|webkit)/.test(userAgent)};var styleFloat=jQuery.browser.msie?&quot;styleFloat&quot;:&quot;cssFloat&quot;;jQuery.extend({boxModel:!jQuery.browser.msie||document.compatMode==&quot;CSS1Compat&quot;,props:{&quot;for&quot;:&quot;htmlFor&quot;,&quot;class&quot;:&quot;className&quot;,&quot;float&quot;:styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:&quot;readOnly&quot;,maxlength:&quot;maxLength&quot;,cellspacing:&quot;cellSpacing&quot;}});jQuery.each({parent:function(elem){return elem.parentNode;},parents:function(elem){return jQuery.dir(elem,&quot;parentNode&quot;);},next:function(elem){return jQuery.nth(elem,2,&quot;nextSibling&quot;);},prev:function(elem){return jQuery.nth(elem,2,&quot;previousSibling&quot;);},nextAll:function(elem){return jQuery.dir(elem,&quot;nextSibling&quot;);},prevAll:function(elem){return jQuery.dir(elem,&quot;previousSibling&quot;);},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,&quot;iframe&quot;)?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(selector){var ret=jQuery.map(this,fn);if(selector&amp;&amp;typeof selector==&quot;string&quot;)ret=jQuery.multiFilter(selector,ret);return this.pushStack(jQuery.unique(ret));};});jQuery.each({appendTo:&quot;append&quot;,prependTo:&quot;prepend&quot;,insertBefore:&quot;before&quot;,insertAfter:&quot;after&quot;,replaceAll:&quot;replaceWith&quot;},function(name,original){jQuery.fn[name]=function(){var args=arguments;return this.each(function(){for(var i=0,length=args.length;i&lt;length;i++)jQuery(args[i])[original](this);});};});jQuery.each({removeAttr:function(name){jQuery.attr(this,name,&quot;&quot;);if(this.nodeType==1)this.removeAttribute(name);},addClass:function(classNames){jQuery.className.add(this,classNames);},removeClass:function(classNames){jQuery.className.remove(this,classNames);},toggleClass:function(classNames){jQuery.className[jQuery.className.has(this,classNames)?&quot;remove&quot;:&quot;add&quot;](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).r.length){jQuery(&quot;*&quot;,this).add(this).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)this.parentNode.removeChild(this);}},empty:function(){jQuery(&quot;&gt;*&quot;,this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each([&quot;Height&quot;,&quot;Width&quot;],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&amp;&amp;document.body[&quot;client&quot;+name]||jQuery.browser.safari&amp;&amp;window[&quot;inner&quot;+name]||document.compatMode==&quot;CSS1Compat&quot;&amp;&amp;document.documentElement[&quot;client&quot;+name]||document.body[&quot;client&quot;+name]:this[0]==document?Math.max(Math.max(document.body[&quot;scroll&quot;+name],document.documentElement[&quot;scroll&quot;+name]),Math.max(document.body[&quot;offset&quot;+name],document.documentElement[&quot;offset&quot;+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+&quot;px&quot;);};});function num(elem,prop){return elem[0]&amp;&amp;parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var chars=jQuery.browser.safari&amp;&amp;parseInt(jQuery.browser.version)&lt;417?&quot;(?:[\\w*_-]|\\\\.)&quot;:&quot;(?:[\\w\u0128-\uFFFF*_-]|\\\\.)&quot;,quickChild=new RegExp(&quot;^&gt;\\s*(&quot;+chars+&quot;+)&quot;),quickID=new RegExp(&quot;^(&quot;+chars+&quot;+)(#)(&quot;+chars+&quot;+)&quot;),quickClass=new RegExp(&quot;^([#.]?)(&quot;+chars+&quot;*)&quot;);jQuery.extend({expr:{&quot;&quot;:function(a,i,m){return m[2]==&quot;*&quot;||jQuery.nodeName(a,m[2]);},&quot;#&quot;:function(a,i,m){return a.getAttribute(&quot;id&quot;)==m[2];},&quot;:&quot;:{lt:function(a,i,m){return i&lt;m[3]-0;},gt:function(a,i,m){return i&gt;m[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},&quot;first-child&quot;:function(a){return a.parentNode.getElementsByTagName(&quot;*&quot;)[0]==a;},&quot;last-child&quot;:function(a){return jQuery.nth(a.parentNode.lastChild,1,&quot;previousSibling&quot;)==a;},&quot;only-child&quot;:function(a){return!jQuery.nth(a.parentNode.lastChild,2,&quot;previousSibling&quot;);},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||&quot;&quot;).indexOf(m[3])&gt;=0;},visible:function(a){return&quot;hidden&quot;!=a.type&amp;&amp;jQuery.css(a,&quot;display&quot;)!=&quot;none&quot;&amp;&amp;jQuery.css(a,&quot;visibility&quot;)!=&quot;hidden&quot;;},hidden:function(a){return&quot;hidden&quot;==a.type||jQuery.css(a,&quot;display&quot;)==&quot;none&quot;||jQuery.css(a,&quot;visibility&quot;)==&quot;hidden&quot;;},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,&quot;selected&quot;);},text:function(a){return&quot;text&quot;==a.type;},radio:function(a){return&quot;radio&quot;==a.type;},checkbox:function(a){return&quot;checkbox&quot;==a.type;},file:function(a){return&quot;file&quot;==a.type;},password:function(a){return&quot;password&quot;==a.type;},submit:function(a){return&quot;submit&quot;==a.type;},image:function(a){return&quot;image&quot;==a.type;},reset:function(a){return&quot;reset&quot;==a.type;},button:function(a){return&quot;button&quot;==a.type||jQuery.nodeName(a,&quot;button&quot;);},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?&quot;?)(.*?)\4 *\]/,/^(:)([\w-]+)\(&quot;?'?(.*?(\(.*?\))?[^(]*?)&quot;?'?\)/,new RegExp(&quot;^([:.#]*)(&quot;+chars+&quot;+)&quot;)],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&amp;&amp;expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,&quot;&quot;);cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!=&quot;string&quot;)return[t];if(context&amp;&amp;context.nodeType!=1&amp;&amp;context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&amp;&amp;last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false,re=quickChild,m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&amp;&amp;(nodeName==&quot;*&quot;||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,&quot;&quot;);if(t.indexOf(&quot; &quot;)==0)continue;foundToken=true;}else{re=/^([&gt;+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j&lt;rl;j++){var n=m==&quot;~&quot;||m==&quot;+&quot;?ret[j].nextSibling:ret[j].firstChild;for(;n;n=n.nextSibling)if(n.nodeType==1){var id=jQuery.data(n);if(m==&quot;~&quot;&amp;&amp;merge[id])break;if(!nodeName||n.nodeName.toUpperCase()==nodeName){if(m==&quot;~&quot;)merge[id]=true;r.push(n);}if(m==&quot;+&quot;)break;}}ret=r;t=jQuery.trim(t.replace(re,&quot;&quot;));foundToken=true;}}if(t&amp;&amp;!foundToken){if(!t.indexOf(&quot;,&quot;)){if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[context];t=&quot; &quot;+t.substr(1,t.length);}else{var re2=quickID;var m=re2.exec(t);if(m){m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}m[2]=m[2].replace(/\\/g,&quot;&quot;);var elem=ret[ret.length-1];if(m[1]==&quot;#&quot;&amp;&amp;elem&amp;&amp;elem.getElementById&amp;&amp;!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.opera)&amp;&amp;oid&amp;&amp;typeof oid.id==&quot;string&quot;&amp;&amp;oid.id!=m[2])oid=jQuery('[@id=&quot;'+m[2]+'&quot;]',elem)[0];ret=r=oid&amp;&amp;(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[];}else{for(var i=0;ret[i];i++){var tag=m[1]==&quot;#&quot;&amp;&amp;m[3]?m[3]:m[1]!=&quot;&quot;||m[0]==&quot;&quot;?&quot;*&quot;:m[2];if(tag==&quot;*&quot;&amp;&amp;ret[i].nodeName.toLowerCase()==&quot;object&quot;)tag=&quot;param&quot;;r=jQuery.merge(r,ret[i].getElementsByTagName(tag));}if(m[1]==&quot;.&quot;)r=jQuery.classFilter(r,m[2]);if(m[1]==&quot;#&quot;){var tmp=[];for(var i=0;r[i];i++)if(r[i].getAttribute(&quot;id&quot;)==m[2]){tmp=[r[i]];break;}r=tmp;}ret=r;}t=t.replace(re2,&quot;&quot;);}}if(t){var val=jQuery.filter(t,r);ret=r=val.r;t=jQuery.trim(val.t);}}if(t)ret=[];if(ret&amp;&amp;context==ret[0])ret.shift();done=jQuery.merge(done,ret);return done;},classFilter:function(r,m,not){m=&quot; &quot;+m+&quot; &quot;;var tmp=[];for(var i=0;r[i];i++){var pass=(&quot; &quot;+r[i].className+&quot; &quot;).indexOf(m)&gt;=0;if(!not&amp;&amp;pass||not&amp;&amp;!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&amp;&amp;t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,&quot;&quot;);break;}}if(!m)break;if(m[1]==&quot;:&quot;&amp;&amp;m[2]==&quot;not&quot;)r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==&quot;.&quot;)r=jQuery.classFilter(r,m[2],not);else if(m[1]==&quot;[&quot;){var tmp=[],type=m[3];for(var i=0,rl=r.length;i&lt;rl;i++){var a=r[i],z=a[jQuery.props[m[2]]||m[2]];if(z==null||/href|src|selected/.test(m[2]))z=jQuery.attr(a,m[2])||'';if((type==&quot;&quot;&amp;&amp;!!z||type==&quot;=&quot;&amp;&amp;z==m[5]||type==&quot;!=&quot;&amp;&amp;z!=m[5]||type==&quot;^=&quot;&amp;&amp;z&amp;&amp;!z.indexOf(m[5])||type==&quot;$=&quot;&amp;&amp;z.substr(z.length-m[5].length)==m[5]||(type==&quot;*=&quot;||type==&quot;~=&quot;)&amp;&amp;z.indexOf(m[5])&gt;=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==&quot;:&quot;&amp;&amp;m[2]==&quot;nth-child&quot;){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]==&quot;even&quot;&amp;&amp;&quot;2n&quot;||m[3]==&quot;odd&quot;&amp;&amp;&quot;2n+1&quot;||!/\D/.test(m[3])&amp;&amp;&quot;0n+&quot;+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i&lt;rl;i++){var node=r[i],parentNode=node.parentNode,id=jQuery.data(parentNode);if(!merge[id]){var c=1;for(var n=parentNode.firstChild;n;n=n.nextSibling)if(n.nodeType==1)n.nodeIndex=c++;merge[id]=true;}var add=false;if(first==0){if(node.nodeIndex==last)add=true;}else if((node.nodeIndex-last)%first==0&amp;&amp;(node.nodeIndex-last)/first&gt;=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn==&quot;object&quot;)fn=fn[m[2]];if(typeof fn==&quot;string&quot;)fn=eval(&quot;false||function(a,i){return &quot;+fn+&quot;;}&quot;);r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[],cur=elem[dir];while(cur&amp;&amp;cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&amp;&amp;++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&amp;&amp;n!=elem)r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&amp;&amp;elem.setInterval)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}var events=jQuery.data(elem,&quot;events&quot;)||jQuery.data(elem,&quot;events&quot;,{}),handle=jQuery.data(elem,&quot;handle&quot;)||jQuery.data(elem,&quot;handle&quot;,function(){if(typeof jQuery!=&quot;undefined&quot;&amp;&amp;!jQuery.event.triggered)return jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(&quot;.&quot;);type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent(&quot;on&quot;+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,&quot;events&quot;),ret,index;if(events){if(types==undefined||(typeof types==&quot;string&quot;&amp;&amp;types.charAt(0)==&quot;.&quot;))for(var type in events)this.remove(elem,type+(types||&quot;&quot;));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(&quot;.&quot;);type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else
-for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,&quot;handle&quot;),false);else if(elem.detachEvent)elem.detachEvent(&quot;on&quot;+type,jQuery.data(elem,&quot;handle&quot;));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,&quot;handle&quot;);if(handle)handle.elem=null;jQuery.removeData(elem,&quot;events&quot;);jQuery.removeData(elem,&quot;handle&quot;);}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data);if(type.indexOf(&quot;!&quot;)&gt;=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery(&quot;*&quot;).add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}data[0].type=type;if(exclusive)data[0].exclusive=true;var handle=jQuery.data(elem,&quot;handle&quot;);if(handle)val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&amp;&amp;type==&quot;click&quot;))&amp;&amp;elem[&quot;on&quot;+type]&amp;&amp;elem[&quot;on&quot;+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&amp;&amp;jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&amp;&amp;donative!==false&amp;&amp;val!==false&amp;&amp;!(jQuery.nodeName(elem,'a')&amp;&amp;type==&quot;click&quot;)){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(&quot;.&quot;);event.type=namespace[0];namespace=namespace[1];all=!namespace&amp;&amp;!event.exclusive;handlers=(jQuery.data(this,&quot;events&quot;)||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}return val;},fix:function(event){if(event[expando]==true)return event;var originalEvent=event;event={originalEvent:originalEvent};var props=&quot;altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which&quot;.split(&quot; &quot;);for(var i=props.length;i;i--)event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=event.target.parentNode;if(!event.relatedTarget&amp;&amp;event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&amp;&amp;event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&amp;&amp;doc.scrollLeft||body&amp;&amp;body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&amp;&amp;doc.scrollTop||body&amp;&amp;body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&amp;&amp;((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&amp;&amp;event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&amp;&amp;event.button)event.which=(event.button&amp;1?1:(event.button&amp;2?3:(event.button&amp;4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind(&quot;mouseover&quot;,jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind(&quot;mouseover&quot;,jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type=&quot;mouseenter&quot;;return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind(&quot;mouseout&quot;,jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind(&quot;mouseout&quot;,jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type=&quot;mouseleave&quot;;return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type==&quot;unload&quot;?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&amp;&amp;data);});},one:function(type,data,fn){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&amp;&amp;data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){return this[0]&amp;&amp;jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i&lt;args.length)jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)fn.call(document,jQuery);else
-jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document);});jQuery.readyList=null;}jQuery(document).triggerHandler(&quot;ready&quot;);}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&amp;&amp;!jQuery.browser.opera)document.addEventListener(&quot;DOMContentLoaded&quot;,jQuery.ready,false);if(jQuery.browser.msie&amp;&amp;window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll(&quot;left&quot;);}catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();if(jQuery.browser.opera)document.addEventListener(&quot;DOMContentLoaded&quot;,function(){if(jQuery.isReady)return;for(var i=0;i&lt;document.styleSheets.length;i++)if(document.styleSheets[i].disabled){setTimeout(arguments.callee,0);return;}jQuery.ready();},false);if(jQuery.browser.safari){var numStyles;(function(){if(jQuery.isReady)return;if(document.readyState!=&quot;loaded&quot;&amp;&amp;document.readyState!=&quot;complete&quot;){setTimeout(arguments.callee,0);return;}if(numStyles===undefined)numStyles=jQuery(&quot;style, link[rel=stylesheet]&quot;).length;if(document.styleSheets.length!=numStyles){setTimeout(arguments.callee,0);return;}jQuery.ready();})();}jQuery.event.add(window,&quot;load&quot;,jQuery.ready);}jQuery.each((&quot;blur,focus,load,resize,scroll,unload,click,dblclick,&quot;+&quot;mousedown,mouseup,mousemove,mouseover,mouseout,change,select,&quot;+&quot;submit,keydown,keypress,keyup,error&quot;).split(&quot;,&quot;),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});var withinElement=function(event,elem){var parent=event.relatedTarget;while(parent&amp;&amp;parent!=elem)try{parent=parent.parentNode;}catch(error){parent=elem;}return parent==elem;};jQuery(window).bind(&quot;unload&quot;,function(){jQuery(&quot;*&quot;).add(document).unbind();});jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!='string')return this._load(url);var off=url.indexOf(&quot; &quot;);if(off&gt;=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type=&quot;GET&quot;;if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type=&quot;POST&quot;;}var self=this;jQuery.ajax({url:url,type:type,dataType:&quot;html&quot;,data:params,complete:function(res,status){if(status==&quot;success&quot;||status==&quot;notmodified&quot;)self.html(selector?jQuery(&quot;&lt;div/&gt;&quot;).append(res.responseText.replace(/&lt;script(.|\s)*?\/script&gt;/g,&quot;&quot;)).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,&quot;form&quot;)?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&amp;&amp;!this.disabled&amp;&amp;(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each(&quot;ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend&quot;.split(&quot;,&quot;),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:&quot;GET&quot;,url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,&quot;script&quot;);},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,&quot;json&quot;);},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:&quot;POST&quot;,url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{url:location.href,global:true,type:&quot;GET&quot;,timeout:0,contentType:&quot;application/x-www-form-urlencoded&quot;,processData:true,async:true,data:null,username:null,password:null,accepts:{xml:&quot;application/xml, text/xml&quot;,html:&quot;text/html&quot;,script:&quot;text/javascript, application/javascript&quot;,json:&quot;application/json, text/javascript&quot;,text:&quot;text/plain&quot;,_default:&quot;*/*&quot;}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&amp;|$)/g,status,data,type=s.type.toUpperCase();if(s.data&amp;&amp;s.processData&amp;&amp;typeof s.data!=&quot;string&quot;)s.data=jQuery.param(s.data);if(s.dataType==&quot;jsonp&quot;){if(type==&quot;GET&quot;){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?&quot;&amp;&quot;:&quot;?&quot;)+(s.jsonp||&quot;callback&quot;)+&quot;=?&quot;;}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+&quot;&amp;&quot;:&quot;&quot;)+(s.jsonp||&quot;callback&quot;)+&quot;=?&quot;;s.dataType=&quot;json&quot;;}if(s.dataType==&quot;json&quot;&amp;&amp;(s.data&amp;&amp;s.data.match(jsre)||s.url.match(jsre))){jsonp=&quot;jsonp&quot;+jsc++;if(s.data)s.data=(s.data+&quot;&quot;).replace(jsre,&quot;=&quot;+jsonp+&quot;$1&quot;);s.url=s.url.replace(jsre,&quot;=&quot;+jsonp+&quot;$1&quot;);s.dataType=&quot;script&quot;;window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType==&quot;script&quot;&amp;&amp;s.cache==null)s.cache=false;if(s.cache===false&amp;&amp;type==&quot;GET&quot;){var ts=now();var ret=s.url.replace(/(\?|&amp;)_=.*?(&amp;|$)/,&quot;$1_=&quot;+ts+&quot;$2&quot;);s.url=ret+((ret==s.url)?(s.url.match(/\?/)?&quot;&amp;&quot;:&quot;?&quot;)+&quot;_=&quot;+ts:&quot;&quot;);}if(s.data&amp;&amp;type==&quot;GET&quot;){s.url+=(s.url.match(/\?/)?&quot;&amp;&quot;:&quot;?&quot;)+s.data;s.data=null;}if(s.global&amp;&amp;!jQuery.active++)jQuery.event.trigger(&quot;ajaxStart&quot;);var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType==&quot;script&quot;&amp;&amp;type==&quot;GET&quot;&amp;&amp;remote.test(s.url)&amp;&amp;remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName(&quot;head&quot;)[0];var script=document.createElement(&quot;script&quot;);script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&amp;&amp;(!this.readyState||this.readyState==&quot;loaded&quot;||this.readyState==&quot;complete&quot;)){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xhr=window.ActiveXObject?new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;):new XMLHttpRequest();if(s.username)xhr.open(type,s.url,s.async,s.username,s.password);else
-xhr.open(type,s.url,s.async);try{if(s.data)xhr.setRequestHeader(&quot;Content-Type&quot;,s.contentType);if(s.ifModified)xhr.setRequestHeader(&quot;If-Modified-Since&quot;,jQuery.lastModified[s.url]||&quot;Thu, 01 Jan 1970 00:00:00 GMT&quot;);xhr.setRequestHeader(&quot;X-Requested-With&quot;,&quot;XMLHttpRequest&quot;);xhr.setRequestHeader(&quot;Accept&quot;,s.dataType&amp;&amp;s.accepts[s.dataType]?s.accepts[s.dataType]+&quot;, */*&quot;:s.accepts._default);}catch(e){}if(s.beforeSend&amp;&amp;s.beforeSend(xhr,s)===false){s.global&amp;&amp;jQuery.active--;xhr.abort();return false;}if(s.global)jQuery.event.trigger(&quot;ajaxSend&quot;,[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&amp;&amp;xhr&amp;&amp;(xhr.readyState==4||isTimeout==&quot;timeout&quot;)){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout==&quot;timeout&quot;&amp;&amp;&quot;timeout&quot;||!jQuery.httpSuccess(xhr)&amp;&amp;&quot;error&quot;||s.ifModified&amp;&amp;jQuery.httpNotModified(xhr,s.url)&amp;&amp;&quot;notmodified&quot;||&quot;success&quot;;if(status==&quot;success&quot;){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status=&quot;parsererror&quot;;}}if(status==&quot;success&quot;){var modRes;try{modRes=xhr.getResponseHeader(&quot;Last-Modified&quot;);}catch(e){}if(s.ifModified&amp;&amp;modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else
-jQuery.handleError(s,xhr,status);complete();if(s.async)xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout&gt;0)setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)onreadystatechange(&quot;timeout&quot;);}},s.timeout);}try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger(&quot;ajaxSuccess&quot;,[xhr,s]);}function complete(){if(s.complete)s.complete(xhr,status);if(s.global)jQuery.event.trigger(&quot;ajaxComplete&quot;,[xhr,s]);if(s.global&amp;&amp;!--jQuery.active)jQuery.event.trigger(&quot;ajaxStop&quot;);}return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)jQuery.event.trigger(&quot;ajaxError&quot;,[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&amp;&amp;location.protocol==&quot;file:&quot;||(xhr.status&gt;=200&amp;&amp;xhr.status&lt;300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&amp;&amp;xhr.status==undefined;}catch(e){}return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader(&quot;Last-Modified&quot;);return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&amp;&amp;xhr.status==undefined;}catch(e){}return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader(&quot;content-type&quot;),xml=type==&quot;xml&quot;||!type&amp;&amp;ct&amp;&amp;ct.indexOf(&quot;xml&quot;)&gt;=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&amp;&amp;data.documentElement.tagName==&quot;parsererror&quot;)throw&quot;parsererror&quot;;if(filter)data=filter(data,type);if(type==&quot;script&quot;)jQuery.globalEval(data);if(type==&quot;json&quot;)data=eval(&quot;(&quot;+data+&quot;)&quot;);return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+&quot;=&quot;+encodeURIComponent(this.value));});else
-for(var j in a)if(a[j]&amp;&amp;a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+&quot;=&quot;+encodeURIComponent(this));});else
-s.push(encodeURIComponent(j)+&quot;=&quot;+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));return s.join(&quot;&amp;&quot;).replace(/%20/g,&quot;+&quot;);}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:&quot;show&quot;,width:&quot;show&quot;,opacity:&quot;show&quot;},speed,callback):this.filter(&quot;:hidden&quot;).each(function(){this.style.display=this.oldblock||&quot;&quot;;if(jQuery.css(this,&quot;display&quot;)==&quot;none&quot;){var elem=jQuery(&quot;&lt;&quot;+this.tagName+&quot; /&gt;&quot;).appendTo(&quot;body&quot;);this.style.display=elem.css(&quot;display&quot;);if(this.style.display==&quot;none&quot;)this.style.display=&quot;block&quot;;elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:&quot;hide&quot;,width:&quot;hide&quot;,opacity:&quot;hide&quot;},speed,callback):this.filter(&quot;:visible&quot;).each(function(){this.oldblock=this.oldblock||jQuery.css(this,&quot;display&quot;);this.style.display=&quot;none&quot;;}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&amp;&amp;jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn?this.animate({height:&quot;toggle&quot;,width:&quot;toggle&quot;,opacity:&quot;toggle&quot;},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(&quot;:hidden&quot;)?&quot;show&quot;:&quot;hide&quot;]();});},slideDown:function(speed,callback){return this.animate({height:&quot;show&quot;},speed,callback);},slideUp:function(speed,callback){return this.animate({height:&quot;hide&quot;},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:&quot;toggle&quot;},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:&quot;show&quot;},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:&quot;hide&quot;},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?&quot;each&quot;:&quot;queue&quot;](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall),p,hidden=jQuery(this).is(&quot;:hidden&quot;),self=this;for(p in prop){if(prop[p]==&quot;hide&quot;&amp;&amp;hidden||prop[p]==&quot;show&quot;&amp;&amp;!hidden)return opt.complete.call(this);if(p==&quot;height&quot;||p==&quot;width&quot;){opt.display=jQuery.css(this,&quot;display&quot;);opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow=&quot;hidden&quot;;opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val==&quot;toggle&quot;?hidden?&quot;show&quot;:&quot;hide&quot;:val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||&quot;px&quot;;if(unit!=&quot;px&quot;){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]==&quot;-=&quot;?-1:1)*end)+start;e.custom(start,end,unit);}else
-e.custom(start,val,&quot;&quot;);}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&amp;&amp;type.constructor==Array)){fn=type;type=&quot;fx&quot;;}if(!type||(typeof type==&quot;string&quot;&amp;&amp;!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.call(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i&gt;=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(elem){type=type||&quot;fx&quot;;var q=jQuery.data(elem,type+&quot;queue&quot;);if(!q||array)q=jQuery.data(elem,type+&quot;queue&quot;,jQuery.makeArray(array));}return q;};jQuery.fn.dequeue=function(type){type=type||&quot;fx&quot;;return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].call(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&amp;&amp;speed.constructor==Object?speed:{complete:fn||!fn&amp;&amp;easing||jQuery.isFunction(speed)&amp;&amp;speed,duration:speed,easing:fn&amp;&amp;easing||easing&amp;&amp;easing.constructor!=Function&amp;&amp;easing};opt.duration=(opt.duration&amp;&amp;opt.duration.constructor==Number?opt.duration:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.call(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop==&quot;height&quot;||this.prop==&quot;width&quot;)this.elem.style.display=&quot;block&quot;;},cur:function(force){if(this.elem[this.prop]!=null&amp;&amp;this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&amp;&amp;r&gt;-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||&quot;px&quot;;this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;i&lt;timers.length;i++)if(!timers[i]())timers.splice(i--,1);if(!timers.length){clearInterval(jQuery.timerId);jQuery.timerId=null;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(0,this.cur());if(this.prop==&quot;width&quot;||this.prop==&quot;height&quot;)this.elem.style[this.prop]=&quot;1px&quot;;jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();if(gotoEnd||t&gt;this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,&quot;display&quot;)==&quot;none&quot;)this.elem.style.display=&quot;block&quot;;}if(this.options.hide)this.elem.style.display=&quot;none&quot;;if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done)this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?&quot;swing&quot;:&quot;linear&quot;)](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},step:{scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,&quot;opacity&quot;,fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}}});jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&amp;&amp;parseInt(version)&lt;522&amp;&amp;!/adobeair/i.test(userAgent),css=jQuery.curCSS,fixed=css(elem,&quot;position&quot;)==&quot;fixed&quot;;if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&amp;&amp;!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&amp;&amp;!safari2)border(offsetParent);if(!fixed&amp;&amp;css(offsetParent,&quot;position&quot;)==&quot;fixed&quot;)fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&amp;&amp;parent.tagName&amp;&amp;!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,&quot;display&quot;)))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&amp;&amp;css(parent,&quot;overflow&quot;)!=&quot;visible&quot;)border(parent);parent=parent.parentNode;}if((safari2&amp;&amp;(fixed||css(offsetChild,&quot;position&quot;)==&quot;absolute&quot;))||(mozilla&amp;&amp;css(offsetChild,&quot;position&quot;)!=&quot;absolute&quot;))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,&quot;borderLeftWidth&quot;,true),jQuery.curCSS(elem,&quot;borderTopWidth&quot;,true));}function add(l,t){left+=parseInt(l,10)||0;top+=parseInt(t,10)||0;}return results;};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&amp;&amp;(!/^body|html$/i.test(offsetParent.tagName)&amp;&amp;jQuery.css(offsetParent,'position')=='static'))offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&amp;&amp;document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each([&quot;Height&quot;,&quot;Width&quot;],function(i,name){var tl=i?&quot;Left&quot;:&quot;Top&quot;,br=i?&quot;Right&quot;:&quot;Bottom&quot;;jQuery.fn[&quot;inner&quot;+name]=function(){return this[name.toLowerCase()]()+num(this,&quot;padding&quot;+tl)+num(this,&quot;padding&quot;+br);};jQuery.fn[&quot;outer&quot;+name]=function(margin){return this[&quot;inner&quot;+name]()+num(this,&quot;border&quot;+tl+&quot;Width&quot;)+num(this,&quot;border&quot;+br+&quot;Width&quot;)+(margin?num(this,&quot;margin&quot;+tl)+num(this,&quot;margin&quot;+br):0);};});})();
\ No newline at end of file
+(function(){var l=this,g,x=l.jQuery,o=l.$,n=l.jQuery=l.$=function(D,E){return new n.fn.init(D,E)},C=/^[^&lt;]*(&lt;(.|\s)+&gt;)[^&gt;]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;n.fn=n.prototype={init:function(D,G){D=D||document;if(D.nodeType){this[0]=D;this.length=1;this.context=D;return this}if(typeof D===&quot;string&quot;){var F=C.exec(D);if(F&amp;&amp;(F[1]||!G)){if(F[1]){D=n.clean([F[1]],G)}else{var H=document.getElementById(F[3]);if(H){if(H.id!=F[3]){return n().find(D)}var E=n(H);E.context=document;E.selector=D;return E}D=[]}}else{return n(G).find(D)}}else{if(n.isFunction(D)){return n(document).ready(D)}}if(D.selector&amp;&amp;D.context){this.selector=D.selector;this.context=D.context}return this.setArray(n.makeArray(D))},selector:&quot;&quot;,jquery:&quot;1.3&quot;,size:function(){return this.length},get:function(D){return D===g?n.makeArray(this):this[D]},pushStack:function(E,G,D){var F=n(E);F.prevObject=this;F.context=this.context;if(G===&quot;find&quot;){F.selector=this.selector+(this.selector?&quot; &quot;:&quot;&quot;)+D}else{if(G){F.selector=this.selector+&quot;.&quot;+G+&quot;(&quot;+D+&quot;)&quot;}}return F},setArray:function(D){this.length=0;Array.prototype.push.apply(this,D);return this},each:function(E,D){return n.each(this,E,D)},index:function(D){return n.inArray(D&amp;&amp;D.jquery?D[0]:D,this)},attr:function(E,G,F){var D=E;if(typeof E===&quot;string&quot;){if(G===g){return this[0]&amp;&amp;n[F||&quot;attr&quot;](this[0],E)}else{D={};D[E]=G}}return this.each(function(H){for(E in D){n.attr(F?this.style:this,E,n.prop(this,D[E],F,H,E))}})},css:function(D,E){if((D==&quot;width&quot;||D==&quot;height&quot;)&amp;&amp;parseFloat(E)&lt;0){E=g}return this.attr(D,E,&quot;curCSS&quot;)},text:function(E){if(typeof E!==&quot;object&quot;&amp;&amp;E!=null){return this.empty().append((this[0]&amp;&amp;this[0].ownerDocument||document).createTextNode(E))}var D=&quot;&quot;;n.each(E||this,function(){n.each(this.childNodes,function(){if(this.nodeType!=8){D+=this.nodeType!=1?this.nodeValue:n.fn.text([this])}})});return D},wrapAll:function(D){if(this[0]){var E=n(D,this[0].ownerDocument).clone();if(this[0].parentNode){E.insertBefore(this[0])}E.map(function(){var F=this;while(F.firstChild){F=F.firstChild}return F}).append(this)}return this},wrapInner:function(D){return this.each(function(){n(this).contents().wrapAll(D)})},wrap:function(D){return this.each(function(){n(this).wrapAll(D)})},append:function(){return this.domManip(arguments,true,function(D){if(this.nodeType==1){this.appendChild(D)}})},prepend:function(){return this.domManip(arguments,true,function(D){if(this.nodeType==1){this.insertBefore(D,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(D){this.parentNode.insertBefore(D,this)})},after:function(){return this.domManip(arguments,false,function(D){this.parentNode.insertBefore(D,this.nextSibling)})},end:function(){return this.prevObject||n([])},push:[].push,find:function(D){if(this.length===1&amp;&amp;!/,/.test(D)){var F=this.pushStack([],&quot;find&quot;,D);F.length=0;n.find(D,this[0],F);return F}else{var E=n.map(this,function(G){return n.find(D,G)});return this.pushStack(/[^+&gt;] [^+&gt;]/.test(D)?n.unique(E):E,&quot;find&quot;,D)}},clone:function(E){var D=this.map(function(){if(!n.support.noCloneEvent&amp;&amp;!n.isXMLDoc(this)){var H=this.cloneNode(true),G=document.createElement(&quot;div&quot;);G.appendChild(H);return n.clean([G.innerHTML])[0]}else{return this.cloneNode(true)}});var F=D.find(&quot;*&quot;).andSelf().each(function(){if(this[h]!==g){this[h]=null}});if(E===true){this.find(&quot;*&quot;).andSelf().each(function(H){if(this.nodeType==3){return}var G=n.data(this,&quot;events&quot;);for(var J in G){for(var I in G[J]){n.event.add(F[H],J,G[J][I],G[J][I].data)}}})}return D},filter:function(D){return this.pushStack(n.isFunction(D)&amp;&amp;n.grep(this,function(F,E){return D.call(F,E)})||n.multiFilter(D,n.grep(this,function(E){return E.nodeType===1})),&quot;filter&quot;,D)},closest:function(D){var E=n.expr.match.POS.test(D)?n(D):null;return this.map(function(){var F=this;while(F&amp;&amp;F.ownerDocument){if(E?E.index(F)&gt;-1:n(F).is(D)){return F}F=F.parentNode}})},not:function(D){if(typeof D===&quot;string&quot;){if(f.test(D)){return this.pushStack(n.multiFilter(D,this,true),&quot;not&quot;,D)}else{D=n.multiFilter(D,this)}}var E=D.length&amp;&amp;D[D.length-1]!==g&amp;&amp;!D.nodeType;return this.filter(function(){return E?n.inArray(this,D)&lt;0:this!=D})},add:function(D){return this.pushStack(n.unique(n.merge(this.get(),typeof D===&quot;string&quot;?n(D):n.makeArray(D))))},is:function(D){return !!D&amp;&amp;n.multiFilter(D,this).length&gt;0},hasClass:function(D){return !!D&amp;&amp;this.is(&quot;.&quot;+D)},val:function(J){if(J===g){var D=this[0];if(D){if(n.nodeName(D,&quot;option&quot;)){return(D.attributes.value||{}).specified?D.value:D.text}if(n.nodeName(D,&quot;select&quot;)){var H=D.selectedIndex,K=[],L=D.options,G=D.type==&quot;select-one&quot;;if(H&lt;0){return null}for(var E=G?H:0,I=G?H+1:L.length;E&lt;I;E++){var F=L[E];if(F.selected){J=n(F).val();if(G){return J}K.push(J)}}return K}return(D.value||&quot;&quot;).replace(/\r/g,&quot;&quot;)}return g}if(typeof J===&quot;number&quot;){J+=&quot;&quot;}return this.each(function(){if(this.nodeType!=1){return}if(n.isArray(J)&amp;&amp;/radio|checkbox/.test(this.type)){this.checked=(n.inArray(this.value,J)&gt;=0||n.inArray(this.name,J)&gt;=0)}else{if(n.nodeName(this,&quot;select&quot;)){var M=n.makeArray(J);n(&quot;option&quot;,this).each(function(){this.selected=(n.inArray(this.value,M)&gt;=0||n.inArray(this.text,M)&gt;=0)});if(!M.length){this.selectedIndex=-1}}else{this.value=J}}})},html:function(D){return D===g?(this[0]?this[0].innerHTML:null):this.empty().append(D)},replaceWith:function(D){return this.after(D).remove()},eq:function(D){return this.slice(D,+D+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),&quot;slice&quot;,Array.prototype.slice.call(arguments).join(&quot;,&quot;))},map:function(D){return this.pushStack(n.map(this,function(F,E){return D.call(F,E,F)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=n.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild,D=this.length&gt;1?I.cloneNode(true):I;if(H){for(var G=0,E=this.length;G&lt;E;G++){L.call(K(this[G],H),G&gt;0?D.cloneNode(true):I)}}if(F){n.each(F,y)}}return this;function K(N,O){return M&amp;&amp;n.nodeName(N,&quot;table&quot;)&amp;&amp;n.nodeName(O,&quot;tr&quot;)?(N.getElementsByTagName(&quot;tbody&quot;)[0]||N.appendChild(N.ownerDocument.createElement(&quot;tbody&quot;))):N}}};n.fn.init.prototype=n.fn;function y(D,E){if(E.src){n.ajax({url:E.src,async:false,dataType:&quot;script&quot;})}else{n.globalEval(E.text||E.textContent||E.innerHTML||&quot;&quot;)}if(E.parentNode){E.parentNode.removeChild(E)}}function e(){return +new Date}n.extend=n.fn.extend=function(){var I=arguments[0]||{},G=1,H=arguments.length,D=false,F;if(typeof I===&quot;boolean&quot;){D=I;I=arguments[1]||{};G=2}if(typeof I!==&quot;object&quot;&amp;&amp;!n.isFunction(I)){I={}}if(H==G){I=this;--G}for(;G&lt;H;G++){if((F=arguments[G])!=null){for(var E in F){var J=I[E],K=F[E];if(I===K){continue}if(D&amp;&amp;K&amp;&amp;typeof K===&quot;object&quot;&amp;&amp;!K.nodeType){I[E]=n.extend(D,J||(K.length!=null?[]:{}),K)}else{if(K!==g){I[E]=K}}}}}return I};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,p=document.defaultView||{},r=Object.prototype.toString;n.extend({noConflict:function(D){l.$=o;if(D){l.jQuery=x}return n},isFunction:function(D){return r.call(D)===&quot;[object Function]&quot;},isArray:function(D){return r.call(D)===&quot;[object Array]&quot;},isXMLDoc:function(D){return D.documentElement&amp;&amp;!D.body||D.tagName&amp;&amp;D.ownerDocument&amp;&amp;!D.ownerDocument.body},globalEval:function(F){F=n.trim(F);if(F){var E=document.getElementsByTagName(&quot;head&quot;)[0]||document.documentElement,D=document.createElement(&quot;script&quot;);D.type=&quot;text/javascript&quot;;if(n.support.scriptEval){D.appendChild(document.createTextNode(F))}else{D.text=F}E.insertBefore(D,E.firstChild);E.removeChild(D)}},nodeName:function(E,D){return E.nodeName&amp;&amp;E.nodeName.toUpperCase()==D.toUpperCase()},each:function(F,J,E){var D,G=0,H=F.length;if(E){if(H===g){for(D in F){if(J.apply(F[D],E)===false){break}}}else{for(;G&lt;H;){if(J.apply(F[G++],E)===false){break}}}}else{if(H===g){for(D in F){if(J.call(F[D],D,F[D])===false){break}}}else{for(var I=F[0];G&lt;H&amp;&amp;J.call(I,G,I)!==false;I=F[++G]){}}}return F},prop:function(G,H,F,E,D){if(n.isFunction(H)){H=H.call(G,E)}return typeof H===&quot;number&quot;&amp;&amp;F==&quot;curCSS&quot;&amp;&amp;!b.test(D)?H+&quot;px&quot;:H},className:{add:function(D,E){n.each((E||&quot;&quot;).split(/\s+/),function(F,G){if(D.nodeType==1&amp;&amp;!n.className.has(D.className,G)){D.className+=(D.className?&quot; &quot;:&quot;&quot;)+G}})},remove:function(D,E){if(D.nodeType==1){D.className=E!==g?n.grep(D.className.split(/\s+/),function(F){return !n.className.has(E,F)}).join(&quot; &quot;):&quot;&quot;}},has:function(E,D){return n.inArray(D,(E.className||E).toString().split(/\s+/))&gt;-1}},swap:function(G,F,H){var D={};for(var E in F){D[E]=G.style[E];G.style[E]=F[E]}H.call(G);for(var E in F){G.style[E]=D[E]}},css:function(F,D,H){if(D==&quot;width&quot;||D==&quot;height&quot;){var J,E={position:&quot;absolute&quot;,visibility:&quot;hidden&quot;,display:&quot;block&quot;},I=D==&quot;width&quot;?[&quot;Left&quot;,&quot;Right&quot;]:[&quot;Top&quot;,&quot;Bottom&quot;];function G(){J=D==&quot;width&quot;?F.offsetWidth:F.offsetHeight;var L=0,K=0;n.each(I,function(){L+=parseFloat(n.curCSS(F,&quot;padding&quot;+this,true))||0;K+=parseFloat(n.curCSS(F,&quot;border&quot;+this+&quot;Width&quot;,true))||0});J-=Math.round(L+K)}if(n(F).is(&quot;:visible&quot;)){G()}else{n.swap(F,E,G)}return Math.max(0,J)}return n.curCSS(F,D,H)},curCSS:function(H,E,F){var K,D=H.style;if(E==&quot;opacity&quot;&amp;&amp;!n.support.opacity){K=n.attr(D,&quot;opacity&quot;);return K==&quot;&quot;?&quot;1&quot;:K}if(E.match(/float/i)){E=v}if(!F&amp;&amp;D&amp;&amp;D[E]){K=D[E]}else{if(p.getComputedStyle){if(E.match(/float/i)){E=&quot;float&quot;}E=E.replace(/([A-Z])/g,&quot;-$1&quot;).toLowerCase();var L=p.getComputedStyle(H,null);if(L){K=L.getPropertyValue(E)}if(E==&quot;opacity&quot;&amp;&amp;K==&quot;&quot;){K=&quot;1&quot;}}else{if(H.currentStyle){var I=E.replace(/\-(\w)/g,function(M,N){return N.toUpperCase()});K=H.currentStyle[E]||H.currentStyle[I];if(!/^\d+(px)?$/i.test(K)&amp;&amp;/^\d/.test(K)){var G=D.left,J=H.runtimeStyle.left;H.runtimeStyle.left=H.currentStyle.left;D.left=K||0;K=D.pixelLeft+&quot;px&quot;;D.left=G;H.runtimeStyle.left=J}}}}return K},clean:function(E,J,H){J=J||document;if(typeof J.createElement===&quot;undefined&quot;){J=J.ownerDocument||J[0]&amp;&amp;J[0].ownerDocument||document}if(!H&amp;&amp;E.length===1&amp;&amp;typeof E[0]===&quot;string&quot;){var G=/^&lt;(\w+)\s*\/?&gt;$/.exec(E[0]);if(G){return[J.createElement(G[1])]}}var F=[],D=[],K=J.createElement(&quot;div&quot;);n.each(E,function(O,Q){if(typeof Q===&quot;number&quot;){Q+=&quot;&quot;}if(!Q){return}if(typeof Q===&quot;string&quot;){Q=Q.replace(/(&lt;(\w+)[^&gt;]*?)\/&gt;/g,function(S,T,R){return R.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?S:T+&quot;&gt;&lt;/&quot;+R+&quot;&gt;&quot;});var N=n.trim(Q).toLowerCase();var P=!N.indexOf(&quot;&lt;opt&quot;)&amp;&amp;[1,&quot;&lt;select multiple='multiple'&gt;&quot;,&quot;&lt;/select&gt;&quot;]||!N.indexOf(&quot;&lt;leg&quot;)&amp;&amp;[1,&quot;&lt;fieldset&gt;&quot;,&quot;&lt;/fieldset&gt;&quot;]||N.match(/^&lt;(thead|tbody|tfoot|colg|cap)/)&amp;&amp;[1,&quot;&lt;table&gt;&quot;,&quot;&lt;/table&gt;&quot;]||!N.indexOf(&quot;&lt;tr&quot;)&amp;&amp;[2,&quot;&lt;table&gt;&lt;tbody&gt;&quot;,&quot;&lt;/tbody&gt;&lt;/table&gt;&quot;]||(!N.indexOf(&quot;&lt;td&quot;)||!N.indexOf(&quot;&lt;th&quot;))&amp;&amp;[3,&quot;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&quot;,&quot;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&quot;]||!N.indexOf(&quot;&lt;col&quot;)&amp;&amp;[2,&quot;&lt;table&gt;&lt;tbody&gt;&lt;/tbody&gt;&lt;colgroup&gt;&quot;,&quot;&lt;/colgroup&gt;&lt;/table&gt;&quot;]||!n.support.htmlSerialize&amp;&amp;[1,&quot;div&lt;div&gt;&quot;,&quot;&lt;/div&gt;&quot;]||[0,&quot;&quot;,&quot;&quot;];K.innerHTML=P[1]+Q+P[2];while(P[0]--){K=K.lastChild}if(!n.support.tbody){var M=!N.indexOf(&quot;&lt;table&quot;)&amp;&amp;N.indexOf(&quot;&lt;tbody&quot;)&lt;0?K.firstChild&amp;&amp;K.firstChild.childNodes:P[1]==&quot;&lt;table&gt;&quot;&amp;&amp;N.indexOf(&quot;&lt;tbody&quot;)&lt;0?K.childNodes:[];for(var L=M.length-1;L&gt;=0;--L){if(n.nodeName(M[L],&quot;tbody&quot;)&amp;&amp;!M[L].childNodes.length){M[L].parentNode.removeChild(M[L])}}}if(!n.support.leadingWhitespace&amp;&amp;/^\s/.test(Q)){K.insertBefore(J.createTextNode(Q.match(/^\s*/)[0]),K.firstChild)}Q=n.makeArray(K.childNodes)}if(Q.nodeType){F.push(Q)}else{F=n.merge(F,Q)}});if(H){for(var I=0;F[I];I++){if(n.nodeName(F[I],&quot;script&quot;)&amp;&amp;(!F[I].type||F[I].type.toLowerCase()===&quot;text/javascript&quot;)){D.push(F[I].parentNode?F[I].parentNode.removeChild(F[I]):F[I])}else{if(F[I].nodeType===1){F.splice.apply(F,[I+1,0].concat(n.makeArray(F[I].getElementsByTagName(&quot;script&quot;))))}H.appendChild(F[I])}}return D}return F},attr:function(I,F,J){if(!I||I.nodeType==3||I.nodeType==8){return g}var G=!n.isXMLDoc(I),K=J!==g;F=G&amp;&amp;n.props[F]||F;if(I.tagName){var E=/href|src|style/.test(F);if(F==&quot;selected&quot;&amp;&amp;I.parentNode){I.parentNode.selectedIndex}if(F in I&amp;&amp;G&amp;&amp;!E){if(K){if(F==&quot;type&quot;&amp;&amp;n.nodeName(I,&quot;input&quot;)&amp;&amp;I.parentNode){throw&quot;type property can't be changed&quot;}I[F]=J}if(n.nodeName(I,&quot;form&quot;)&amp;&amp;I.getAttributeNode(F)){return I.getAttributeNode(F).nodeValue}if(F==&quot;tabIndex&quot;){var H=I.getAttributeNode(&quot;tabIndex&quot;);return H&amp;&amp;H.specified?H.value:I.nodeName.match(/^(a|area|button|input|object|select|textarea)$/i)?0:g}return I[F]}if(!n.support.style&amp;&amp;G&amp;&amp;F==&quot;style&quot;){return n.attr(I.style,&quot;cssText&quot;,J)}if(K){I.setAttribute(F,&quot;&quot;+J)}var D=!n.support.hrefNormalized&amp;&amp;G&amp;&amp;E?I.getAttribute(F,2):I.getAttribute(F);return D===null?g:D}if(!n.support.opacity&amp;&amp;F==&quot;opacity&quot;){if(K){I.zoom=1;I.filter=(I.filter||&quot;&quot;).replace(/alpha\([^)]*\)/,&quot;&quot;)+(parseInt(J)+&quot;&quot;==&quot;NaN&quot;?&quot;&quot;:&quot;alpha(opacity=&quot;+J*100+&quot;)&quot;)}return I.filter&amp;&amp;I.filter.indexOf(&quot;opacity=&quot;)&gt;=0?(parseFloat(I.filter.match(/opacity=([^)]*)/)[1])/100)+&quot;&quot;:&quot;&quot;}F=F.replace(/-([a-z])/ig,function(L,M){return M.toUpperCase()});if(K){I[F]=J}return I[F]},trim:function(D){return(D||&quot;&quot;).replace(/^\s+|\s+$/g,&quot;&quot;)},makeArray:function(F){var D=[];if(F!=null){var E=F.length;if(E==null||typeof F===&quot;string&quot;||n.isFunction(F)||F.setInterval){D[0]=F}else{while(E){D[--E]=F[E]}}}return D},inArray:function(F,G){for(var D=0,E=G.length;D&lt;E;D++){if(G[D]===F){return D}}return -1},merge:function(G,D){var E=0,F,H=G.length;if(!n.support.getAll){while((F=D[E++])!=null){if(F.nodeType!=8){G[H++]=F}}}else{while((F=D[E++])!=null){G[H++]=F}}return G},unique:function(J){var E=[],D={};try{for(var F=0,G=J.length;F&lt;G;F++){var I=n.data(J[F]);if(!D[I]){D[I]=true;E.push(J[F])}}}catch(H){E=J}return E},grep:function(E,I,D){var F=[];for(var G=0,H=E.length;G&lt;H;G++){if(!D!=!I(E[G],G)){F.push(E[G])}}return F},map:function(D,I){var E=[];for(var F=0,G=D.length;F&lt;G;F++){var H=I(D[F],F);if(H!=null){E[E.length]=H}}return E.concat.apply([],E)}});var B=navigator.userAgent.toLowerCase();n.browser={version:(B.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,&quot;0&quot;])[1],safari:/webkit/.test(B),opera:/opera/.test(B),msie:/msie/.test(B)&amp;&amp;!/opera/.test(B),mozilla:/mozilla/.test(B)&amp;&amp;!/(compatible|webkit)/.test(B)};n.each({parent:function(D){return D.parentNode},parents:function(D){return n.dir(D,&quot;parentNode&quot;)},next:function(D){return n.nth(D,2,&quot;nextSibling&quot;)},prev:function(D){return n.nth(D,2,&quot;previousSibling&quot;)},nextAll:function(D){return n.dir(D,&quot;nextSibling&quot;)},prevAll:function(D){return n.dir(D,&quot;previousSibling&quot;)},siblings:function(D){return n.sibling(D.parentNode.firstChild,D)},children:function(D){return n.sibling(D.firstChild)},contents:function(D){return n.nodeName(D,&quot;iframe&quot;)?D.contentDocument||D.contentWindow.document:n.makeArray(D.childNodes)}},function(D,E){n.fn[D]=function(F){var G=n.map(this,E);if(F&amp;&amp;typeof F==&quot;string&quot;){G=n.multiFilter(F,G)}return this.pushStack(n.unique(G),D,F)}});n.each({appendTo:&quot;append&quot;,prependTo:&quot;prepend&quot;,insertBefore:&quot;before&quot;,insertAfter:&quot;after&quot;,replaceAll:&quot;replaceWith&quot;},function(D,E){n.fn[D]=function(){var F=arguments;return this.each(function(){for(var G=0,H=F.length;G&lt;H;G++){n(F[G])[E](this)}})}});n.each({removeAttr:function(D){n.attr(this,D,&quot;&quot;);if(this.nodeType==1){this.removeAttribute(D)}},addClass:function(D){n.className.add(this,D)},removeClass:function(D){n.className.remove(this,D)},toggleClass:function(E,D){if(typeof D!==&quot;boolean&quot;){D=!n.className.has(this,E)}n.className[D?&quot;add&quot;:&quot;remove&quot;](this,E)},remove:function(D){if(!D||n.filter(D,[this]).length){n(&quot;*&quot;,this).add([this]).each(function(){n.event.remove(this);n.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){n(&quot;&gt;*&quot;,this).remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(D,E){n.fn[D]=function(){return this.each(E,arguments)}});function j(D,E){return D[0]&amp;&amp;parseInt(n.curCSS(D[0],E,true),10)||0}var h=&quot;jQuery&quot;+e(),u=0,z={};n.extend({cache:{},data:function(E,D,F){E=E==l?z:E;var G=E[h];if(!G){G=E[h]=++u}if(D&amp;&amp;!n.cache[G]){n.cache[G]={}}if(F!==g){n.cache[G][D]=F}return D?n.cache[G][D]:G},removeData:function(E,D){E=E==l?z:E;var G=E[h];if(D){if(n.cache[G]){delete n.cache[G][D];D=&quot;&quot;;for(D in n.cache[G]){break}if(!D){n.removeData(E)}}}else{try{delete E[h]}catch(F){if(E.removeAttribute){E.removeAttribute(h)}}delete n.cache[G]}},queue:function(E,D,G){if(E){D=(D||&quot;fx&quot;)+&quot;queue&quot;;var F=n.data(E,D);if(!F||n.isArray(G)){F=n.data(E,D,n.makeArray(G))}else{if(G){F.push(G)}}}return F},dequeue:function(G,F){var D=n.queue(G,F),E=D.shift();if(!F||F===&quot;fx&quot;){E=D[0]}if(E!==g){E.call(G)}}});n.fn.extend({data:function(D,F){var G=D.split(&quot;.&quot;);G[1]=G[1]?&quot;.&quot;+G[1]:&quot;&quot;;if(F===g){var E=this.triggerHandler(&quot;getData&quot;+G[1]+&quot;!&quot;,[G[0]]);if(E===g&amp;&amp;this.length){E=n.data(this[0],D)}return E===g&amp;&amp;G[1]?this.data(G[0]):E}else{return this.trigger(&quot;setData&quot;+G[1]+&quot;!&quot;,[G[0],F]).each(function(){n.data(this,D,F)})}},removeData:function(D){return this.each(function(){n.removeData(this,D)})},queue:function(D,E){if(typeof D!==&quot;string&quot;){E=D;D=&quot;fx&quot;}if(E===g){return n.queue(this[0],D)}return this.each(function(){var F=n.queue(this,D,E);if(D==&quot;fx&quot;&amp;&amp;F.length==1){F[0].call(this)}})},dequeue:function(D){return this.each(function(){n.dequeue(this,D)})}});
+/*
+ * Sizzle CSS Selector Engine - v0.9.1
+ *  Copyright 2009, The Dojo Foundation
+ *  Released under the MIT, BSD, and GPL Licenses.
+ *  More information: http://sizzlejs.com/
+ */
+(function(){var N=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|[^[\]]+)+\]|\\.|[^ &gt;+~,(\[]+)+|[&gt;+~])(\s*,\s*)?/g,I=0,F=Object.prototype.toString;var E=function(ae,S,aa,V){aa=aa||[];S=S||document;if(S.nodeType!==1&amp;&amp;S.nodeType!==9){return[]}if(!ae||typeof ae!==&quot;string&quot;){return aa}var ab=[],ac,Y,ah,ag,Z,R,Q=true;N.lastIndex=0;while((ac=N.exec(ae))!==null){ab.push(ac[1]);if(ac[2]){R=RegExp.rightContext;break}}if(ab.length&gt;1&amp;&amp;G.match.POS.exec(ae)){if(ab.length===2&amp;&amp;G.relative[ab[0]]){var U=&quot;&quot;,X;while((X=G.match.POS.exec(ae))){U+=X[0];ae=ae.replace(G.match.POS,&quot;&quot;)}Y=E.filter(U,E(/\s$/.test(ae)?ae+&quot;*&quot;:ae,S))}else{Y=G.relative[ab[0]]?[S]:E(ab.shift(),S);while(ab.length){var P=[];ae=ab.shift();if(G.relative[ae]){ae+=ab.shift()}for(var af=0,ad=Y.length;af&lt;ad;af++){E(ae,Y[af],P)}Y=P}}}else{var ai=V?{expr:ab.pop(),set:D(V)}:E.find(ab.pop(),ab.length===1&amp;&amp;S.parentNode?S.parentNode:S);Y=E.filter(ai.expr,ai.set);if(ab.length&gt;0){ah=D(Y)}else{Q=false}while(ab.length){var T=ab.pop(),W=T;if(!G.relative[T]){T=&quot;&quot;}else{W=ab.pop()}if(W==null){W=S}G.relative[T](ah,W,M(S))}}if(!ah){ah=Y}if(!ah){throw&quot;Syntax error, unrecognized expression: &quot;+(T||ae)}if(F.call(ah)===&quot;[object Array]&quot;){if(!Q){aa.push.apply(aa,ah)}else{if(S.nodeType===1){for(var af=0;ah[af]!=null;af++){if(ah[af]&amp;&amp;(ah[af]===true||ah[af].nodeType===1&amp;&amp;H(S,ah[af]))){aa.push(Y[af])}}}else{for(var af=0;ah[af]!=null;af++){if(ah[af]&amp;&amp;ah[af].nodeType===1){aa.push(Y[af])}}}}}else{D(ah,aa)}if(R){E(R,S,aa,V)}return aa};E.matches=function(P,Q){return E(P,null,null,Q)};E.find=function(V,S){var W,Q;if(!V){return[]}for(var R=0,P=G.order.length;R&lt;P;R++){var T=G.order[R],Q;if((Q=G.match[T].exec(V))){var U=RegExp.leftContext;if(U.substr(U.length-1)!==&quot;\\&quot;){Q[1]=(Q[1]||&quot;&quot;).replace(/\\/g,&quot;&quot;);W=G.find[T](Q,S);if(W!=null){V=V.replace(G.match[T],&quot;&quot;);break}}}}if(!W){W=S.getElementsByTagName(&quot;*&quot;)}return{set:W,expr:V}};E.filter=function(S,ac,ad,T){var Q=S,Y=[],ah=ac,V,ab;while(S&amp;&amp;ac.length){for(var U in G.filter){if((V=G.match[U].exec(S))!=null){var Z=G.filter[U],R=null,X=0,aa,ag;ab=false;if(ah==Y){Y=[]}if(G.preFilter[U]){V=G.preFilter[U](V,ah,ad,Y,T);if(!V){ab=aa=true}else{if(V===true){continue}else{if(V[0]===true){R=[];var W=null,af;for(var ae=0;(af=ah[ae])!==g;ae++){if(af&amp;&amp;W!==af){R.push(af);W=af}}}}}}if(V){for(var ae=0;(ag=ah[ae])!==g;ae++){if(ag){if(R&amp;&amp;ag!=R[X]){X++}aa=Z(ag,V,X,R);var P=T^!!aa;if(ad&amp;&amp;aa!=null){if(P){ab=true}else{ah[ae]=false}}else{if(P){Y.push(ag);ab=true}}}}}if(aa!==g){if(!ad){ah=Y}S=S.replace(G.match[U],&quot;&quot;);if(!ab){return[]}break}}}S=S.replace(/\s*,\s*/,&quot;&quot;);if(S==Q){if(ab==null){throw&quot;Syntax error, unrecognized expression: &quot;+S}else{break}}Q=S}return ah};var G=E.selectors={order:[&quot;ID&quot;,&quot;NAME&quot;,&quot;TAG&quot;],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['&quot;]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['&quot;]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['&quot;]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['&quot;]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{&quot;class&quot;:&quot;className&quot;,&quot;for&quot;:&quot;htmlFor&quot;},attrHandle:{href:function(P){return P.getAttribute(&quot;href&quot;)}},relative:{&quot;+&quot;:function(T,Q){for(var R=0,P=T.length;R&lt;P;R++){var S=T[R];if(S){var U=S.previousSibling;while(U&amp;&amp;U.nodeType!==1){U=U.previousSibling}T[R]=typeof Q===&quot;string&quot;?U||false:U===Q}}if(typeof Q===&quot;string&quot;){E.filter(Q,T,true)}},&quot;&gt;&quot;:function(U,Q,V){if(typeof Q===&quot;string&quot;&amp;&amp;!/\W/.test(Q)){Q=V?Q:Q.toUpperCase();for(var R=0,P=U.length;R&lt;P;R++){var T=U[R];if(T){var S=T.parentNode;U[R]=S.nodeName===Q?S:false}}}else{for(var R=0,P=U.length;R&lt;P;R++){var T=U[R];if(T){U[R]=typeof Q===&quot;string&quot;?T.parentNode:T.parentNode===Q}}if(typeof Q===&quot;string&quot;){E.filter(Q,U,true)}}},&quot;&quot;:function(S,Q,U){var R=&quot;done&quot;+(I++),P=O;if(!Q.match(/\W/)){var T=Q=U?Q:Q.toUpperCase();P=L}P(&quot;parentNode&quot;,Q,R,S,T,U)},&quot;~&quot;:function(S,Q,U){var R=&quot;done&quot;+(I++),P=O;if(typeof Q===&quot;string&quot;&amp;&amp;!Q.match(/\W/)){var T=Q=U?Q:Q.toUpperCase();P=L}P(&quot;previousSibling&quot;,Q,R,S,T,U)}},find:{ID:function(Q,R){if(R.getElementById){var P=R.getElementById(Q[1]);return P?[P]:[]}},NAME:function(P,Q){return Q.getElementsByName?Q.getElementsByName(P[1]):null},TAG:function(P,Q){return Q.getElementsByTagName(P[1])}},preFilter:{CLASS:function(S,Q,R,P,U){S=&quot; &quot;+S[1].replace(/\\/g,&quot;&quot;)+&quot; &quot;;for(var T=0;Q[T];T++){if(U^(&quot; &quot;+Q[T].className+&quot; &quot;).indexOf(S)&gt;=0){if(!R){P.push(Q[T])}}else{if(R){Q[T]=false}}}return false},ID:function(P){return P[1].replace(/\\/g,&quot;&quot;)},TAG:function(Q,P){for(var R=0;!P[R];R++){}return M(P[R])?Q[1]:Q[1].toUpperCase()},CHILD:function(P){if(P[1]==&quot;nth&quot;){var Q=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(P[2]==&quot;even&quot;&amp;&amp;&quot;2n&quot;||P[2]==&quot;odd&quot;&amp;&amp;&quot;2n+1&quot;||!/\D/.test(P[2])&amp;&amp;&quot;0n+&quot;+P[2]||P[2]);P[2]=(Q[1]+(Q[2]||1))-0;P[3]=Q[3]-0}P[0]=&quot;done&quot;+(I++);return P},ATTR:function(Q){var P=Q[1];if(G.attrMap[P]){Q[1]=G.attrMap[P]}if(Q[2]===&quot;~=&quot;){Q[4]=&quot; &quot;+Q[4]+&quot; &quot;}return Q},PSEUDO:function(T,Q,R,P,U){if(T[1]===&quot;not&quot;){if(T[3].match(N).length&gt;1){T[3]=E(T[3],null,null,Q)}else{var S=E.filter(T[3],Q,R,true^U);if(!R){P.push.apply(P,S)}return false}}else{if(G.match.POS.test(T[0])){return true}}return T},POS:function(P){P.unshift(true);return P}},filters:{enabled:function(P){return P.disabled===false&amp;&amp;P.type!==&quot;hidden&quot;},disabled:function(P){return P.disabled===true},checked:function(P){return P.checked===true},selected:function(P){P.parentNode.selectedIndex;return P.selected===true},parent:function(P){return !!P.firstChild},empty:function(P){return !P.firstChild},has:function(R,Q,P){return !!E(P[3],R).length},header:function(P){return/h\d/i.test(P.nodeName)},text:function(P){return&quot;text&quot;===P.type},radio:function(P){return&quot;radio&quot;===P.type},checkbox:function(P){return&quot;checkbox&quot;===P.type},file:function(P){return&quot;file&quot;===P.type},password:function(P){return&quot;password&quot;===P.type},submit:function(P){return&quot;submit&quot;===P.type},image:function(P){return&quot;image&quot;===P.type},reset:function(P){return&quot;reset&quot;===P.type},button:function(P){return&quot;button&quot;===P.type||P.nodeName.toUpperCase()===&quot;BUTTON&quot;},input:function(P){return/input|select|textarea|button/i.test(P.nodeName)}},setFilters:{first:function(Q,P){return P===0},last:function(R,Q,P,S){return Q===S.length-1},even:function(Q,P){return P%2===0},odd:function(Q,P){return P%2===1},lt:function(R,Q,P){return Q&lt;P[3]-0},gt:function(R,Q,P){return Q&gt;P[3]-0},nth:function(R,Q,P){return P[3]-0==Q},eq:function(R,Q,P){return P[3]-0==Q}},filter:{CHILD:function(P,S){var V=S[1],W=P.parentNode;var U=&quot;child&quot;+W.childNodes.length;if(W&amp;&amp;(!W[U]||!P.nodeIndex)){var T=1;for(var Q=W.firstChild;Q;Q=Q.nextSibling){if(Q.nodeType==1){Q.nodeIndex=T++}}W[U]=T-1}if(V==&quot;first&quot;){return P.nodeIndex==1}else{if(V==&quot;last&quot;){return P.nodeIndex==W[U]}else{if(V==&quot;only&quot;){return W[U]==1}else{if(V==&quot;nth&quot;){var Y=false,R=S[2],X=S[3];if(R==1&amp;&amp;X==0){return true}if(R==0){if(P.nodeIndex==X){Y=true}}else{if((P.nodeIndex-X)%R==0&amp;&amp;(P.nodeIndex-X)/R&gt;=0){Y=true}}return Y}}}}},PSEUDO:function(V,R,S,W){var Q=R[1],T=G.filters[Q];if(T){return T(V,S,R,W)}else{if(Q===&quot;contains&quot;){return(V.textContent||V.innerText||&quot;&quot;).indexOf(R[3])&gt;=0}else{if(Q===&quot;not&quot;){var U=R[3];for(var S=0,P=U.length;S&lt;P;S++){if(U[S]===V){return false}}return true}}}},ID:function(Q,P){return Q.nodeType===1&amp;&amp;Q.getAttribute(&quot;id&quot;)===P},TAG:function(Q,P){return(P===&quot;*&quot;&amp;&amp;Q.nodeType===1)||Q.nodeName===P},CLASS:function(Q,P){return P.test(Q.className)},ATTR:function(T,R){var P=G.attrHandle[R[1]]?G.attrHandle[R[1]](T):T[R[1]]||T.getAttribute(R[1]),U=P+&quot;&quot;,S=R[2],Q=R[4];return P==null?false:S===&quot;=&quot;?U===Q:S===&quot;*=&quot;?U.indexOf(Q)&gt;=0:S===&quot;~=&quot;?(&quot; &quot;+U+&quot; &quot;).indexOf(Q)&gt;=0:!R[4]?P:S===&quot;!=&quot;?U!=Q:S===&quot;^=&quot;?U.indexOf(Q)===0:S===&quot;$=&quot;?U.substr(U.length-Q.length)===Q:S===&quot;|=&quot;?U===Q||U.substr(0,Q.length+1)===Q+&quot;-&quot;:false},POS:function(T,Q,R,U){var P=Q[2],S=G.setFilters[P];if(S){return S(T,R,Q,U)}}}};for(var K in G.match){G.match[K]=RegExp(G.match[K].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var D=function(Q,P){Q=Array.prototype.slice.call(Q);if(P){P.push.apply(P,Q);return P}return Q};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(J){D=function(T,S){var Q=S||[];if(F.call(T)===&quot;[object Array]&quot;){Array.prototype.push.apply(Q,T)}else{if(typeof T.length===&quot;number&quot;){for(var R=0,P=T.length;R&lt;P;R++){Q.push(T[R])}}else{for(var R=0;T[R];R++){Q.push(T[R])}}}return Q}}(function(){var Q=document.createElement(&quot;form&quot;),R=&quot;script&quot;+(new Date).getTime();Q.innerHTML=&quot;&lt;input name='&quot;+R+&quot;'/&gt;&quot;;var P=document.documentElement;P.insertBefore(Q,P.firstChild);if(!!document.getElementById(R)){G.find.ID=function(T,U){if(U.getElementById){var S=U.getElementById(T[1]);return S?S.id===T[1]||S.getAttributeNode&amp;&amp;S.getAttributeNode(&quot;id&quot;).nodeValue===T[1]?[S]:g:[]}};G.filter.ID=function(U,S){var T=U.getAttributeNode&amp;&amp;U.getAttributeNode(&quot;id&quot;);return U.nodeType===1&amp;&amp;T&amp;&amp;T.nodeValue===S}}P.removeChild(Q)})();(function(){var P=document.createElement(&quot;div&quot;);P.appendChild(document.createComment(&quot;&quot;));if(P.getElementsByTagName(&quot;*&quot;).length&gt;0){G.find.TAG=function(Q,U){var T=U.getElementsByTagName(Q[1]);if(Q[1]===&quot;*&quot;){var S=[];for(var R=0;T[R];R++){if(T[R].nodeType===1){S.push(T[R])}}T=S}return T}}P.innerHTML=&quot;&lt;a href='#'&gt;&lt;/a&gt;&quot;;if(P.firstChild.getAttribute(&quot;href&quot;)!==&quot;#&quot;){G.attrHandle.href=function(Q){return Q.getAttribute(&quot;href&quot;,2)}}})();if(document.querySelectorAll){(function(){var P=E;E=function(T,S,Q,R){S=S||document;if(!R&amp;&amp;S.nodeType===9){try{return D(S.querySelectorAll(T),Q)}catch(U){}}return P(T,S,Q,R)};E.find=P.find;E.filter=P.filter;E.selectors=P.selectors;E.matches=P.matches})()}if(document.documentElement.getElementsByClassName){G.order.splice(1,0,&quot;CLASS&quot;);G.find.CLASS=function(P,Q){return Q.getElementsByClassName(P[1])}}function L(Q,W,V,Z,X,Y){for(var T=0,R=Z.length;T&lt;R;T++){var P=Z[T];if(P){P=P[Q];var U=false;while(P&amp;&amp;P.nodeType){var S=P[V];if(S){U=Z[S];break}if(P.nodeType===1&amp;&amp;!Y){P[V]=T}if(P.nodeName===W){U=P;break}P=P[Q]}Z[T]=U}}}function O(Q,V,U,Y,W,X){for(var S=0,R=Y.length;S&lt;R;S++){var P=Y[S];if(P){P=P[Q];var T=false;while(P&amp;&amp;P.nodeType){if(P[U]){T=Y[P[U]];break}if(P.nodeType===1){if(!X){P[U]=S}if(typeof V!==&quot;string&quot;){if(P===V){T=true;break}}else{if(E.filter(V,[P]).length&gt;0){T=P;break}}}P=P[Q]}Y[S]=T}}}var H=document.compareDocumentPosition?function(Q,P){return Q.compareDocumentPosition(P)&amp;16}:function(Q,P){return Q!==P&amp;&amp;(Q.contains?Q.contains(P):true)};var M=function(P){return P.documentElement&amp;&amp;!P.body||P.tagName&amp;&amp;P.ownerDocument&amp;&amp;!P.ownerDocument.body};n.find=E;n.filter=E.filter;n.expr=E.selectors;n.expr[&quot;:&quot;]=n.expr.filters;E.selectors.filters.hidden=function(P){return&quot;hidden&quot;===P.type||n.css(P,&quot;display&quot;)===&quot;none&quot;||n.css(P,&quot;visibility&quot;)===&quot;hidden&quot;};E.selectors.filters.visible=function(P){return&quot;hidden&quot;!==P.type&amp;&amp;n.css(P,&quot;display&quot;)!==&quot;none&quot;&amp;&amp;n.css(P,&quot;visibility&quot;)!==&quot;hidden&quot;};E.selectors.filters.animated=function(P){return n.grep(n.timers,function(Q){return P===Q.elem}).length};n.multiFilter=function(R,P,Q){if(Q){R=&quot;:not(&quot;+R+&quot;)&quot;}return E.matches(R,P)};n.dir=function(R,Q){var P=[],S=R[Q];while(S&amp;&amp;S!=document){if(S.nodeType==1){P.push(S)}S=S[Q]}return P};n.nth=function(T,P,R,S){P=P||1;var Q=0;for(;T;T=T[R]){if(T.nodeType==1&amp;&amp;++Q==P){break}}return T};n.sibling=function(R,Q){var P=[];for(;R;R=R.nextSibling){if(R.nodeType==1&amp;&amp;R!=Q){P.push(R)}}return P};return;l.Sizzle=E})();n.event={add:function(H,E,G,J){if(H.nodeType==3||H.nodeType==8){return}if(H.setInterval&amp;&amp;H!=l){H=l}if(!G.guid){G.guid=this.guid++}if(J!==g){var F=G;G=this.proxy(F);G.data=J}var D=n.data(H,&quot;events&quot;)||n.data(H,&quot;events&quot;,{}),I=n.data(H,&quot;handle&quot;)||n.data(H,&quot;handle&quot;,function(){return typeof n!==&quot;undefined&quot;&amp;&amp;!n.event.triggered?n.event.handle.apply(arguments.callee.elem,arguments):g});I.elem=H;n.each(E.split(/\s+/),function(L,M){var N=M.split(&quot;.&quot;);M=N.shift();G.type=N.slice().sort().join(&quot;.&quot;);var K=D[M];if(n.event.specialAll[M]){n.event.specialAll[M].setup.call(H,J,N)}if(!K){K=D[M]={};if(!n.event.special[M]||n.event.special[M].setup.call(H,J,N)===false){if(H.addEventListener){H.addEventListener(M,I,false)}else{if(H.attachEvent){H.attachEvent(&quot;on&quot;+M,I)}}}}K[G.guid]=G;n.event.global[M]=true});H=null},guid:1,global:{},remove:function(J,G,I){if(J.nodeType==3||J.nodeType==8){return}var F=n.data(J,&quot;events&quot;),E,D;if(F){if(G===g||(typeof G===&quot;string&quot;&amp;&amp;G.charAt(0)==&quot;.&quot;)){for(var H in F){this.remove(J,H+(G||&quot;&quot;))}}else{if(G.type){I=G.handler;G=G.type}n.each(G.split(/\s+/),function(L,N){var P=N.split(&quot;.&quot;);N=P.shift();var M=RegExp(&quot;(^|\\.)&quot;+P.slice().sort().join(&quot;.*\\.&quot;)+&quot;(\\.|$)&quot;);if(F[N]){if(I){delete F[N][I.guid]}else{for(var O in F[N]){if(M.test(F[N][O].type)){delete F[N][O]}}}if(n.event.specialAll[N]){n.event.specialAll[N].teardown.call(J,P)}for(E in F[N]){break}if(!E){if(!n.event.special[N]||n.event.special[N].teardown.call(J,P)===false){if(J.removeEventListener){J.removeEventListener(N,n.data(J,&quot;handle&quot;),false)}else{if(J.detachEvent){J.detachEvent(&quot;on&quot;+N,n.data(J,&quot;handle&quot;))}}}E=null;delete F[N]}}})}for(E in F){break}if(!E){var K=n.data(J,&quot;handle&quot;);if(K){K.elem=null}n.removeData(J,&quot;events&quot;);n.removeData(J,&quot;handle&quot;)}}},trigger:function(H,J,G,D){var F=H.type||H;if(!D){H=typeof H===&quot;object&quot;?H[h]?H:n.extend(n.Event(F),H):n.Event(F);if(F.indexOf(&quot;!&quot;)&gt;=0){H.type=F=F.slice(0,-1);H.exclusive=true}if(!G){H.stopPropagation();if(this.global[F]){n.each(n.cache,function(){if(this.events&amp;&amp;this.events[F]){n.event.trigger(H,J,this.handle.elem)}})}}if(!G||G.nodeType==3||G.nodeType==8){return g}H.result=g;H.target=G;J=n.makeArray(J);J.unshift(H)}H.currentTarget=G;var I=n.data(G,&quot;handle&quot;);if(I){I.apply(G,J)}if((!G[F]||(n.nodeName(G,&quot;a&quot;)&amp;&amp;F==&quot;click&quot;))&amp;&amp;G[&quot;on&quot;+F]&amp;&amp;G[&quot;on&quot;+F].apply(G,J)===false){H.result=false}if(!D&amp;&amp;G[F]&amp;&amp;!H.isDefaultPrevented()&amp;&amp;!(n.nodeName(G,&quot;a&quot;)&amp;&amp;F==&quot;click&quot;)){this.triggered=true;try{G[F]()}catch(K){}}this.triggered=false;if(!H.isPropagationStopped()){var E=G.parentNode||G.ownerDocument;if(E){n.event.trigger(H,J,E,true)}}},handle:function(J){var I,D;J=arguments[0]=n.event.fix(J||l.event);var K=J.type.split(&quot;.&quot;);J.type=K.shift();I=!K.length&amp;&amp;!J.exclusive;var H=RegExp(&quot;(^|\\.)&quot;+K.slice().sort().join(&quot;.*\\.&quot;)+&quot;(\\.|$)&quot;);D=(n.data(this,&quot;events&quot;)||{})[J.type];for(var F in D){var G=D[F];if(I||H.test(G.type)){J.handler=G;J.data=G.data;var E=G.apply(this,arguments);if(E!==g){J.result=E;if(E===false){J.preventDefault();J.stopPropagation()}}if(J.isImmediatePropagationStopped()){break}}}},props:&quot;altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which&quot;.split(&quot; &quot;),fix:function(G){if(G[h]){return G}var E=G;G=n.Event(E);for(var F=this.props.length,I;F;){I=this.props[--F];G[I]=E[I]}if(!G.target){G.target=G.srcElement||document}if(G.target.nodeType==3){G.target=G.target.parentNode}if(!G.relatedTarget&amp;&amp;G.fromElement){G.relatedTarget=G.fromElement==G.target?G.toElement:G.fromElement}if(G.pageX==null&amp;&amp;G.clientX!=null){var H=document.documentElement,D=document.body;G.pageX=G.clientX+(H&amp;&amp;H.scrollLeft||D&amp;&amp;D.scrollLeft||0)-(H.clientLeft||0);G.pageY=G.clientY+(H&amp;&amp;H.scrollTop||D&amp;&amp;D.scrollTop||0)-(H.clientTop||0)}if(!G.which&amp;&amp;((G.charCode||G.charCode===0)?G.charCode:G.keyCode)){G.which=G.charCode||G.keyCode}if(!G.metaKey&amp;&amp;G.ctrlKey){G.metaKey=G.ctrlKey}if(!G.which&amp;&amp;G.button){G.which=(G.button&amp;1?1:(G.button&amp;2?3:(G.button&amp;4?2:0)))}return G},proxy:function(E,D){D=D||function(){return E.apply(this,arguments)};D.guid=E.guid=E.guid||D.guid||this.guid++;return D},special:{ready:{setup:A,teardown:function(){}}},specialAll:{live:{setup:function(D,E){n.event.add(this,E[0],c)},teardown:function(F){if(F.length){var D=0,E=RegExp(&quot;(^|\\.)&quot;+F[0]+&quot;(\\.|$)&quot;);n.each((n.data(this,&quot;events&quot;).live||{}),function(){if(E.test(this.type)){D++}});if(D&lt;1){n.event.remove(this,F[0],c)}}}}}};n.Event=function(D){if(!this.preventDefault){return new n.Event(D)}if(D&amp;&amp;D.type){this.originalEvent=D;this.type=D.type;this.timeStamp=D.timeStamp}else{this.type=D}if(!this.timeStamp){this.timeStamp=e()}this[h]=true};function k(){return false}function t(){return true}n.Event.prototype={preventDefault:function(){this.isDefaultPrevented=t;var D=this.originalEvent;if(!D){return}if(D.preventDefault){D.preventDefault()}D.returnValue=false},stopPropagation:function(){this.isPropagationStopped=t;var D=this.originalEvent;if(!D){return}if(D.stopPropagation){D.stopPropagation()}D.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=t;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(E){var D=E.relatedTarget;while(D&amp;&amp;D!=this){try{D=D.parentNode}catch(F){D=this}}if(D!=this){E.type=E.data;n.event.handle.apply(this,arguments)}};n.each({mouseover:&quot;mouseenter&quot;,mouseout:&quot;mouseleave&quot;},function(E,D){n.event.special[D]={setup:function(){n.event.add(this,E,a,D)},teardown:function(){n.event.remove(this,E,a)}}});n.fn.extend({bind:function(E,F,D){return E==&quot;unload&quot;?this.one(E,F,D):this.each(function(){n.event.add(this,E,D||F,D&amp;&amp;F)})},one:function(F,G,E){var D=n.event.proxy(E||G,function(H){n(this).unbind(H,D);return(E||G).apply(this,arguments)});return this.each(function(){n.event.add(this,F,D,E&amp;&amp;G)})},unbind:function(E,D){return this.each(function(){n.event.remove(this,E,D)})},trigger:function(D,E){return this.each(function(){n.event.trigger(D,E,this)})},triggerHandler:function(D,F){if(this[0]){var E=n.Event(D);E.preventDefault();E.stopPropagation();n.event.trigger(E,F,this[0]);return E.result}},toggle:function(F){var D=arguments,E=1;while(E&lt;D.length){n.event.proxy(F,D[E++])}return this.click(n.event.proxy(F,function(G){this.lastToggle=(this.lastToggle||0)%E;G.preventDefault();return D[this.lastToggle++].apply(this,arguments)||false}))},hover:function(D,E){return this.mouseenter(D).mouseleave(E)},ready:function(D){A();if(n.isReady){D.call(document,n)}else{n.readyList.push(D)}return this},live:function(F,E){var D=n.event.proxy(E);D.guid+=this.selector+F;n(document).bind(i(F,this.selector),this.selector,D);return this},die:function(E,D){n(document).unbind(i(E,this.selector),D?{guid:D.guid+this.selector+E}:null);return this}});function c(G){var D=RegExp(&quot;(^|\\.)&quot;+G.type+&quot;(\\.|$)&quot;),F=true,E=[];n.each(n.data(this,&quot;events&quot;).live||[],function(H,I){if(D.test(I.type)){var J=n(G.target).closest(I.data)[0];if(J){E.push({elem:J,fn:I})}}});n.each(E,function(){if(!G.isImmediatePropagationStopped()&amp;&amp;this.fn.call(this.elem,G,this.fn.data)===false){F=false}});return F}function i(E,D){return[&quot;live&quot;,E,D.replace(/\./g,&quot;`&quot;).replace(/ /g,&quot;|&quot;)].join(&quot;.&quot;)}n.extend({isReady:false,readyList:[],ready:function(){if(!n.isReady){n.isReady=true;if(n.readyList){n.each(n.readyList,function(){this.call(document,n)});n.readyList=null}n(document).triggerHandler(&quot;ready&quot;)}}});var w=false;function A(){if(w){return}w=true;if(document.addEventListener){document.addEventListener(&quot;DOMContentLoaded&quot;,function(){document.removeEventListener(&quot;DOMContentLoaded&quot;,arguments.callee,false);n.ready()},false)}else{if(document.attachEvent){document.attachEvent(&quot;onreadystatechange&quot;,function(){if(document.readyState===&quot;complete&quot;){document.detachEvent(&quot;onreadystatechange&quot;,arguments.callee);n.ready()}});if(document.documentElement.doScroll&amp;&amp;!l.frameElement){(function(){if(n.isReady){return}try{document.documentElement.doScroll(&quot;left&quot;)}catch(D){setTimeout(arguments.callee,0);return}n.ready()})()}}}n.event.add(l,&quot;load&quot;,n.ready)}n.each((&quot;blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error&quot;).split(&quot;,&quot;),function(E,D){n.fn[D]=function(F){return F?this.bind(D,F):this.trigger(D)}});n(l).bind(&quot;unload&quot;,function(){for(var D in n.cache){if(D!=1&amp;&amp;n.cache[D].handle){n.event.remove(n.cache[D].handle.elem)}}});(function(){n.support={};var E=document.documentElement,F=document.createElement(&quot;script&quot;),J=document.createElement(&quot;div&quot;),I=&quot;script&quot;+(new Date).getTime();J.style.display=&quot;none&quot;;J.innerHTML='   &lt;link/&gt;&lt;table&gt;&lt;/table&gt;&lt;a href=&quot;/a&quot; style=&quot;color:red;float:left;opacity:.5;&quot;&gt;a&lt;/a&gt;&lt;select&gt;&lt;option&gt;text&lt;/option&gt;&lt;/select&gt;&lt;object&gt;&lt;param/&gt;&lt;/object&gt;';var G=J.getElementsByTagName(&quot;*&quot;),D=J.getElementsByTagName(&quot;a&quot;)[0];if(!G||!G.length||!D){return}n.support={leadingWhitespace:J.firstChild.nodeType==3,tbody:!J.getElementsByTagName(&quot;tbody&quot;).length,objectAll:!!J.getElementsByTagName(&quot;object&quot;)[0].getElementsByTagName(&quot;*&quot;).length,htmlSerialize:!!J.getElementsByTagName(&quot;link&quot;).length,style:/red/.test(D.getAttribute(&quot;style&quot;)),hrefNormalized:D.getAttribute(&quot;href&quot;)===&quot;/a&quot;,opacity:D.style.opacity===&quot;0.5&quot;,cssFloat:!!D.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};F.type=&quot;text/javascript&quot;;try{F.appendChild(document.createTextNode(&quot;window.&quot;+I+&quot;=1;&quot;))}catch(H){}E.insertBefore(F,E.firstChild);if(l[I]){n.support.scriptEval=true;delete l[I]}E.removeChild(F);if(J.attachEvent&amp;&amp;J.fireEvent){J.attachEvent(&quot;onclick&quot;,function(){n.support.noCloneEvent=false;J.detachEvent(&quot;onclick&quot;,arguments.callee)});J.cloneNode(true).fireEvent(&quot;onclick&quot;)}n(function(){var K=document.createElement(&quot;div&quot;);K.style.width=&quot;1px&quot;;K.style.paddingLeft=&quot;1px&quot;;document.body.appendChild(K);n.boxModel=n.support.boxModel=K.offsetWidth===2;document.body.removeChild(K)})})();var v=n.support.cssFloat?&quot;cssFloat&quot;:&quot;styleFloat&quot;;n.props={&quot;for&quot;:&quot;htmlFor&quot;,&quot;class&quot;:&quot;className&quot;,&quot;float&quot;:v,cssFloat:v,styleFloat:v,readonly:&quot;readOnly&quot;,maxlength:&quot;maxLength&quot;,cellspacing:&quot;cellSpacing&quot;,rowspan:&quot;rowSpan&quot;,tabindex:&quot;tabIndex&quot;};n.fn.extend({_load:n.fn.load,load:function(F,I,J){if(typeof F!==&quot;string&quot;){return this._load(F)}var H=F.indexOf(&quot; &quot;);if(H&gt;=0){var D=F.slice(H,F.length);F=F.slice(0,H)}var G=&quot;GET&quot;;if(I){if(n.isFunction(I)){J=I;I=null}else{if(typeof I===&quot;object&quot;){I=n.param(I);G=&quot;POST&quot;}}}var E=this;n.ajax({url:F,type:G,dataType:&quot;html&quot;,data:I,complete:function(L,K){if(K==&quot;success&quot;||K==&quot;notmodified&quot;){E.html(D?n(&quot;&lt;div/&gt;&quot;).append(L.responseText.replace(/&lt;script(.|\s)*?\/script&gt;/g,&quot;&quot;)).find(D):L.responseText)}if(J){E.each(J,[L.responseText,K,L])}}});return this},serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?n.makeArray(this.elements):this}).filter(function(){return this.name&amp;&amp;!this.disabled&amp;&amp;(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type))}).map(function(D,E){var F=n(this).val();return F==null?null:n.isArray(F)?n.map(F,function(H,G){return{name:E.name,value:H}}):{name:E.name,value:F}}).get()}});n.each(&quot;ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend&quot;.split(&quot;,&quot;),function(D,E){n.fn[E]=function(F){return this.bind(E,F)}});var q=e();n.extend({get:function(D,F,G,E){if(n.isFunction(F)){G=F;F=null}return n.ajax({type:&quot;GET&quot;,url:D,data:F,success:G,dataType:E})},getScript:function(D,E){return n.get(D,null,E,&quot;script&quot;)},getJSON:function(D,E,F){return n.get(D,E,F,&quot;json&quot;)},post:function(D,F,G,E){if(n.isFunction(F)){G=F;F={}}return n.ajax({type:&quot;POST&quot;,url:D,data:F,success:G,dataType:E})},ajaxSetup:function(D){n.extend(n.ajaxSettings,D)},ajaxSettings:{url:location.href,global:true,type:&quot;GET&quot;,contentType:&quot;application/x-www-form-urlencoded&quot;,processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;):new XMLHttpRequest()},accepts:{xml:&quot;application/xml, text/xml&quot;,html:&quot;text/html&quot;,script:&quot;text/javascript, application/javascript&quot;,json:&quot;application/json, text/javascript&quot;,text:&quot;text/plain&quot;,_default:&quot;*/*&quot;}},lastModified:{},ajax:function(L){L=n.extend(true,L,n.extend(true,{},n.ajaxSettings,L));var V,E=/=\?(&amp;|$)/g,Q,U,F=L.type.toUpperCase();if(L.data&amp;&amp;L.processData&amp;&amp;typeof L.data!==&quot;string&quot;){L.data=n.param(L.data)}if(L.dataType==&quot;jsonp&quot;){if(F==&quot;GET&quot;){if(!L.url.match(E)){L.url+=(L.url.match(/\?/)?&quot;&amp;&quot;:&quot;?&quot;)+(L.jsonp||&quot;callback&quot;)+&quot;=?&quot;}}else{if(!L.data||!L.data.match(E)){L.data=(L.data?L.data+&quot;&amp;&quot;:&quot;&quot;)+(L.jsonp||&quot;callback&quot;)+&quot;=?&quot;}}L.dataType=&quot;json&quot;}if(L.dataType==&quot;json&quot;&amp;&amp;(L.data&amp;&amp;L.data.match(E)||L.url.match(E))){V=&quot;jsonp&quot;+q++;if(L.data){L.data=(L.data+&quot;&quot;).replace(E,&quot;=&quot;+V+&quot;$1&quot;)}L.url=L.url.replace(E,&quot;=&quot;+V+&quot;$1&quot;);L.dataType=&quot;script&quot;;l[V]=function(W){U=W;H();K();l[V]=g;try{delete l[V]}catch(X){}if(G){G.removeChild(S)}}}if(L.dataType==&quot;script&quot;&amp;&amp;L.cache==null){L.cache=false}if(L.cache===false&amp;&amp;F==&quot;GET&quot;){var D=e();var T=L.url.replace(/(\?|&amp;)_=.*?(&amp;|$)/,&quot;$1_=&quot;+D+&quot;$2&quot;);L.url=T+((T==L.url)?(L.url.match(/\?/)?&quot;&amp;&quot;:&quot;?&quot;)+&quot;_=&quot;+D:&quot;&quot;)}if(L.data&amp;&amp;F==&quot;GET&quot;){L.url+=(L.url.match(/\?/)?&quot;&amp;&quot;:&quot;?&quot;)+L.data;L.data=null}if(L.global&amp;&amp;!n.active++){n.event.trigger(&quot;ajaxStart&quot;)}var P=/^(\w+:)?\/\/([^\/?#]+)/.exec(L.url);if(L.dataType==&quot;script&quot;&amp;&amp;F==&quot;GET&quot;&amp;&amp;P&amp;&amp;(P[1]&amp;&amp;P[1]!=location.protocol||P[2]!=location.host)){var G=document.getElementsByTagName(&quot;head&quot;)[0];var S=document.createElement(&quot;script&quot;);S.src=L.url;if(L.scriptCharset){S.charset=L.scriptCharset}if(!V){var N=false;S.onload=S.onreadystatechange=function(){if(!N&amp;&amp;(!this.readyState||this.readyState==&quot;loaded&quot;||this.readyState==&quot;complete&quot;)){N=true;H();K();G.removeChild(S)}}}G.appendChild(S);return g}var J=false;var I=L.xhr();if(L.username){I.open(F,L.url,L.async,L.username,L.password)}else{I.open(F,L.url,L.async)}try{if(L.data){I.setRequestHeader(&quot;Content-Type&quot;,L.contentType)}if(L.ifModified){I.setRequestHeader(&quot;If-Modified-Since&quot;,n.lastModified[L.url]||&quot;Thu, 01 Jan 1970 00:00:00 GMT&quot;)}I.setRequestHeader(&quot;X-Requested-With&quot;,&quot;XMLHttpRequest&quot;);I.setRequestHeader(&quot;Accept&quot;,L.dataType&amp;&amp;L.accepts[L.dataType]?L.accepts[L.dataType]+&quot;, */*&quot;:L.accepts._default)}catch(R){}if(L.beforeSend&amp;&amp;L.beforeSend(I,L)===false){if(L.global&amp;&amp;!--n.active){n.event.trigger(&quot;ajaxStop&quot;)}I.abort();return false}if(L.global){n.event.trigger(&quot;ajaxSend&quot;,[I,L])}var M=function(W){if(I.readyState==0){if(O){clearInterval(O);O=null;if(L.global&amp;&amp;!--n.active){n.event.trigger(&quot;ajaxStop&quot;)}}}else{if(!J&amp;&amp;I&amp;&amp;(I.readyState==4||W==&quot;timeout&quot;)){J=true;if(O){clearInterval(O);O=null}Q=W==&quot;timeout&quot;?&quot;timeout&quot;:!n.httpSuccess(I)?&quot;error&quot;:L.ifModified&amp;&amp;n.httpNotModified(I,L.url)?&quot;notmodified&quot;:&quot;success&quot;;if(Q==&quot;success&quot;){try{U=n.httpData(I,L.dataType,L)}catch(Y){Q=&quot;parsererror&quot;}}if(Q==&quot;success&quot;){var X;try{X=I.getResponseHeader(&quot;Last-Modified&quot;)}catch(Y){}if(L.ifModified&amp;&amp;X){n.lastModified[L.url]=X}if(!V){H()}}else{n.handleError(L,I,Q)}K();if(L.async){I=null}}}};if(L.async){var O=setInterval(M,13);if(L.timeout&gt;0){setTimeout(function(){if(I){if(!J){M(&quot;timeout&quot;)}if(I){I.abort()}}},L.timeout)}}try{I.send(L.data)}catch(R){n.handleError(L,I,null,R)}if(!L.async){M()}function H(){if(L.success){L.success(U,Q)}if(L.global){n.event.trigger(&quot;ajaxSuccess&quot;,[I,L])}}function K(){if(L.complete){L.complete(I,Q)}if(L.global){n.event.trigger(&quot;ajaxComplete&quot;,[I,L])}if(L.global&amp;&amp;!--n.active){n.event.trigger(&quot;ajaxStop&quot;)}}return I},handleError:function(E,G,D,F){if(E.error){E.error(G,D,F)}if(E.global){n.event.trigger(&quot;ajaxError&quot;,[G,E,F])}},active:0,httpSuccess:function(E){try{return !E.status&amp;&amp;location.protocol==&quot;file:&quot;||(E.status&gt;=200&amp;&amp;E.status&lt;300)||E.status==304||E.status==1223}catch(D){}return false},httpNotModified:function(F,D){try{var G=F.getResponseHeader(&quot;Last-Modified&quot;);return F.status==304||G==n.lastModified[D]}catch(E){}return false},httpData:function(I,G,F){var E=I.getResponseHeader(&quot;content-type&quot;),D=G==&quot;xml&quot;||!G&amp;&amp;E&amp;&amp;E.indexOf(&quot;xml&quot;)&gt;=0,H=D?I.responseXML:I.responseText;if(D&amp;&amp;H.documentElement.tagName==&quot;parsererror&quot;){throw&quot;parsererror&quot;}if(F&amp;&amp;F.dataFilter){H=F.dataFilter(H,G)}if(typeof H===&quot;string&quot;){if(G==&quot;script&quot;){n.globalEval(H)}if(G==&quot;json&quot;){H=l[&quot;eval&quot;](&quot;(&quot;+H+&quot;)&quot;)}}return H},param:function(D){var F=[];function G(H,I){F[F.length]=encodeURIComponent(H)+&quot;=&quot;+encodeURIComponent(I)}if(n.isArray(D)||D.jquery){n.each(D,function(){G(this.name,this.value)})}else{for(var E in D){if(n.isArray(D[E])){n.each(D[E],function(){G(E,this)})}else{G(E,n.isFunction(D[E])?D[E]():D[E])}}}return F.join(&quot;&amp;&quot;).replace(/%20/g,&quot;+&quot;)}});var m={},d=[[&quot;height&quot;,&quot;marginTop&quot;,&quot;marginBottom&quot;,&quot;paddingTop&quot;,&quot;paddingBottom&quot;],[&quot;width&quot;,&quot;marginLeft&quot;,&quot;marginRight&quot;,&quot;paddingLeft&quot;,&quot;paddingRight&quot;],[&quot;opacity&quot;]];function s(E,D){var F={};n.each(d.concat.apply([],d.slice(0,D)),function(){F[this]=E});return F}n.fn.extend({show:function(I,K){if(I){return this.animate(s(&quot;show&quot;,3),I,K)}else{for(var G=0,E=this.length;G&lt;E;G++){var D=n.data(this[G],&quot;olddisplay&quot;);this[G].style.display=D||&quot;&quot;;if(n.css(this[G],&quot;display&quot;)===&quot;none&quot;){var F=this[G].tagName,J;if(m[F]){J=m[F]}else{var H=n(&quot;&lt;&quot;+F+&quot; /&gt;&quot;).appendTo(&quot;body&quot;);J=H.css(&quot;display&quot;);if(J===&quot;none&quot;){J=&quot;block&quot;}H.remove();m[F]=J}this[G].style.display=n.data(this[G],&quot;olddisplay&quot;,J)}}return this}},hide:function(G,H){if(G){return this.animate(s(&quot;hide&quot;,3),G,H)}else{for(var F=0,E=this.length;F&lt;E;F++){var D=n.data(this[F],&quot;olddisplay&quot;);if(!D&amp;&amp;D!==&quot;none&quot;){n.data(this[F],&quot;olddisplay&quot;,n.css(this[F],&quot;display&quot;))}this[F].style.display=&quot;none&quot;}return this}},_toggle:n.fn.toggle,toggle:function(F,E){var D=typeof F===&quot;boolean&quot;;return n.isFunction(F)&amp;&amp;n.isFunction(E)?this._toggle.apply(this,arguments):F==null||D?this.each(function(){var G=D?F:n(this).is(&quot;:hidden&quot;);n(this)[G?&quot;show&quot;:&quot;hide&quot;]()}):this.animate(s(&quot;toggle&quot;,3),F,E)},fadeTo:function(D,F,E){return this.animate({opacity:F},D,E)},animate:function(H,E,G,F){var D=n.speed(E,G,F);return this[D.queue===false?&quot;each&quot;:&quot;queue&quot;](function(){var J=n.extend({},D),L,K=this.nodeType==1&amp;&amp;n(this).is(&quot;:hidden&quot;),I=this;for(L in H){if(H[L]==&quot;hide&quot;&amp;&amp;K||H[L]==&quot;show&quot;&amp;&amp;!K){return J.complete.call(this)}if((L==&quot;height&quot;||L==&quot;width&quot;)&amp;&amp;this.style){J.display=n.css(this,&quot;display&quot;);J.overflow=this.style.overflow}}if(J.overflow!=null){this.style.overflow=&quot;hidden&quot;}J.curAnim=n.extend({},H);n.each(H,function(N,R){var Q=new n.fx(I,J,N);if(/toggle|show|hide/.test(R)){Q[R==&quot;toggle&quot;?K?&quot;show&quot;:&quot;hide&quot;:R](H)}else{var P=R.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),S=Q.cur(true)||0;if(P){var M=parseFloat(P[2]),O=P[3]||&quot;px&quot;;if(O!=&quot;px&quot;){I.style[N]=(M||1)+O;S=((M||1)/Q.cur(true))*S;I.style[N]=S+O}if(P[1]){M=((P[1]==&quot;-=&quot;?-1:1)*M)+S}Q.custom(S,M,O)}else{Q.custom(S,R,&quot;&quot;)}}});return true})},stop:function(E,D){var F=n.timers;if(E){this.queue([])}this.each(function(){for(var G=F.length-1;G&gt;=0;G--){if(F[G].elem==this){if(D){F[G](true)}F.splice(G,1)}}});if(!D){this.dequeue()}return this}});n.each({slideDown:s(&quot;show&quot;,1),slideUp:s(&quot;hide&quot;,1),slideToggle:s(&quot;toggle&quot;,1),fadeIn:{opacity:&quot;show&quot;},fadeOut:{opacity:&quot;hide&quot;}},function(D,E){n.fn[D]=function(F,G){return this.animate(E,F,G)}});n.extend({speed:function(F,G,E){var D=typeof F===&quot;object&quot;?F:{complete:E||!E&amp;&amp;G||n.isFunction(F)&amp;&amp;F,duration:F,easing:E&amp;&amp;G||G&amp;&amp;!n.isFunction(G)&amp;&amp;G};D.duration=n.fx.off?0:typeof D.duration===&quot;number&quot;?D.duration:n.fx.speeds[D.duration]||n.fx.speeds._default;D.old=D.complete;D.complete=function(){if(D.queue!==false){n(this).dequeue()}if(n.isFunction(D.old)){D.old.call(this)}};return D},easing:{linear:function(F,G,D,E){return D+E*F},swing:function(F,G,D,E){return((-Math.cos(F*Math.PI)/2)+0.5)*E+D}},timers:[],timerId:null,fx:function(E,D,F){this.options=D;this.elem=E;this.prop=F;if(!D.orig){D.orig={}}}});n.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(n.fx.step[this.prop]||n.fx.step._default)(this);if((this.prop==&quot;height&quot;||this.prop==&quot;width&quot;)&amp;&amp;this.elem.style){this.elem.style.display=&quot;block&quot;}},cur:function(E){if(this.elem[this.prop]!=null&amp;&amp;(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var D=parseFloat(n.css(this.elem,this.prop,E));return D&amp;&amp;D&gt;-10000?D:parseFloat(n.curCSS(this.elem,this.prop))||0},custom:function(H,G,F){this.startTime=e();this.start=H;this.end=G;this.unit=F||this.unit||&quot;px&quot;;this.now=this.start;this.pos=this.state=0;var D=this;function E(I){return D.step(I)}E.elem=this.elem;n.timers.push(E);if(E()&amp;&amp;n.timerId==null){n.timerId=setInterval(function(){var J=n.timers;for(var I=0;I&lt;J.length;I++){if(!J[I]()){J.splice(I--,1)}}if(!J.length){clearInterval(n.timerId);n.timerId=null}},13)}},show:function(){this.options.orig[this.prop]=n.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop==&quot;width&quot;||this.prop==&quot;height&quot;?1:0,this.cur());n(this.elem).show()},hide:function(){this.options.orig[this.prop]=n.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(G){var F=e();if(G||F&gt;=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var D=true;for(var E in this.options.curAnim){if(this.options.curAnim[E]!==true){D=false}}if(D){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(n.css(this.elem,&quot;display&quot;)==&quot;none&quot;){this.elem.style.display=&quot;block&quot;}}if(this.options.hide){n(this.elem).hide()}if(this.options.hide||this.options.show){for(var H in this.options.curAnim){n.attr(this.elem.style,H,this.options.orig[H])}}}if(D){this.options.complete.call(this.elem)}return false}else{var I=F-this.startTime;this.state=I/this.options.duration;this.pos=n.easing[this.options.easing||(n.easing.swing?&quot;swing&quot;:&quot;linear&quot;)](this.state,I,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};n.extend(n.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(D){n.attr(D.elem.style,&quot;opacity&quot;,D.now)},_default:function(D){if(D.elem.style&amp;&amp;D.elem.style[D.prop]!=null){D.elem.style[D.prop]=D.now+D.unit}else{D.elem[D.prop]=D.now}}}});if(document.documentElement.getBoundingClientRect){n.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return n.offset.bodyOffset(this[0])}var F=this[0].getBoundingClientRect(),I=this[0].ownerDocument,E=I.body,D=I.documentElement,K=D.clientTop||E.clientTop||0,J=D.clientLeft||E.clientLeft||0,H=F.top+(self.pageYOffset||n.boxModel&amp;&amp;D.scrollTop||E.scrollTop)-K,G=F.left+(self.pageXOffset||n.boxModel&amp;&amp;D.scrollLeft||E.scrollLeft)-J;return{top:H,left:G}}}else{n.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return n.offset.bodyOffset(this[0])}n.offset.initialized||n.offset.initialize();var I=this[0],F=I.offsetParent,E=I,N=I.ownerDocument,L,G=N.documentElement,J=N.body,K=N.defaultView,D=K.getComputedStyle(I,null),M=I.offsetTop,H=I.offsetLeft;while((I=I.parentNode)&amp;&amp;I!==J&amp;&amp;I!==G){L=K.getComputedStyle(I,null);M-=I.scrollTop,H-=I.scrollLeft;if(I===F){M+=I.offsetTop,H+=I.offsetLeft;if(n.offset.doesNotAddBorder&amp;&amp;!(n.offset.doesAddBorderForTableAndCells&amp;&amp;/^t(able|d|h)$/i.test(I.tagName))){M+=parseInt(L.borderTopWidth,10)||0,H+=parseInt(L.borderLeftWidth,10)||0}E=F,F=I.offsetParent}if(n.offset.subtractsBorderForOverflowNotVisible&amp;&amp;L.overflow!==&quot;visible&quot;){M+=parseInt(L.borderTopWidth,10)||0,H+=parseInt(L.borderLeftWidth,10)||0}D=L}if(D.position===&quot;relative&quot;||D.position===&quot;static&quot;){M+=J.offsetTop,H+=J.offsetLeft}if(D.position===&quot;fixed&quot;){M+=Math.max(G.scrollTop,J.scrollTop),H+=Math.max(G.scrollLeft,J.scrollLeft)}return{top:M,left:H}}}n.offset={initialize:function(){if(this.initialized){return}var K=document.body,E=document.createElement(&quot;div&quot;),G,F,M,H,L,D,I=K.style.marginTop,J='&lt;div style=&quot;position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;table style=&quot;position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;&quot;cellpadding=&quot;0&quot;cellspacing=&quot;0&quot;&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;';L={position:&quot;absolute&quot;,top:0,left:0,margin:0,border:0,width:&quot;1px&quot;,height:&quot;1px&quot;,visibility:&quot;hidden&quot;};for(D in L){E.style[D]=L[D]}E.innerHTML=J;K.insertBefore(E,K.firstChild);G=E.firstChild,F=G.firstChild,H=G.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(F.offsetTop!==5);this.doesAddBorderForTableAndCells=(H.offsetTop===5);G.style.overflow=&quot;hidden&quot;,G.style.position=&quot;relative&quot;;this.subtractsBorderForOverflowNotVisible=(F.offsetTop===-5);K.style.marginTop=&quot;1px&quot;;this.doesNotIncludeMarginInBodyOffset=(K.offsetTop===0);K.style.marginTop=I;K.removeChild(E);this.initialized=true},bodyOffset:function(D){n.offset.initialized||n.offset.initialize();var F=D.offsetTop,E=D.offsetLeft;if(n.offset.doesNotIncludeMarginInBodyOffset){F+=parseInt(n.curCSS(D,&quot;marginTop&quot;,true),10)||0,E+=parseInt(n.curCSS(D,&quot;marginLeft&quot;,true),10)||0}return{top:F,left:E}}};n.fn.extend({position:function(){var H=0,G=0,E;if(this[0]){var F=this.offsetParent(),I=this.offset(),D=/^body|html$/i.test(F[0].tagName)?{top:0,left:0}:F.offset();I.top-=j(this,&quot;marginTop&quot;);I.left-=j(this,&quot;marginLeft&quot;);D.top+=j(F,&quot;borderTopWidth&quot;);D.left+=j(F,&quot;borderLeftWidth&quot;);E={top:I.top-D.top,left:I.left-D.left}}return E},offsetParent:function(){var D=this[0].offsetParent||document.body;while(D&amp;&amp;(!/^body|html$/i.test(D.tagName)&amp;&amp;n.css(D,&quot;position&quot;)==&quot;static&quot;)){D=D.offsetParent}return n(D)}});n.each([&quot;Left&quot;,&quot;Top&quot;],function(E,D){var F=&quot;scroll&quot;+D;n.fn[F]=function(G){if(!this[0]){return null}return G!==g?this.each(function(){this==l||this==document?l.scrollTo(!E?G:n(l).scrollLeft(),E?G:n(l).scrollTop()):this[F]=G}):this[0]==l||this[0]==document?self[E?&quot;pageYOffset&quot;:&quot;pageXOffset&quot;]||n.boxModel&amp;&amp;document.documentElement[F]||document.body[F]:this[0][F]}});n.each([&quot;Height&quot;,&quot;Width&quot;],function(G,E){var D=G?&quot;Left&quot;:&quot;Top&quot;,F=G?&quot;Right&quot;:&quot;Bottom&quot;;n.fn[&quot;inner&quot;+E]=function(){return this[E.toLowerCase()]()+j(this,&quot;padding&quot;+D)+j(this,&quot;padding&quot;+F)};n.fn[&quot;outer&quot;+E]=function(I){return this[&quot;inner&quot;+E]()+j(this,&quot;border&quot;+D+&quot;Width&quot;)+j(this,&quot;border&quot;+F+&quot;Width&quot;)+(I?j(this,&quot;margin&quot;+D)+j(this,&quot;margin&quot;+F):0)};var H=E.toLowerCase();n.fn[H]=function(I){return this[0]==l?document.compatMode==&quot;CSS1Compat&quot;&amp;&amp;document.documentElement[&quot;client&quot;+E]||document.body[&quot;client&quot;+E]:this[0]==document?Math.max(document.documentElement[&quot;client&quot;+E],document.body[&quot;scroll&quot;+E],document.documentElement[&quot;scroll&quot;+E],document.body[&quot;offset&quot;+E],document.documentElement[&quot;offset&quot;+E]):I===g?(this.length?n.css(this[0],H):null):this.css(H,typeof I===&quot;string&quot;?I:I+&quot;px&quot;)}})})();
\ No newline at end of file</diff>
      <filename>public/javascripts/jquery.min.js</filename>
    </modified>
    <modified>
      <diff>@@ -1,210 +1,212 @@
-var DEBUG = false;
-$.log = function(A) {
-    if (window.console) {
-        console.log(A)
-    }
-};
-$.debug = function(A) {
-    if (DEBUG) {
-        $.log(A)
-    }
-};
+function initializeTimeline() {
+    $(&quot;#timeline&quot;).Timeline($.Page)
+}
 (function() {
-    function A() {
-        var B = $('meta[name=&quot;session-loggedin&quot;][content=&quot;y&quot;]').get(0);
-        var F = $(&quot;body.replyable&quot;).get(0);
-        var C;
-        var E;
-        if (C = $('meta[name=&quot;session-user-screen_name&quot;]:first').get(0)) {
-            C = C.content
-        }
-        if (E = $('meta[name=&quot;page-user-screen_name&quot;]:first').get(0)) {
-            E = E.content
-        }
-        var D = C &amp;&amp; E &amp;&amp; C == E;
-        $(&quot;body.ie .hentry&quot;).isHoverable();
-        if (B) {
-            $(&quot;#timeline .fav,.non-fav&quot;).isFavoriteable({hideUnfavorited:D});
-            if (F) {
-                $(&quot;#timeline .repl&quot;).isReplyable()
+    $(document).ready(function() {
+        $().Page();
+        initializeTimeline();
+        $(&quot;#pagination .more&quot;).isMoreButton()
+    });
+    $.fn.Page = function() {
+        var A = $('meta[name=&quot;session-user-screen_name&quot;]:first').get(0);
+        var C = $('meta[name=&quot;page-user-screen_name&quot;]:first').get(0);
+        var B = A &amp;&amp; C &amp;&amp; A.content == C.content;
+        $.Page = $.extend($.Page || {}, {timeline:null,sessionUserScreenName:(A ? A.content : null),pageUserScreenName:(C ? C.content : null),loggedIn:$('meta[name=&quot;session-loggedin&quot;][content=&quot;y&quot;]').length &gt; 0,replyable:$(&quot;body.replyable&quot;).get(0),hideUnfavorited:B})
+    };
+    $.fn.Timeline = function(A) {
+        $.Page.timeline = $(this);
+        return this.each(function() {
+            var B = $(this);
+            var C = {};
+            $.Timeline.settings = settings = $.extend({}, $.Timeline.defaults, A);
+            var D = B.find(&quot;.hentry&quot;);
+            if (settings.loggedIn) {
+                $.each($.Timeline.actions.tweet, function() {
+                    this.apply(D, [settings])
+                })
             }
-            $(&quot;#timeline .del&quot;).isDeleteable()
-        }
-        $(&quot;#status&quot;).each(function() {
-            $(this).focusEnd()
         })
-    }
-    $.initializeTimeline = function() {
-        A()
     };
-    $(document).ready(A)
-})();
-$.fn.isHoverable = function() {
-    return this.each(function() {
-        var A = $(this);
-        A.hover(function() {
-            A.addClass(&quot;hover&quot;)
-        }, function() {
-            A.removeClass(&quot;hover&quot;)
-        })
-    })
-};
-$.fn.isTimeline = function() {
-    return this.each(function() {
-        var A = $(this)
-    })
-};
-$.fn.isDeviceFailNotice = function() {
-    return this.each(function() {
-        var A = $(this);
-        var B = A.find(&quot;a.hide-fail-notice&quot;);
-        var C = B.attr(&quot;id&quot;).replace(&quot;hide_device_&quot;, &quot;&quot;);
-        B.click(function() {
-            $.ajax({type:&quot;POST&quot;,dataType:&quot;text&quot;,url:&quot;/devices/update/&quot; + C,data:{authenticity_token:twttr.form_authenticity_token,&quot;device[fail_alert]&quot;:&quot;0&quot;,twttr:true},success:function(D) {
-                if (D.match(/success/)) {
-                    A.fadeOut(200)
-                } else {
-                    twttr.error()
-                }
-            },beforeSend:twttr.loading,complete:twttr.loaded});
-            return false
-        })
-    })
-};
-$.fn.isDeleteable = function(A) {
-    this.unbind(&quot;click&quot;);
-    this.click(function() {
-        var E = $(this);
-        var B = E.parents(&quot;.hentry:first&quot;);
-        var G = B.attr(&quot;id&quot;).split(&quot;_&quot;).last();
-        var F = B.hasClass(&quot;latest-status&quot;);
-        var D;
-        var C = &quot;update&quot;;
-        if (B.hasClass(&quot;status&quot;)) {
-            D = &quot;/status/destroy&quot;
-        } else {
-            if (B.hasClass(&quot;direct_message&quot;)) {
-                D = &quot;/direct_messages/destroy&quot;;
-                C = &quot;direct message&quot;
-            }
-        }
-        if (confirm(&quot;Sure you want to delete this &quot; + C + &quot;? There is NO undo!&quot;)) {
-            gaTrack(D + &quot;/refresh/&quot; + G);
-            $.ajax({type:&quot;POST&quot;,url:D + &quot;/&quot; + G,data:{authenticity_token:twttr.form_authenticity_token},dataType:(D == &quot;/status/destroy&quot; ? &quot;json&quot; : null),beforeSend:function() {
-                E.attr(&quot;title&quot;, &quot;&quot;).removeClass(&quot;del&quot;).addClass(&quot;del-throb&quot;)
-            },success:function(H) {
-                var I = B.parents(&quot;.conversation&quot;);
-                var J = I.get(0) ? I : B;
-                J.fadeOut(500, function() {
-                    J.remove();
-                    if (D == &quot;/status/destroy&quot;) {
-                        processJson(H);
-                        updateLatest(F)
-                    }
+    $.Timeline = {defaults:{timeline:$(&quot;#timeline&quot;)},prepend:function(A) {
+        $.Timeline.settings.timeline.prepend(A)
+    },append:function(A) {
+        $.Timeline.settings.timeline.append(A)
+    },actions:{tweet:{isHoverable:function(A) {
+        if ($(&quot;body.ie,body.ie6&quot;).get(0)) {
+            return this.livequery(function() {
+                var B = $(this);
+                B.hover(function() {
+                    console.log(B);
+                    B.addClass(&quot;hover&quot;)
+                }, function() {
+                    B.removeClass(&quot;hover&quot;)
                 })
-            }})
+            })
         }
-    })
-};
-$.fn.isFavoriteable = function(A) {
-    this.unbind(&quot;click&quot;);
-    this.click(function() {
-        var D = $(this);
-        var B = D.parents(&quot;.hentry:first&quot;);
-        var F = B.attr(&quot;id&quot;).replace(/status_/, &quot;&quot;);
-        var E = D.hasClass(&quot;fav&quot;);
-        var C = E ? &quot;destroy&quot; : &quot;create&quot;;
-        twttr.googleAnalytics(&quot;/favorites/&quot; + C + &quot;/refresh/&quot; + F);
-        $.ajax({type:&quot;POST&quot;,url:&quot;/favorites/&quot; + C + &quot;/&quot; + F,data:{authenticity_token:twttr.form_authenticity_token},beforeSend:function() {
-            D.attr(&quot;title&quot;, &quot;&quot;).removeClass(E ? &quot;fav&quot; : &quot;non-fav&quot;).addClass(&quot;fav-throb&quot;)
-        },success:function() {
-            if ($(&quot;body#favourings&quot;).hasClass(&quot;favourings&quot;) &amp;&amp; A.hideUnfavorited) {
-                B.fadeOut(500, function() {
-                    B.remove()
-                })
-            } else {
-                D.attr(&quot;title&quot;, (E ? &quot;favorite&quot; : &quot;un-favorite&quot;) + &quot; this update&quot;).removeClass(&quot;fav-throb&quot;).addClass(E ? &quot;non-fav&quot; : &quot;fav&quot;)
-            }
-        }});
-        return false
-    })
-};
-$.fn.isReplyable = function() {
-    this.unbind(&quot;click&quot;);
-    this.click(function() {
-        var E = $(this);
-        var C = E.parents(&quot;.hentry:first&quot;);
-        var G = C.attr(&quot;id&quot;).replace(/status_/, &quot;&quot;);
-        var A = C.attr(&quot;class&quot;).match(/u-([A-Za-z0-9_]+)/);
-        var B = A[1];
-        if (!B) {
-            alert(_(&quot;Whoops! Something went wrong. Please refresh the page and try again!&quot;));
-            return
-        }
-        var F = $(&quot;#status,#text&quot;);
-        if (C.hasClass(&quot;status&quot;)) {
-            F.val(&quot;@&quot; + B + &quot; &quot; + F.val().replace(RegExp(&quot;@&quot; + B + &quot; ?&quot;, &quot;i&quot;), &quot;&quot;)).trigger(&quot;update&quot;).focusEnd();
-            $(&quot;#in_reply_to_status_id&quot;).val(G);
-            $(&quot;#in_reply_to&quot;).val(B);
-            window.scroll(0, 0)
-        } else {
-            if (C.hasClass(&quot;direct_message&quot;)) {
-                var D = $(&quot;#direct_message_user_id&quot;);
-                if (!D.find(&quot;option[@text='&quot; + B + &quot;']&quot;).attr(&quot;selected&quot;, true).length) {
-                    D.append('&lt;option value=&quot;' + B + '&quot; selected=&quot;selected&quot;&gt;' + B + &quot;&lt;/option&gt;&quot;)
-                }
-                F.trigger(&quot;update&quot;).focusEnd()
-            }
-        }
-        window.scroll(0, 0);
-        return false
-    })
-};
-$.fn.isDeleteable = function(A) {
-    this.unbind(&quot;click&quot;);
-    this.click(function() {
-        var D = $(this);
-        var B = D.parents(&quot;.hentry:first&quot;);
-        var F;
-        var E = B.hasClass(&quot;latest-status&quot;);
-        var C;
-        if (B.hasClass(&quot;status&quot;)) {
-            C = &quot;/status/destroy&quot;;
-            F = B.attr(&quot;id&quot;).replace(/status_/, &quot;&quot;)
-        } else {
-            if (B.hasClass(&quot;direct_message&quot;)) {
-                F = B.attr(&quot;id&quot;).replace(/direct_message_/, &quot;&quot;);
-                C = &quot;/direct_messages/destroy&quot;
-            }
-        }
-        if (confirm(&quot;Sure you want to delete this update? There is NO undo!&quot;)) {
-            twttr.googleAnalytics(C + &quot;/refresh/&quot; + F);
-            $.ajax({type:&quot;POST&quot;,url:C + &quot;/&quot; + F,data:{authenticity_token:twttr.form_authenticity_token,latest_status:E},dataType:(C == &quot;/status/destroy&quot; ? &quot;json&quot; : null),beforeSend:function() {
-                D.attr(&quot;title&quot;, &quot;&quot;).removeClass(&quot;del&quot;).addClass(&quot;del-throb&quot;)
-            },success:function(G) {
-                var H = B.parents(&quot;.conversation&quot;);
-                var I = H.get(0) ? H : B;
-                I.fadeOut(500, function() {
-                    I.remove();
-                    if (C == &quot;/status/destroy&quot;) {
-                        if (E) {
-                            twttr.processJson(G);
-                            updateLatest()
+    },isFavoriteable:function(A) {
+        return this.find(&quot;.fav-action&quot;).livequery(function() {
+            var B = $(this);
+            B.click(function() {
+                var C = B.parents(&quot;.hentry:first&quot;);
+                var F = C.attr(&quot;id&quot;).replace(/status_/, &quot;&quot;);
+                var E = B.hasClass(&quot;fav&quot;);
+                var D = E ? &quot;destroy&quot; : &quot;create&quot;;
+                twttr.googleAnalytics(&quot;/favorites/&quot; + D + &quot;/refresh/&quot; + F);
+                $.ajax({type:&quot;POST&quot;,url:&quot;/favorites/&quot; + D + &quot;/&quot; + F,data:{authenticity_token:twttr.form_authenticity_token},beforeSend:function() {
+                    B.attr(&quot;title&quot;, &quot;&quot;).removeClass(E ? &quot;fav&quot; : &quot;non-fav&quot;).addClass(&quot;fav-throb&quot;);
+                    twttr.loading()
+                },success:function() {
+                    if ($(&quot;body#favourings&quot;).hasClass(&quot;favourings&quot;) &amp;&amp; A.hideUnfavorited) {
+                        C.fadeOut(500, function() {
+                            C.remove()
+                        })
+                    } else {
+                        B.attr(&quot;title&quot;, (E ? &quot;favorite&quot; : &quot;un-favorite&quot;) + &quot; this update&quot;).removeClass(&quot;fav-throb&quot;).addClass(E ? &quot;non-fav&quot; : &quot;fav&quot;)
+                    }
+                }});
+                return false
+            })
+        })
+    },isReplyable:function(A) {
+        if (A.replyable) {
+            return this.find(&quot;.reply&quot;).livequery(function() {
+                var B = $(this);
+                B.click(function() {
+                    var E = B.parents(&quot;.hentry:first&quot;);
+                    var H = E.attr(&quot;id&quot;).replace(/status_/, &quot;&quot;);
+                    var C = E.attr(&quot;class&quot;).match(/u-([A-Za-z0-9_]+)/);
+                    var D = C[1];
+                    if (!D) {
+                        alert(_(&quot;Whoops! Something went wrong. Please refresh the page and try again!&quot;));
+                        return
+                    }
+                    var G = $(&quot;#status,#text&quot;);
+                    if (E.hasClass(&quot;status&quot;)) {
+                        twttr.googleAnalytics(&quot;/reply/&quot; + D + &quot;/&quot; + H);
+                        G.val(&quot;@&quot; + D + &quot; &quot; + G.val().replace(RegExp(&quot;@&quot; + D + &quot; ?&quot;, &quot;i&quot;), &quot;&quot;)).trigger(&quot;update&quot;).focusEnd();
+                        $(&quot;#in_reply_to_status_id&quot;).val(H);
+                        $(&quot;#in_reply_to&quot;).val(D);
+                        window.scroll(0, 0)
+                    } else {
+                        if (E.hasClass(&quot;direct_message&quot;)) {
+                            twttr.googleAnalytics(&quot;/direct_messages/reply/&quot; + D + &quot;/&quot; + H);
+                            var F = $(&quot;#direct_message_user_id&quot;);
+                            if (!F.find(&quot;option[text='&quot; + D + &quot;']&quot;).attr(&quot;selected&quot;, true).length) {
+                                F.append('&lt;option value=&quot;' + D + '&quot; selected=&quot;selected&quot;&gt;' + D + &quot;&lt;/option&gt;&quot;)
+                            }
+                            G.trigger(&quot;update&quot;).focusEnd()
                         }
                     }
+                    window.scroll(0, 0);
+                    return false
                 })
-            }})
+            })
         }
-        return false
-    })
-};
+    },isDeleteable:function(A) {
+        return this.find(&quot;.del&quot;).livequery(function() {
+            var B = $(this);
+            B.click(function() {
+                var C = B.parents(&quot;.hentry:first&quot;);
+                var F;
+                var E = C.hasClass(&quot;latest-status&quot;);
+                var D;
+                if (C.hasClass(&quot;status&quot;)) {
+                    D = &quot;/status/destroy&quot;;
+                    F = C.attr(&quot;id&quot;).replace(/status_/, &quot;&quot;)
+                } else {
+                    if (C.hasClass(&quot;direct_message&quot;)) {
+                        F = C.attr(&quot;id&quot;).replace(/direct_message_/, &quot;&quot;);
+                        D = &quot;/direct_messages/destroy&quot;
+                    }
+                }
+                if (confirm(&quot;Sure you want to delete this update? There is NO undo!&quot;)) {
+                    twttr.googleAnalytics(D + &quot;/refresh/&quot; + F);
+                    $.ajax({type:&quot;POST&quot;,url:D + &quot;/&quot; + F,data:{authenticity_token:twttr.form_authenticity_token,latest_status:E},dataType:(D == &quot;/status/destroy&quot; ? &quot;json&quot; : null),beforeSend:function() {
+                        B.attr(&quot;title&quot;, &quot;&quot;).removeClass(&quot;del&quot;).addClass(&quot;del-throb&quot;)
+                    },success:function(G) {
+                        var H = C.parents(&quot;.conversation&quot;);
+                        var I = H.get(0) ? H : C;
+                        I.fadeOut(500, function() {
+                            I.remove();
+                            if (D == &quot;/status/destroy&quot;) {
+                                if (E) {
+                                    twttr.processJson(G);
+                                    updateLatest()
+                                }
+                            }
+                        })
+                    }})
+                }
+                return false
+            })
+        })
+    }}}}
+})();
+(function() {
+    $.fn.isMoreButton = function() {
+        return this.livequery(function() {
+            var A = $(this);
+            A.click(function() {
+                var C = $(this);
+                C.blur();
+                var B = C.parents(&quot;form&quot;).attr(&quot;action&quot;);
+                twttr.googleAnalytics(B.split(/\?/)[0] + &quot;/refresh&quot;);
+                $.ajax({type:&quot;GET&quot;,url:B,dataType:&quot;json&quot;,beforeSend:function() {
+                    $(&quot;#pagination&quot;).addClass(&quot;loading&quot;);
+                    A.attr(&quot;disabled&quot;, &quot;disabled&quot;).css(&quot;visibility&quot;, &quot;hidden&quot;)
+                },success:function(D) {
+                    $(&quot;#timeline&quot;).append($(D[&quot;#timeline&quot;]).find(&quot;.hentry&quot;));
+                    $(&quot;#pagination&quot;).html(D[&quot;#pagination&quot;])
+                },error:function() {
+                    alert(_(&quot;Whoops! Something went wrong. Please try refreshing the page.&quot;))
+                }});
+                return false
+            })
+        })
+    }
+})();
+(function() {
+    $.fn.isDeviceFailNotice = function() {
+        return this.each(function() {
+            var A = $(this);
+            var B = A.find(&quot;a.hide-fail-notice&quot;);
+            var C = B.attr(&quot;id&quot;).replace(&quot;hide_device_&quot;, &quot;&quot;);
+            B.click(function() {
+                $.ajax({type:&quot;POST&quot;,dataType:&quot;text&quot;,url:&quot;/devices/update/&quot; + C,data:{authenticity_token:twttr.form_authenticity_token,&quot;device[fail_alert]&quot;:&quot;0&quot;,twttr:true},success:function(D) {
+                    if (D.match(/success/)) {
+                        A.fadeOut(200)
+                    } else {
+                        twttr.error()
+                    }
+                },beforeSend:twttr.loading,complete:twttr.loaded});
+                return false
+            })
+        })
+    }
+})();
 function updateLatest() {
     var A = $(&quot;#latest_status&quot;);
     if (A.length) {
-        $.debug(&quot;updating latest status.&quot;);
         A.isCurrentStatus(true)
     }
-    $.debug(&quot;class-ifying latest status.&quot;);
-    $(&quot;#timeline tr.hentry:first&quot;).addClass(&quot;latest-status&quot;)
+    $(&quot;#timeline li:first&quot;).addClass(&quot;latest-status&quot;)
 }
-;
\ No newline at end of file
+$.fn.isLoading = function() {
+    $(this).addClass(&quot;loading&quot;);
+    twttr.loading()
+};
+$.fn.isLoaded = function() {
+    $(this).removeClass(&quot;loading&quot;);
+    twttr.loaded()
+};
+var DEBUG = false;
+$.log = function(A) {
+    if (window.console) {
+        console.log(A)
+    }
+};
+$.debug = function(A) {
+    if (DEBUG) {
+        $.log(A)
+    }
+};
\ No newline at end of file</diff>
      <filename>public/javascripts/timeline.js</filename>
    </modified>
    <modified>
      <diff>@@ -12,25 +12,60 @@ a:hover {
     text-decoration: underline;
 }
 
+#trends_link img {
+    background-color: #0084b4;
+}
+
 ul {
     list-style: none;
 }
 
-hr {
-    display: none;
+ul.dot li:before {
+    content: &quot;\00B7 \0020&quot;;
 }
 
-abbr {
-    text-decoration: none;
-    border-bottom: none;
+hr {
+    display: none;
 }
 
 body {
     text-align: center;
-    font: .75em / 1.5 'Lucida Grande', sans-serif;
+    font: .75em 'Lucida Grande', sans-serif;
     color: #333;
 }
 
+#container {
+    width: 763px;
+    margin: 1.25em auto;
+    text-align: left;
+    position: relative;
+}
+
+#loader {
+    position: absolute;
+    top: .7em;
+    right: -25px;
+    padding: 0;
+    background: #FFF;
+    border: 1px solid #CCC;
+    font-size: 10px;
+    line-height: 0;
+    z-index: 999;
+}
+
+#header {
+    height: auto;
+    margin: 0;
+    text-align: left;
+}
+
+.content-bubble-arrow {
+    margin-top: 1em;
+    padding-top: 11px;
+    background-repeat: no-repeat;
+    background-position: 25px 0;
+}
+
 #content.minheight {
     height: 200px;
 }
@@ -55,6 +90,343 @@ body {
     position: relative;
 }
 
+#content div.section ul li {
+    margin: 0;
+    padding: 0 0 1em 0;
+}
+
+#content div.steps, #content div.section div.steps {
+    margin-top: 3em;
+}
+
+#side {
+    padding-top: .5em;
+}
+
+#side .segment {
+    margin: 1em 10px;
+}
+
+#side .segment&gt;* {
+    padding-bottom: 1em;
+}
+
+#side .segment p {
+    line-height: 1.6em !important;
+}
+
+#side .segment ul li {
+    margin: 0;
+    padding: 0 0 1em 0;
+}
+
+#side {
+    margin-bottom: 10px;
+}
+
+.subpage #side {
+    margin-top: 0;
+}
+
+#side_base {
+    width: 199px;
+    line-height: 1.2;
+    -moz-border-radius-topright: 5px;
+    -webkit-border-top-right-radius: 5px;
+    -moz-border-radius-bottomright: 5px;
+    -webkit-border-bottom-right-radius: 5px;
+    border-left: 1px solid #bddcad;
+    background-color: #dfc;
+}
+
+#side_ad_base {
+    height: 185px;
+    text-align: center;
+    padding-top: 5px;
+}
+
+#side .promotion {
+    color: #000;
+    border: 1px solid #BDDCAD;
+    text-align: left;
+    font-size: 11px;
+    margin-top: 7px;
+    padding: 6px 10px;
+    width: 152px;
+    margin-left: auto;
+    margin-right: auto;
+}
+
+#side div.section {
+    padding: 13px;
+}
+
+#side div#profile.section {
+    padding-bottom: 16px;
+}
+
+#side div.last {
+    border-top: 1px solid #bddcad;
+}
+
+#side h1 {
+    color: #333;
+    font-size: 1.1em;
+    padding: 0 0 2px;
+    margin-bottom: .5em;
+}
+
+#side div.section-header h3.faq-header {
+    border-bottom: 1px solid #bddcad;
+    color: #333;
+}
+
+#side .section-links {
+    float: right;
+    font-size: .9em;
+    text-align: right;
+}
+
+#side div.msg strong {
+    display: block;
+    font-size: 1.4em;
+}
+
+#side div.msg h3 {
+    font-size: 1.25em;
+}
+
+#side ul {
+    margin: 0;
+}
+
+#side .faq-index ul {
+    list-style-type: square;
+    margin-left: 15px;
+}
+
+#side .faq-index li {
+    margin: 10px 0;
+}
+
+#side p {
+    padding: .5em 0;
+}
+
+.subpage #side {
+    margin-top: 0;
+}
+
+#side ul {
+    margin: 0;
+}
+
+.notify {
+    text-align: center;
+    line-height: 1;
+    padding: 5px 0;
+    background-repeat: no-repeat;
+    background-position: left center;
+    margin-bottom: 8px;
+}
+
+.notify div {
+    background-color: #fff;
+    font-size: .9em;
+    margin: 0 12px 0 24px;
+    padding: 10px 3px;
+    border: 1px solid #888;
+    -moz-border-radius: 5px;
+    -webkit-border-radius: 5px;
+}
+
+#side .actions {
+    border: 1px solid #87bc44;
+    margin: 10px -3px;
+}
+
+#side .actions small {
+    font-size: .9em;
+}
+
+#side .actions a {
+    padding-left: 7px;
+}
+
+.side_thumb {
+    height: 31px;
+    width: 31px;
+}
+
+#side .user_icon {
+    height: 30px;
+}
+
+#side .user_icon&gt;* {
+    vertical-align: middle;
+    padding: 0;
+}
+
+#side .user_icon img {
+    float: left;
+    padding-right: .8em;
+}
+
+#me_name {
+    font-size: 1.35em;
+    line-height: 30px;
+    float: left;
+}
+
+#side .stats {
+    clear: both;
+    float: none;
+    margin: 10px 0 10px 0;
+}
+
+#side .stats td {
+    padding: 0 7px 0 0;
+}
+
+#side .stats td+td {
+    padding: 0 7px;
+    border-left: solid 1px #bddcad;
+    border-right: solid 1px #bddcad;
+}
+
+#side .stats td+td+td {
+    border: 0;
+}
+
+#side .stats td .numeric {
+    font-size: 1.3em;
+    font-family: georgia;
+    text-decoration: none;
+}
+
+#side .stats td .label {
+    text-transform: lowercase;
+    font-size: .9em;
+}
+
+#side .stats a:hover {
+    text-decoration: none;
+}
+
+#side .stats a:hover .label {
+    text-decoration: underline;
+}
+
+#side .about li {
+    padding-bottom: 3px;
+}
+
+#side .about .label {
+    font-weight: bold;
+}
+
+#side .about li#bio {
+    word-wrap: break-word;
+    overflow: hidden;
+    width: 170px;
+}
+
+.promotion {
+    color: #000;
+    border: 1px solid #BDDCAD;
+    text-align: left;
+    font-size: 11px;
+    margin-top: 7px;
+    padding: 6px 10px;
+    width: 152px;
+}
+
+ul#tabMenu li {
+    border-top: 1px solid #bddcad;
+}
+
+ul#tabMenu a, #side .section h1 {
+    display: block;
+    padding: 13px;
+    text-decoration: none;
+    color: #4c4c4c;
+    font-weight: bold;
+    font-size: 110%;
+}
+
+#side .section h1 {
+    padding: 0 0 .25em 0;
+}
+
+body#home ul#tabMenu a#home_tab, body#profile ul#tabMenu a#updates_tab, body#replies ul#tabMenu a#replies_tab, body.direct_messages ul#tabMenu a#direct_messages_tab, body#favourings ul#tabMenu a#favorites_tab, body#public_timeline ul#tabMenu a#public_timeline_tab {
+    background: #fff;
+    margin-left: -1px;
+    padding-left: 14px;
+}
+
+#side .stat_count {
+    float: right;
+}
+
+#following_list {
+    padding: 0 0 0 3px;
+    overflow: hidden;
+}
+
+#following_list span {
+    float: left;
+    padding: 0 3px 2px 1px;
+}
+
+#following_list img {
+    padding: 0;
+}
+
+#device_control label {
+    margin-right: 5px;
+}
+
+#device_msg {
+    margin-top: -5px;
+    margin-bottom: 0;
+}
+
+.rss {
+    padding: .5em 0 .5em 20px;
+    background-position: 0 50%;
+    background-repeat: no-repeat;
+}
+
+#side .xref {
+    font-size: x-small;
+}
+
+#side p.complete {
+    font-size: .9em;
+    margin-top: 1em;
+}
+
+#footer {
+    text-align: center;
+    padding: 8px 0;
+    line-height: 1;
+}
+
+#footer li {
+    display: inline;
+    padding: 0 4px;
+}
+
+#footer li.first:before {
+    content: '';
+    padding-right: 0;
+}
+
+#footer {
+    background: #fff;
+    white-space: nowrap;
+}
+
 fieldset.common-form {
     margin: 10px 0;
 }
@@ -79,7 +451,7 @@ fieldset.common-form small {
     font-size: .97em;
 }
 
-fieldset.common-form input[type=&quot;text&quot;], fieldset.common-form input[type=&quot;password&quot;], fieldset.common-form select, fieldset.common-form checkbox {
+fieldset.common-form input[type=&quot;text&quot;], fieldset.common-form input[type=&quot;password&quot;], fieldset.common-form textarea, fieldset.common-form select, fieldset.common-form checkbox {
     border: 1px solid #aaa;
     padding: 4px 2px;
 }
@@ -88,10 +460,18 @@ fieldset.common-form input[type=&quot;text&quot;], fieldset.common-form input[type=&quot;passwo
     width: 12em;
 }
 
-fieldset.common-form input[type=&quot;text&quot;].medium {
+fieldset.common-form input[type=&quot;text&quot;].medium, fieldset.common-form textarea.medium {
     width: 50%;
 }
 
+fieldset.common-form input[type=&quot;text&quot;].wider, fieldset.common-form textarea.wider {
+    width: 75%;
+}
+
+fieldset.common-form input[type=&quot;text&quot;].widest, fieldset.common-form textarea.widest {
+    width: 100%;
+}
+
 fieldset.common-form td[colspan=&quot;2&quot;] {
     text-align: right;
 }
@@ -118,10 +498,14 @@ fieldset.common-form table.input-form th {
     vertical-align: top;
 }
 
-fieldset.common-form .instruction, fieldset.common-form .example {
-    margin-top: .5em;
+fieldset.common-form .instruction, fieldset.common-form .example, fieldset.common-form .required {
     font-size: x-small;
     color: #666;
+    font-weight: normal;
+}
+
+fieldset.common-form .instruction, fieldset.common-form .example {
+    margin-top: .5em;
 }
 
 fieldset.common-form .example {
@@ -155,6 +539,19 @@ div.direct-message-box fieldset.standard-form {
     padding: 10px 90px;
 }
 
+.buttons {
+    padding-top: 12px;
+    text-align: center;
+}
+
+.buttons input, .buttons button {
+    margin: 0 3px;
+}
+
+.buttons a button {
+    margin: 0;
+}
+
 input.submit, button, input[type=submit], input[type=button], input[type=&quot;file&quot;]&gt;input[type=&quot;button&quot;] {
     color: #000;
     -moz-border-radius: 5px;
@@ -172,6 +569,32 @@ input.submit:hover, button:hover, input[type=submit]:hover, input[type=&quot;file&quot;]&gt;i
     background: #d5d5d5;
 }
 
+input.flow-button, input.flow-button:hover {
+    height: 41px;
+    padding: 0 10px 2px 0;
+    border: 0;
+    font-size: 20px;
+    background-color: transparent;
+}
+
+input.green-arrow, input.green-arrow:hover {
+    background-image: url('/images/btn_green_arrow.gif') !important;
+    width: 234px !important;
+    background-color: transparent;
+}
+
+input.green-arrow-small, input.green-arrow-small:hover {
+    background-image: url('/images/btn_green_arrow_small.gif') !important;
+    width: 138px !important;
+}
+
+input.red-small, input.red-small:hover {
+    background-image: url('/images/btn_red_small.gif') !important;
+    width: 114px !important;
+    text-align: center;
+    padding: 0 0 2px 0;
+}
+
 .hentry .actions&gt;div.follow-actions {
     visibility: visible;
     text-align: left;
@@ -214,34 +637,66 @@ input.profilesubmit:hover {
     background-color: #8CF500;
 }
 
-#timeline_body .hover, .hentry:hover {
-    background-color: #f7f7f7;
+.link-menu&gt;a {
+    padding: .5em .75em .5em .5em;
+    background: transparent url('/images/divot.gif') no-repeat 100% 50%;
 }
 
-#timeline_body .hover a, .hentry:hover a {
-    color: #0084b4;
+.link-menu&gt;ul, .link-menu&gt;span, .link-menu&gt;div {
+    position: absolute;
+    left: 0;
+    z-index: 999;
 }
 
-.hentry .thumb img {
+ol.statuses {
+    list-style: none;
+    font-size: 1.2em;
+}
+
+ol.statuses li {
+    position: relative;
+    padding: .7em 0 .6em 0;
+    border-bottom: 1px dashed #D2DADA;
+    line-height: 1.1em;
+}
+
+ol.statuses li:first-child {
+    border-top: 1px dashed #D2DADA;
+}
+
+ol.statuses .thumb {
+    display: block;
+    width: 50px;
+    height: 50px;
+    position: absolute;
+    left: 0;
+    margin: 0 10px 0 5px;
+    overflow: hidden;
+}
+
+ol.statuses .thumb img {
     width: 48px;
     height: 48px;
 }
 
-.hentry td.status-body div {
+ol.statuses span.status-body {
+    display: block;
+    min-height: 50px;
+    width: 420px;
     overflow: hidden;
-    width: 424px;
-    padding: .1em 0;
+    margin-left: 65px;
 }
 
-.hentry .entry-content img {
-    vertical-align: middle;
+ol.statuses .lock, ol.statuses .screen-name {
+    margin-right: 5px;
 }
 
-.hentry .disabled {
-    border: 1px solid red;
+.search ol.statuses .bio {
+    margin-left: 5px;
 }
 
-.hentry .meta {
+ol.statuses span.meta, .hentry .meta {
+    display: block;
     font-size: .80em;
     font-family: georgia;
     font-style: italic;
@@ -249,31 +704,23 @@ input.profilesubmit:hover {
     color: #999;
 }
 
-.hentry .meta a {
+ol.statuses span.meta a, .hentry .meta a {
     color: #999;
 }
 
-.hentry .meta .call-out {
+ol.statuses span.meta .call-out, .hentry .meta .call-out {
     color: #000;
 }
 
-.hentry .actions {
-    font-size: .75em;
-    text-align: center;
-    vertical-align: middle;
+ol.statuses .actions {
+    position: absolute;
+    right: 5px;
+    top: .5em;
+    line-height: 1.25em;
     border-width: 0;
-    border-bottom: 1px dashed #d2dada;
-}
-
-.hentry .actions&gt;div {
-    visibility: hidden;
-}
-
-.hentry:hover .actions div, .hentry .hover .actions div {
-    visibility: visible;
 }
 
-.hentry .actions a {
+ol.statuses .actions a {
     display: block;
     text-decoration: none;
     padding: 3px 8px;
@@ -281,13 +728,22 @@ input.profilesubmit:hover {
     background-repeat: no-repeat;
     outline: none;
     cursor: pointer;
+    visibility: hidden;
+}
+
+ol.statuses li:hover, ol.statuses li.hover {
+    background-color: #f7f7f7;
+}
+
+ol.statuses li:hover .actions a, ol.statuses li.hover .actions a {
+    visibility: visible;
 }
 
-.hentry .actions a.fav {
+ol.statuses .actions a.fav {
     visibility: visible;
 }
 
-.hentry .actions a.fav-throb, .hentry .actions a.del-throb {
+ol.statuses .actions a.fav-throb, ol.statuses .actions a.del-throb {
     visibility: visible;
 }
 
@@ -296,6 +752,21 @@ input.profilesubmit:hover {
     width: 48px;
 }
 
+#flash {
+    padding-top: 45px;
+    background-repeat: no-repeat;
+    background-position: 24px 0;
+    margin: 1.5em 0;
+}
+
+#flash p {
+    background-color: #fff;
+    font-size: 2.12em;
+    line-height: 1.2em;
+    padding: .5em;
+    font-weight: bold;
+}
+
 .feature-limited {
     background-color: #f9f6ba;
     border: 2px solid #e9e6aa;
@@ -304,9 +775,85 @@ input.profilesubmit:hover {
     padding: .5em 1em;
 }
 
-.pagination {
+.minor-notification {
+    background-color: #ffc;
+    border-width: 1px 0;
+    border-color: #eeb;
+    border-style: solid none;
+    padding: .5em 1em;
+}
+
+.bottom-nav {
+    padding: 0 10px;
+    margin: 1em 0 .5em 0;
+}
+
+.bottom-nav a, .bottom-nav .link-like {
+    border: 1px solid #cecece;
+    padding: .25em 1em;
+    margin: .25em 0;
+}
+
+#pagination {
+    text-align: center;
+}
+
+#pagination.pagination {
     height: 2em;
-    margin-bottom: 2em;
+}
+
+#pagination.pagination a, #pagination.pagination .link-like {
+    float: right;
+    margin-right: 10px;
+}
+
+#pagination input[type=submit].more {
+    width: 100%;
+    font-size: 1.2em;
+}
+
+#pagination a.last {
+    margin-left: 1em;
+}
+
+.password-meter {
+    padding-left: 10px;
+}
+
+.pstrength-text {
+    font-weight: bold;
+}
+
+.password-weak {
+    color: #801b1b;
+}
+
+.password-good {
+    color: #803f1b;
+}
+
+.password-strong {
+    color: #80771b;
+}
+
+.password-verystrong {
+    color: #2a801b;
+}
+
+.error {
+    color: #801b1b;
+}
+
+.top {
+    vertical-align: top !important;
+}
+
+.bottom {
+    vertical-align: bottom !important;
+}
+
+.middle {
+    vertical-align: middle !important;
 }
 
 .first {
@@ -319,98 +866,219 @@ input.profilesubmit:hover {
     padding-bottom: 0;
 }
 
-.clear {
+.right {
+    float: right;
+}
+
+.left {
+    float: left;
+}
+
+.clearfix {
+    zoom: 1;
+}
+
+.clearfix:after {
+    content: &quot;.&quot;;
+    display: block;
+    height: 0;
     clear: both;
-    float: none;
+    visibility: hidden;
 }
 
-body.search .results-count {
-    float: right;
-    line-height: 1.25em;
-    padding-left: 1em;
+.disabled {
+    color: #bbb;
 }
 
-body.search .results-count span {
-    font-size: x-small;
-    color: #77778A;
+.loading {
+    background-position: 50% 50%;
+    background-repeat: no-repeat;
 }
 
-body.search#tweets #content {
-    -moz-border-radius-bottomleft: 5px;
-    -moz-border-radius-topleft: 5px;
-    -webkit-border-radius-bottomleft: 5px;
-    -webkit-border-radius-topleft: 5px;
+.hidden {
+    display: none;
 }
 
-body.search#tweets .tab {
-    border-top: 0;
+.invisible {
+    visibility: hidden;
 }
 
-body.search#tweets #more {
-    border: 1px solid #CCC;
+.offscreen {
+    position: absolute;
+    left: -9999px;
+}
+
+.empty-set {
+    padding: 30px !important;
+}
+
+.round {
     -moz-border-radius: 5px;
     -webkit-border-radius: 5px;
-    padding: 5px 5px 5px 10px;
-    margin: -2px 0 0 0;
-    display: none;
 }
 
-body.search#tweets #side_base {
-    background: #B3ECEF;
-    border: 0;
+.round-top-right {
+    -moz-border-radius-topright: 5px;
+    -webkit-border-top-right-radius: 5px;
 }
 
-body.search#tweets #side h3 {
-    color: #000;
-    font-size: 13px;
-    font-weight: normal;
-    margin-bottom: 5px;
+.round-right {
+    -moz-border-radius-topright: 5px;
+    -moz-border-radius-bottomright: 5px;
+    -webkit-border-top-right-radius: 5px;
+    -webkit-border-bottom-right-radius: 5px;
 }
 
-body.search#tweets #side ul li {
-    margin: 0 0 5px;
+.round-bottom-right {
+    -moz-border-radius-bottomright: 5px;
+    -webkit-border-bottom-right-radius: 5px;
 }
 
-body.search#tweets .sections .section {
-    background: #FFF;
-    margin: 0 0 10px 10px;
-    padding: 13px;
+.round-bottom {
+    -moz-border-radius-topright: 0;
+    -moz-border-radius-topleft: 0;
+    -moz-border-radius-bottomright: 5px;
+    -moz-border-radius-bottomleft: 5px;
+    -webkit-border-top-right-radius: 0;
+    -webkit-border-top-left-radius: 0;
+    -webkit-border-bottom-right-radius: 5px;
+    -webkit-border-bottom-left-radius: 5px;
 }
 
-body.search#tweets .sections .top {
-    -moz-border-radius-topright: 5px;
+.round-bottom-left {
     -moz-border-radius-bottomleft: 5px;
-    -webkit-border-radius-topright: 5px;
-    -webkit-border-radius-bottomleft: 5px;
+    -webkit-border-bottom-left-radius: 5px;
 }
 
-body.search#tweets .sections .middle, body.search#tweets .sections .bottom {
+.round-left {
     -moz-border-radius-topleft: 5px;
     -moz-border-radius-bottomleft: 5px;
-    -webkit-border-radius-topleft: 5px;
-    -webkit-border-radius-bottomleft: 5px;
+    -webkit-border-top-left-radius: 5px;
+    -webkit-border-bottom-left-radius: 5px;
 }
 
-body.search#tweets #trending_topics {
-    height: 210px;
+.round-top-left {
+    -moz-border-radius-topleft: 5px;
+    -webkit-border-top-left-radius: 5px;
 }
 
-body.search#tweets #featured-profiles ul {
-    margin: 0;
-    padding: 0;
-    list-style: none;
+.round-top {
+    -moz-border-radius-topright: 5px;
+    -moz-border-radius-topleft: 5px;
+    -moz-border-radius-bottomright: 0;
+    -moz-border-radius-bottomleft: 0;
+    -webkit-border-top-right-radius: 5px;
+    -webkit-border-top-left-radius: 5px;
+    -webkit-border-bottom-right-radius: 0;
+    -webkit-border-bottom-left-radius: 0;
 }
 
-body.search#tweets #featured-profiles ul li {
-    line-height: 30px;
-    padding: 0;
-    margin: 0 0 2px 0;
+#profilebox_outer {
+    padding-top: 41px;
+    position: relative;
 }
 
-body.search#tweets #featured-profiles img {
-    border: 0;
+#profilebird {
+    position: absolute;
+    top: 0;
+}
+
+#profilebox {
+    background: #feffdf;
+    border: 1px solid #ff0;
+    padding: 20px;
+    vertical-align: middle;
+    margin-bottom: 10px;
+}
+
+#profilebox h1, #profilebox h2 {
+    font-weight: normal;
+}
+
+#profilebox h2 {
+    margin-top: .5em;
+    font-size: 1.3em;
+}
+
+#profiletext {
+    float: left;
+    width: 495px;
+}
+
+div#profilebutton {
+    float: right;
+    text-align: center;
+    margin-left: 50px;
+}
+
+div#profilebutton small {
+    line-height: 1.25em;
+}
+
+input.profilesubmit {
+    background-color: #74CA00;
+    color: #fff;
+    font-weight: bold;
+    margin: 0 0 5px 0;
+    border: 1px solid #0f0;
+    width: 175px;
+    cursor: hand;
+}
+
+input.profilesubmit:hover {
+    background-color: #8CF500;
+}
+
+body#profile ol.statuses span.status-body {
+    margin-left: 0;
+    min-height: 0;
+}
+
+body#profile ol.statuses li {
+    padding-bottom: .8em;
+    padding-left: .5em;
+}
+
+body#profile ol.statuses li.latest-status {
+    padding: 1.5em 0 1.5em .5em;
+    border-top-width: 0;
+    line-height: 1.5em;
+}
+
+body#profile ol.statuses .latest-status .actions {
+    top: .5em;
     vertical-align: middle;
-    padding-right: 4px;
+}
+
+body#profile ol.statuses .latest-status .entry-content {
+    font-size: 1.77em;
+}
+
+body#profile .latest-status .entry-meta {
+    display: block;
+}
+
+body#show .status-body {
+    display: block;
+    margin-right: 30px;
+    font-size: 1.2em;
+    padding-bottom: 15px;
+}
+
+body#show .thumb img {
+    width: 48px;
+    height: 48px;
+}
+
+body#show .protected {
+    padding-left: 0;
+    background-position: 55px 50%;
+    background-repeat: no-repeat;
+}
+
+body#show .top-nav, body#show #footer {
+    font-size: 85%;
+    overflow: hidden;
 }
 
 body.search#users #timeline {
@@ -432,4 +1100,170 @@ body.search#users .hentry:hover {
 
 body.search#users .hentry .bio {
     font-size: 90%;
+}
+
+.oauth_clients #content {
+    background: #fff url('/images/wind-up-bird.png') top right no-repeat;
+}
+
+.ie6.oauth_clients #content {
+    background: #fff url('/images/wind-up-bird.gif') top right no-repeat;
+}
+
+body#oauth_clients #content div.section {
+    margin-top: 50px;
+}
+
+body.oauth_clients #content div.section {
+    margin: 1em 10px;
+}
+
+.oauth_clients div.section ul.bulleted {
+    line-height: 1.25em;
+    display: block;
+    list-style: disc;
+    margin: 0 2em;
+}
+
+.oauth_clients div.section h2 {
+    padding: 10px 0;
+}
+
+.oauth_clients table.input-form {
+    width: 500px;
+    margin-top: 20px;
+}
+
+.oauth_clients .common-form .input-form input[type=text] {
+    width: 300px;
+}
+
+.oauth_clients .common-form .input-form input[type=file] {
+    width: 270px;
+}
+
+.oauth_clients .common-form .input-form textarea {
+    height: 100px;
+    width: 300px;
+}
+
+#connections .common-form li.suspended {
+    background-color: #fdd;
+}
+
+.oauth_clients #content h1 {
+    margin: 10px 15px 0;
+    font-size: 2em;
+}
+
+.app-details {
+    width: 100%;
+}
+
+.app-details th {
+    font-size: 1.1em;
+    vertical-align: top;
+    text-align: right;
+    font-weight: bold;
+    white-space: nowrap;
+}
+
+.app-details th, .app-details td {
+    padding: 3px 8px;
+}
+
+ul.app-list {
+    margin: 20px 0 20px 0;
+}
+
+ul.app-list label {
+    font-size: .9em;
+    line-height: 1.2;
+}
+
+ul.app-list strong, .app-details strong {
+    font-size: 1.3em;
+}
+
+ul.app-list p {
+    margin: 2px 0 0 !important;
+    line-height: 1.3 !important;
+}
+
+ul.app-list li.suspended label, ul.app-list li.suspended label a, ul.app-list li.suspended span {
+    color: #963b3b;
+}
+
+li.revoked label, li.revoked span, li.revoked p, li.revoked img, li.revoked small {
+    opacity: .5;
+    filter: alpha(opacity = 50);
+}
+
+ul.app-list li.inactive span {
+    color: #666;
+    font-weight: bold;
+}
+
+ul.app-list small, .app-details small {
+    color: gray;
+}
+
+ul.app-list a.revoke-access {
+    font-weight: bold;
+    font-size: .9em;
+}
+
+#content div.section ul.app-list li {
+    margin: 15px 0;
+    clear: both;
+}
+
+#content ul.app-list li img {
+    margin: 0 8px 25px;
+    vertical-align: middle;
+    float: left;
+}
+
+.oauth_clients #content img {
+    margin: 0;
+    border: 1px solid #999;
+    height: 73px;
+    width: 73px;
+}
+
+.app-details h2 {
+    padding: 0 !important;
+}
+
+.app-details li label {
+    font-weight: bold;
+}
+
+.app-details ul {
+    margin: 70px 0;
+    display: block;
+    clear: both;
+}
+
+.app-details li small {
+    font-size: .8em;
+}
+
+.app-details ul li {
+    font-size: 1.1em;
+    padding: 3px 0 !important;
+}
+
+.app-details code {
+    border-top: 1px solid #aaa;
+    display: block;
+    padding: 8px 0 15px;
+}
+
+.app-details div.buttons {
+    text-align: left;
+}
+
+.oauth_clients #content div.app-details, body#details.oauth_clients div.section {
+    margin-top: 10px;
 }
\ No newline at end of file</diff>
      <filename>public/stylesheets/master.css</filename>
    </modified>
    <modified>
      <diff>@@ -9,24 +9,6 @@
     overflow: hidden;
 }
 
-#container {
-    width: 763px;
-    margin: 0 auto;
-    padding: 15px 0;
-    text-align: left;
-    position: relative;
-}
-
-#loader {
-    position: absolute;
-    top: 5px;
-    right: 0;
-    padding: 0;
-    background: #FFF;
-    border: 1px solid #CCC;
-    line-height: 0;
-}
-
 .columns {
     margin-bottom: 15px;
     width: 100%;
@@ -128,7 +110,6 @@ fieldset {
 }
 
 .get-started-steps {
-    margin-bottom: 10px;
     font-size: 1.2em;
     line-height: 1.1;
 }
@@ -163,10 +144,6 @@ fieldset label {
     padding: 5px 10px 0 5px;
 }
 
-#content .disabled {
-    color: #bbb;
-}
-
 .status-btn input.round-btn {
     width: 115px;
     height: 32px;
@@ -190,19 +167,6 @@ fieldset label {
     cursor: default;
 }
 
-.wrapper input.submit, .wrapper button, .wrapper input[type=button], .wrapper input[type=&quot;file&quot;]&gt;input[type=&quot;button&quot;] {
-    background-color: #E6E6E6;
-    border: 1px solid #ccc;
-    padding-top: 1px solid #fff;
-    font-size: 1em;
-    padding: 4px 8px 4px 8px;
-}
-
-.wrapper input.submit:hover, .wrapper button:hover, .wrapper input[type=submit]:hover, .wrapper input[type=&quot;file&quot;]&gt;input[type=&quot;button&quot;]:hover {
-    background: #d5d5d5;
-    cursor: pointer;
-}
-
 .flatbutton button, .flatbutton input[type=submit], input[type=button].flatbutton {
     background-color: #E6E6E6;
     border: 1px solid #ccc;
@@ -244,15 +208,6 @@ body#favourings .tab, body#home .tab, body#profile .tab, body.status .tab, body#
     margin: -1px 10px;
 }
 
-body#home #timeline, body.status #timeline {
-    border-top: 1px dashed #d2dada;
-}
-
-body#profile #timeline, body#favourings #timeline {
-    border-top: 1px dashed #d2dada;
-    margin-top: 10px;
-}
-
 #content.wide {
     width: 100%;
     -moz-border-radius: 5px;
@@ -261,15 +216,11 @@ body#profile #timeline, body#favourings #timeline {
 
 .tab {
     background: #fff;
-    padding: 0;
+    padding: 10px 0;
     border-top: 1px solid #cecece;
     margin: -1px 10px;
 }
 
-body#home #timeline {
-    border-top: 1px dashed #d2dada;
-}
-
 #content h2.timeline-header {
     margin-bottom: 0;
 }
@@ -301,263 +252,6 @@ body#home #timeline {
     vertical-align: middle;
 }
 
-.bottom_nav {
-    padding: 0;
-    margin-top: 20px;
-    float: none;
-    clear: both;
-}
-
-.pagination {
-    float: right;
-}
-
-.pagination ul {
-    padding: 0;
-    margin: 0;
-}
-
-.pagination li {
-    float: left;
-    padding: 0 7px;
-}
-
-#content .section_links {
-    border: 1px solid #cecece;
-    padding: 4px 15px;
-    margin: 5px 0;
-}
-
-.clear {
-    clear: both;
-}
-
-#side_base {
-    border-left: 1px solid #bddcad;
-    width: 199px;
-    line-height: 1.2;
-    background-color: #dfc;
-    -moz-border-radius-topright: 5px;
-    -webkit-border-top-right-radius: 5px;
-    -moz-border-radius-bottomright: 5px;
-    -webkit-border-bottom-right-radius: 5px;
-}
-
-#side_ad_base {
-    height: 185px;
-    text-align: center;
-    padding-top: 5px;
-}
-
-#side {
-    margin-bottom: 10px;
-}
-
-.subpage #side {
-    margin-top: 0;
-}
-
-#side_base div.section {
-    padding: 13px 13px 16px;
-}
-
-div.section-header {
-    margin: 10px 0 5px 0;
-}
-
-div.section-header h1 {
-    font-weight: bold;
-    color: #333;
-    font-size: 1.1em;
-    padding: 0 0 2px;
-}
-
-.notify {
-    text-align: center;
-    line-height: 1;
-    padding: 5px 0;
-    background-repeat: no-repeat;
-    background-position: left center;
-    margin-bottom: 8px;
-}
-
-.notify div {
-    background-color: #fff;
-    font-size: .9em;
-    margin: 0 12px 0 24px;
-    padding: 10px 3px;
-    border: 1px solid #888;
-    -moz-border-radius: 5px;
-    -webkit-border-radius: 5px;
-}
-
-.actions {
-    border: 1px solid #87bc44;
-    margin: 10px -3px;
-}
-
-.actions small {
-    font-size: .9em;
-}
-
-.actions a {
-    padding-left: 7px;
-}
-
-div.user_icon {
-    padding-bottom: 10px;
-}
-
-div.user_icon img {
-    float: left;
-    padding-right: .8em;
-}
-
-.side_thumb {
-    height: 31px;
-    width: 31px;
-}
-
-#me_name {
-    font-size: 1.35em;
-    line-height: 30px;
-    margin-right: -10px;
-}
-
-#side table.stats {
-    margin: 5px 0 10px 0;
-}
-
-#side table.stats td {
-    padding: 0 7px 0 0;
-}
-
-#side table.stats td a {
-    text-decoration: none;
-}
-
-#side table.stats td a:hover .label {
-    text-decoration: underline;
-}
-
-#side table.stats td+td {
-    padding: 0 7px;
-    border-left: solid 1px #bddcad;
-    border-right: solid 1px #bddcad;
-}
-
-#side table.stats td+td+td {
-    border: 0;
-}
-
-#side table.stats td .numeric {
-    font-size: 1.3em;
-    font-family: georgia;
-    text-decoration: none;
-}
-
-#side table.stats td .label {
-    text-transform: lowercase;
-    font-size: .9em;
-}
-
-.promotion {
-    color: #000;
-    border: 1px solid #BDDCAD;
-    text-align: left;
-    font-size: 11px;
-    margin-top: 7px;
-    padding: 6px 10px;
-    width: 152px;
-}
-
-#side ul {
-    margin: 0;
-}
-
-ul#tabMenu li {
-    display: block;
-    border-top: 1px solid #bddcad;
-    width: 100%;
-}
-
-ul#tabMenu a {
-    display: block;
-    padding: 13px;
-    text-decoration: none;
-    color: #4c4c4c;
-    font-weight: bold;
-    font-size: 110%;
-}
-
-body#home ul#tabMenu a#home_tab, body#profile ul#tabMenu a#updates_tab, body#replies ul#tabMenu a#replies_tab, body.direct_messages ul#tabMenu a#direct_messages_tab, body#favourings ul#tabMenu a#favorites_tab, body#public_timeline ul#tabMenu a#public_timeline_tab {
-    background: #fff;
-    margin-left: -1px;
-    padding-left: 14px;
-}
-
-ul#tabMenu a#user_search_tab {
-    display: block;
-    padding: 10px;
-}
-
-.disabled-search-text {
-    border: 1px solid #777;
-    height: 16px;
-    width: 95px;
-    color: #666;
-    background-color: #EEE &#223;;
-    padding: 2px 2px 1px 2px;
-}
-
-.stat_count {
-    float: right;
-    font-weight: bold;
-}
-
-#side div.last {
-    border-top: 1px solid #bddcad;
-}
-
-div.section-header#people {
-    margin-top: 0;
-}
-
-#side .section-links {
-    float: right;
-    font-size: .9em;
-    text-align: right;
-}
-
-#friends {
-    padding: 0 0 0 3px;
-    overflow: hidden;
-}
-
-#friends span {
-    float: left;
-    padding: 0 3px 2px 1px;
-}
-
-#friends img {
-    padding: 0;
-}
-
-#friends_view_all {
-    font-size: .9em;
-    padding: 0 0 0 4px;
-}
-
-#device_control label {
-    margin-right: 5px;
-}
-
-#device_control #device_msg {
-    font-size: 80%;
-    margin-top: -5px;
-    margin-bottom: 0;
-}
-
 .join {
     text-align: center;
 }
@@ -642,72 +336,6 @@ div.section-header#people {
     text-decoration: underline;
 }
 
-.about li {
-    padding-bottom: 3px;
-}
-
-.about .label {
-    font-weight: bold;
-}
-
-#footer {
-    clear: left;
-    text-align: center;
-    padding: 8px 0;
-    line-height: 1;
-}
-
-#footer li {
-    display: inline;
-    padding: 0 4px;
-}
-
-#footer li.first:before {
-    content: '';
-    padding-right: 0;
-}
-
-#navigation, #footer {
-    background: #fff;
-    white-space: nowrap;
-    -moz-border-radius: 5px;
-    -webkit-border-radius: 5px;
-    -moz-border-radius-topleft: 5px;
-    -webkit-border-top-left-radius: 5px;
-}
-
-#navigation {
-    position: absolute;
-    top: 24px;
-    right: 0;
-    padding: 8px 10px 8px 5px;
-    line-height: 1.0em;
-    text-align: right;
-    text-align: center;
-    -moz-border-radius: 5px;
-    -webkit-border-radius: 5px;
-    font-size: 105%;
-}
-
-#navigation ul {
-    padding-top: 0;
-}
-
-#navigation li {
-    display: inline;
-    padding: 0 0 0 9px;
-}
-
-#navigation li:before {
-    content: ' ';
-    padding-right: 0;
-}
-
-#navigation li.first:before {
-    content: '';
-    padding-right: 0;
-}
-
 #went-protected-notice {
     background: #FF9;
     border: 1px solid #FCFC19;
@@ -742,10 +370,6 @@ div.section-header#people {
     -webkit-border-radius: 5px;
 }
 
-#flash .thumb {
-    padding-left: 24px;
-}
-
 .alert-box {
     background: #FF7B6D;
     padding: 10px;
@@ -825,13 +449,11 @@ body#profile #content h2.thumb {
     font-size: 2.8em;
     line-height: 50px;
     padding: 20px 15px 0 0;
-    margin-bottom: 0;
 }
 
 body#profile #content h2.thumb img {
     float: left;
     margin-bottom: 5px;
-    margin-top: -10px;
 }
 
 body#profile h2.thumb div#follow-details img#x {
@@ -991,58 +613,6 @@ input.update-button, .update-button button, .update-button input[type=submit], i
     -webkit-border-radius: 5px;
 }
 
-div#profilebird {
-    position: absolute;
-    padding: 0;
-    margin: 0;
-    height: 48px;
-    clear: both;
-}
-
-div#profilebox {
-    width: 741px;
-    background: #feffdf;
-    border: 1px solid #ff0;
-    padding: 5px 10px 10px 10px;
-    vertical-align: middle;
-    margin-top: 40px;
-    margin-bottom: 10px;
-}
-
-div#profiletext {
-    float: left;
-    width: 480px;
-    margin-top: 10px;
-    margin-bottom: 10px;
-}
-
-div#profilebutton {
-    float: left;
-    text-align: center;
-    width: 175px;
-    margin-left: 50px;
-}
-
-div#profilebutton small {
-    line-height: 8px;
-}
-
-input.profilesubmit {
-    background-color: #74CA00;
-    font-size: 24px;
-    color: #fff;
-    font-weight: bold;
-    margin: 20px 0 10px 0;
-    padding: 10px;
-    border: 1px solid #0f0;
-    width: 175px;
-    cursor: hand;
-}
-
-input.profilesubmit:hover {
-    background-color: #8CF500;
-}
-
 .direct_messages .bar h3 {
     padding: 4px 4px;
 }
@@ -1101,19 +671,4 @@ input.profilesubmit:hover {
     vertical-align: top;
     margin: 0 0 0 5px;
     font-size: .8em;
-}
-
-#admin_dialog {
-    display: none;
-}
-
-#admin_dialog input[type=&quot;text&quot;] {
-    border: 1px solid #777;
-    color: #777;
-    height: 16px;
-    padding: 2px 2px 1px;
-}
-
-#admin_dialog table td {
-    text-align: right;
 }
\ No newline at end of file</diff>
      <filename>public/stylesheets/timeline.css</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>app/controllers/favourites_controller.rb</filename>
    </removed>
    <removed>
      <filename>app/helpers/favourites_helper.rb</filename>
    </removed>
    <removed>
      <filename>app/views/favourites/index.html.erb</filename>
    </removed>
    <removed>
      <filename>test/functional/favourites_controller_test.rb</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>227187c05ba9eda885b6881ac4c6f48105236a47</id>
    </parent>
  </parents>
  <author>
    <name>Rob Nielsen</name>
    <email>rob@refactor.com.au</email>
  </author>
  <url>http://github.com/rnielsen/twetter/commit/5eebc65d47c31de6103585e6d2568b4bdc34bed3</url>
  <id>5eebc65d47c31de6103585e6d2568b4bdc34bed3</id>
  <committed-date>2009-03-02T05:21:25-08:00</committed-date>
  <authored-date>2009-03-02T05:21:25-08:00</authored-date>
  <message>updated to changed twitter version and initial direct_messages support</message>
  <tree>092933888e17447ad770141d3bc278d8cab98578</tree>
  <committer>
    <name>Rob Nielsen</name>
    <email>rob@refactor.com.au</email>
  </committer>
</commit>
