if(window.jstiming){window.jstiming.beaconImageReferences_={};window.jstiming.reportCounter_=1;function getTick(b,a,f){a=b.t[a];b=b.t.start;if(!a||!(b||f))return undefined;if(f!=undefined)b=f;return a-b}window.jstiming.report=function(b,a,f){var e="";if(window.jstiming.pt){e+="&srt="+window.jstiming.pt;delete window.jstiming.pt}try{if(window.external&&window.external.tran)e+="&tran="+window.external.tran;else if(window.gtbExternal&&window.gtbExternal.tran)e+="&tran="+window.gtbExternal.tran()}catch(c){}if(b.dapperCookie_)e+=
"&"+b.dapperCookie_;var i=b.t,d=i.start,h=[];for(var r in i)r!="start"&&d&&h.push(r+"."+getTick(b,r));delete i.start;if(a)for(var m in a)e+="&"+m+"="+a[m];b=[f?f:"http://csi.gstatic.com/csi","?v=3","&s="+(window.jstiming.sn||"codesite")+"&action=",b.name,e,"&rt=",h.join(",")].join("");a=new Image;var z=window.jstiming.reportCounter_++;window.jstiming.beaconImageReferences_[z]=a;a.onload=a.onerror=function(){delete window.jstiming.beaconImageReferences_[z]};a.src=b;a=null;return b}};(function(){var b={dictionariesList:["products","programs","searchSuggest","searchResultTabs"],products:{includeInSearchSuggest:true,entries:{android:{title:"Android",groupsTitle:"Grupos do Android",url:"/android/",keywords:{celular:10}},gdata:{title:"APIs de dados do Google",groupsTitle:"Grupos das APIs de dados do Google",url:"/apis/gdata/",keywords:{apis:1,feed:1,entradas:6,gentries:10,"apis de dados":10,java:1}},blogger:{title:"API de dados do Blogger (Labs)",groupsTitle:"Grupos da API de dados do Blogger",
url:"/apis/blogger/",keywords:{apis:1,feed:1,entradas:2,gentries:1,"apis de dados":4}},chromium:{title:"Chromium",groupsTitle:"Grupos do Chromium",url:"/chromium/",keywords:{navegador:1,chrome:1,chromium:1,v8:1}},feedburner:{title:"APIs do Feedburner (Labs)",groupsTitle:"Grupos do FeedBurner",url:"/apis/feedburner/",keywords:{feed:10}},accounts:{title:"Autentica\u00e7\u00e3o de Conta do Google",groupsTitle:"Grupos de autentica\u00e7\u00e3o de Conta do Google",url:"/apis/accounts/",keywords:{apis:1,
feed:1,entradas:1,pessoas:1}},adsense:{title:"API do Google AdSense",groupsTitle:"Grupos da API do Google AdSense",url:"/apis/adsense/",keywords:{"an\u00fancios":1,apis:1}},adwords:{title:"API do Google AdWords",groupsTitle:"Grupos da API do Google AdWords",url:"/apis/adwords/",keywords:{"an\u00fancios":2,apis:1}},ajax:{title:"APIs AJAX do Google",groupsTitle:"Grupos das APIs AJAX do Google",url:"/apis/ajax/",keywords:{ajax:10,apis:10}},ajaxfeeds:{title:"API AJAX de feed do Google",groupsTitle:"Grupos da API AJAX de feed do Google",
url:"/apis/ajaxfeeds/",keywords:{ajax:8,apis:5,feed:6}},ajaxlanguage:{title:"API AJAX de idioma do Google",groupsTitle:"Grupos da API AJAX de idioma do Google",url:"/apis/ajaxlanguage/",keywords:{ajax:8,apis:5,idioma:10}},ajaxsearch:{title:"API AJAX de Pesquisa do Google",groupsTitle:"Grupos da API AJAX de Pesquisa do Google",url:"/apis/ajaxsearch/",keywords:{ajax:9,apis:10,pesquisa:6,traduzir:5}},analytics:{title:"Google Analytics",groupsTitle:"Grupos do Google Analytics",url:"/apis/analytics/",
keywords:{ferramentas:1,apis:1,"apis de dados":1}},appengine:{title:"Google App Engine",groupsTitle:"Grupos do Google App Engine",url:"/appengine/",keywords:{apis:5,ferramentas:1,java:8,eclipse:1,app:8,"app engine":10,"plug-in":1}},googleapps:{title:"Ferramentas do Google Apps para desenvolvedores",url:"/googleapps/",keywords:{"google apps":10,gadgets:1,empresa:1,"app engine":1,"neg\u00f3cios":1,firewall:1,sdc:1}},apps:{title:"APIs do Google Apps",groupsTitle:"Grupos das APIs do Google Apps",url:"/apis/apps/",
keywords:{apis:1}},base:{title:"API de dados do Google Base (Labs)",groupsTitle:"Grupos da API de dados do Google Base",url:"/apis/base/",keywords:{apis:1,feed:1,entradas:2,gentries:1,"apis de dados":2}},books:{title:"APIs da Pesquisa de Livros do Google (Labs)",groupsTitle:"Grupos das APIs da Pesquisa de Livros do Google",url:"/apis/books/",keywords:{ajax:9,apis:10,pesquisa:1,feeds:1,livros:1}},calendar:{title:"APIs e ferramentas do Google Agenda",groupsTitle:"Grupos das APIs e ferramentas do Google Agenda",
url:"/apis/calendar/",keywords:{apis:1,feed:5,entradas:2,gadgets:3,gentries:1,"apis de dados":3,ferramentas:1}},chart:{title:"API do Google Chart",groupsTitle:"Grupos da API do Google Chart",url:"/apis/chart/",keywords:{apis:1,"gr\u00e1ficos":1}},checkout:{title:"API do Google Checkout",groupsTitle:"Grupos da API do Google Checkout",url:"/apis/checkout/",keywords:{apis:5}},csearch:{title:"Pesquisa de C\u00f3digo do Google (Labs)",url:"http://www.google.com/codesearch",keywords:{pesquisa:1}},codesearch:{title:"API de dados da Pesquisa de C\u00f3digo do Google (Labs)",
groupsTitle:"Grupos da API de dados da Pesquisa de C\u00f3digo do Google",url:"/apis/codesearch/",keywords:{apis:1,feed:1,entradas:1,gentries:1,pesquisa:1}},customsearch:{title:"API da Pesquisa Personalizada do Google",groupsTitle:"Grupos da API da Pesquisa Personalizada do Google",url:"/apis/customsearch/",keywords:{apis:1,"an\u00fancios":1,personalizar:1,pesquisa:3,cse:1}},contacts:{title:"APIs de contatos do Google",groupsTitle:"Grupos de APIs de contatos do Google",url:"/apis/contacts/",keywords:{apis:1,
feed:1,entradas:2,gentries:1,contatos:1,"apis de dados":4}},coupons:{title:"Feeds de cupom do Google (Labs)",url:"/apis/coupons/",keywords:{feed:1}},desktop:{title:"APIs do Google Desktop (Labs)",groupsTitle:"Grupos das APIs do Google Desktop",url:"/apis/desktop/",keywords:{gadgets:1,pesquisa:1}},documents:{title:"API de dados do Google Documents List",groupsTitle:"Grupos da API de dados do Google Documents List",url:"/apis/documents/",keywords:{apis:1,feed:1,entradas:2,gentries:1,"apis de dados":3}},
"in-stream":{title:"DoubleClick In-Stream (Labs)",url:"/apis/in-stream/",keywords:{apis:1,DoubleClick:10,"an\u00fancios":1,"v\u00eddeo":1,flash:1}},earth:{title:"API do Google Earth",groupsTitle:"Grupos da API do Google Earth",url:"/apis/earth/",keywords:{apis:4,desenvolvedor:1,"dia do desenvolvedor":1,geo:6,mapas:6,kml:6}},eclipse:{title:"Plug-in do Google para o Eclipse",url:"/eclipse/",keywords:{java:3,gwt:1,"app engine":1,"plug-in":10}},finance:{title:"API de dados do Google Finance (Labs)",url:"/apis/finance/",
keywords:{apis:4,feeds:1,"apis de dados":1}},flashmaps:{title:"API do Google Maps para Flash",url:"/apis/maps/documentation/flash/",keywords:{ajax:7,apis:4,actionscript:1,geo:6,mapas:6}},friendconnect:{title:"APIs do Google Friend Connect  (Labs)",url:"/apis/friendconnect/",keywords:{apis:5,gadgets:5,social:10,amigo:10}},gadgets:{title:"API de gadgets",groupsTitle:"Grupos da API de gadgets",url:"/apis/gadgets/",keywords:{"finan\u00e7as":1,apis:8,gadgets:6}},gears:{title:"Gears (Labs)",groupsTitle:"Grupos do Gears",
url:"/apis/gears/",keywords:{ajax:5,apis:9,ferramentas:1}},health:{title:"API do Google Health",groupsTitle:"Grupos de desenvolvedores do Google Health",url:"/apis/health/",keywords:{"apis de dados":3,feed:1,"sa\u00fade":1,java:1}},igoogle:{title:"P\u00e1gina inicial do desenvolvedor do iGoogle (Labs)",groupsTitle:"Grupos de desenvolvedores do iGoogle",url:"/apis/igoogle/",keywords:{"an\u00fancios":3,apis:1,gadgets:1,social:1}},themes:{title:"API de temas do iGoogle (Labs)",url:"/apis/themes/",keywords:{apis:1}},
kml:{title:"KML",groupsTitle:"Grupos de KML",url:"/apis/kml/",keywords:{apis:1,geo:4,mapas:1}},mapplets:{title:"Google Mapplets",url:"/apis/maps/documentation/mapplets/",keywords:{apis:1,gadgets:1,geo:5,mapas:1}},maps:{title:"API do Google Maps",groupsTitle:"Grupos da API do Google Maps",url:"/apis/maps/",keywords:{ajax:7,apis:4,geo:6,mapas:6}},o3d:{title:"API do O3D (Labs)",groupsTitle:"Grupos do O3D",url:"/apis/o3d/",keywords:{"gr\u00e1ficos":10,"software livre":1,javascript:1,"3d":10}},opensocial:{title:"OpenSocial",
groupsTitle:"Grupos do OpenSocial",url:"/apis/opensocial/",keywords:{social:10,"software livre":2,apis:8}},orkut:{title:"P\u00e1gina inicial de desenvolvedor do orkut",groupsTitle:"Grupos do orkut",url:"/apis/orkut/",keywords:{social:8}},safebrowsing:{title:"APIs do Google Safe Browsing (Labs)",groupsTitle:"Grupos das APIs do Google Safe Browsing",url:"/apis/safebrowsing/",keywords:{apis:1,feed:1,entradas:1,pessoas:1}},securedataconnector:{title:"Google Secure Data Connector",groupsTitle:"Grupos de discuss\u00e3o da API do Google Apps",
url:"/securedataconnector/",keywords:{"apis de dados":3,sdc:10,gadgets:1,firewall:10,empresa:1,"app engine":1,rede:1,"google apps":2}},sitemaps:{title:"Sitemaps do Google",url:"https://www.google.com/webmasters/tools/docs/en/about.html",keywords:{pesquisa:1,ferramentas:1}},sketchup:{title:"API do Google SketchUp Ruby",groupsTitle:"Grupos da API do Google SketchUp Ruby",url:"/apis/sketchup/",keywords:{apis:1,geo:3}},socialgraph:{title:"API do Social Graph (Labs)",groupsTitle:"Grupos da API do Social Graph",
url:"/apis/socialgraph/",keywords:{social:9}},spreadsheets:{title:"API de dados do Google Spreadsheets (Labs)",groupsTitle:"Grupos da API de dados do Google Spreadsheets",url:"/apis/spreadsheets/",keywords:{apis:1,feed:1,entradas:2,gentries:1,"apis de dados":4}},staticmaps:{title:"API do Google Static Maps",url:"/apis/maps/documentation/staticmaps/",keywords:{apis:1,geo:6,mapas:2}},talk:{title:"Google Talk para desenvolvedores (Labs)",groupsTitle:"Grupos do Google Talk XMPP",url:"/apis/talk/",keywords:{apis:1}},
toolbar:{title:"API da Barra de Ferramentas Google (Labs)",url:"http://www.google.com/tools/toolbar/buttons/apis",keywords:{apis:1,ferramentas:1}},transit:{title:"Especifica\u00e7\u00e3o de feed do Google Transit",groupsTitle:"Grupos de feed do Google Transit",url:"/transit/spec/transit_feed_specification.html",keywords:{feed:1,geo:1,mapas:1}},visualization:{title:"API de visualiza\u00e7\u00e3o do Google",groupsTitle:"Grupos da API de visualiza\u00e7\u00e3o do Google",url:"/apis/visualization/",keywords:{ajax:1,
apis:3,gentries:1,gadgets:3}},webtoolkit:{title:"Google Web Toolkit",groupsTitle:"Grupos do Google Web Toolkit",url:"/webtoolkit/",keywords:{ajax:6,java:1,ferramentas:6,eclipse:1,gwt:10}},picasa:{title:"APIs do Picasa (Labs)",groupsTitle:"Grupos das APIs do Picasa",url:"/apis/picasa/",keywords:{apis:3,pessoas:1}},picasaweb:{title:"API de dados dos \u00c1lbuns da web do Picasa",groupsTitle:"Grupos da API de dados dos \u00c1lbuns da web do Picasa",url:"/apis/picasaweb/",keywords:{feed:1,entradas:1,
gentries:1,"apis de dados":3}},v8:{title:"V8",url:"/apis/v8/",keywords:{apis:1,navegador:1,chrome:1,chromium:1,ferramentas:1}},wave:{title:"API do Google Wave",groupsTitle:"Grupos da API do Google Wave",url:"/apis/wave",keywords:{wave:10,"rob\u00f4s":5,gadgets:1,incorporar:3,"extens\u00f5es":1}},webelements:{title:"Google Web Elements",url:"http://www.google.com/webelements/",keywords:{elementos:10,"not\u00edcias":1,agenda:1,mapas:1,youtube:1,planilhas:1,"apresenta\u00e7\u00f5es":1,pesquisa:1}},webmastertools:{title:"APIs de dados das Ferramentas do Google para webmasters (Labs)",
groupsTitle:"Grupos da API de dados das Ferramentas do Google para webmasters",url:"/apis/webmastertools/",keywords:{"apis de dados":1,pesquisa:1,ferramentas:1}},youtube:{title:"APIs do YouTube ",groupsTitle:"Grupos da API de dados do YouTube",url:"/apis/youtube/",keywords:{feed:4,entradas:2,pessoas:6}}}},programs:{includeInSearchSuggest:true,entries:{opensource:{title:"Software Livre",url:"/opensource/",keywords:{"software livre":10}},soc:{title:"Google Summer Of Code",url:"/soc/",keywords:{"software livre":5}},
ghop:{title:"Concurso de participa\u00e7\u00e3o altamente aberta",url:"/opensource/ghop/2007-8/",keywords:{"software livre":2}},projectHosting:{title:"Hospedagem de projetos",url:"/hosting/",keywords:{"software livre":6}},mac:{title:"Google Mac Developer Playground",url:"/mac/",keywords:{"software livre":2,osx:6,apple:6,iphone:6}},edu:{title:"Google Code University",groupsTitle:"Grupos do Google Code University",url:"/edu/",keywords:{educadores:1}},doctype:{title:"Google DocType",groupsTitle:"Grupos do Google DocType",
url:"/doctype/",keywords:{educadores:1}},speed:{title:"Vamos tornar a web mais r\u00e1pida",groupsTitle:"Tornar a web r\u00e1pida",url:"/speed/",keywords:{velocidade:8,desempenho:9}},"page-speed":{title:"Page Speed",groupsTitle:"Comunidade Page Speed",url:"/speed/page-speed/",keywords:{velocidade:8,desempenho:9}},events:{title:"Eventos para desenvolvedores",url:"/events/",keywords:{desenvolvedor:1,gdd:1,"dia do desenvolvedor":1}},googleio:{title:"Google I/O",url:"/events/io/",keywords:{apis:1,gentries:1,
"google io":10,eventos:10,io:10}},gtug:{title:"Google Technology User Groups",url:"http://www.gtugs.org/",keywords:{gtug:10,eventos:9,grupo:1,tecnologia:1,"usu\u00e1rio":1}},developerday:{title:"Dias do desenvolvedor",url:"/events/developerday/",keywords:{desenvolvedor:1,"dias do desenvolvedor":1,gdd:10,eventos:2,"dia do desenvolvedor google":10}},campfire:{title:"Google Campfire One",url:"/campfire/",keywords:{desenvolvedor:1}}}},searchSuggest:{includeInSearchSuggest:true,entries:{adsenseforaudio:{title:"API do Google AdSense for Audio (Preterido)",
url:"/apis/adsenseforaudio/",keywords:{"an\u00fancios":1,apis:1}},gme:{title:"Editor de Mashup do Google (Preterido)",url:"/gme/",keywords:{ajax:2,entradas:1,gentries:1,ferramentas:5}},notebook:{title:"API de dados do Google Notas (Preterido)",url:"/apis/notebook/",keywords:{apis:1,feed:1,entradas:1,gentries:1,"apis de dados":3}},gra:{title:"API de automa\u00e7\u00e3o de r\u00e1dio do Google (Preterido)",url:"/apis/gra/",keywords:{java:1,apis:1,"r\u00e1dio":10,"automa\u00e7\u00e3o":3}},soapsearch:{title:"API de pesquisa do Google SOAP (Preterido)",
url:"/apis/soapsearch/",keywords:{soap:1,apis:1,pesquisa:1}},support:{title:"Base de conhecimentos",url:"/support/",keywords:{"perguntas frequentes":1}},codeblog:{title:"Blog do Google Code",url:"http://google-code-updates.blogspot.com/",keywords:{desenvolvedor:1}},featuredprojects:{title:"Projetos em destaque",url:"http://google-code-featured.blogspot.com/",keywords:{desenvolvedor:1}},opensourceprojects:{title:"Projetos de software livre",url:"/hosting/projects.html",keywords:{"software livre":1}},
qualify:{title:"Qualifica\u00e7\u00e3o do desenvolvedor",url:"/qualify/",keywords:{qualificar:10,"certifica\u00e7\u00e3o":10,treinamento:10}},protocolbuffers:{title:"Protocol Buffers",groupsTitle:"Grupos de buffers de protocolo",url:"/apis/protocolbuffers/",keywords:{"serializa\u00e7\u00e3o":10,"software livre":4,apis:8,"dados estruturados":10,dados:1}}}},searchResultTabs:{includeInSearchSuggest:false,entries:{google_code:{title:"Site do Google Code"},discussion:{title:"Google Code Groups",groupsTitle:"Grupos do Google Code"},
project_hosting:{title:"Hospedagem de projetos"}}}};window.CODESITE_productDictionary_default=b;window.CODESITE_productDictionary=b})();(function(){window.CODESITE_CSIReportDelay=500;window.CODESITE_reportedToCSI=false;function b(){if(jQuery("body.gc-documentation").length>0)return"product_doc";if(window._homepageGadgetData_)return"codesite_home";if(jQuery("#gc-home").length>0)return"product_home";return"other"}function a(){var e=["codesite","sc"],c=b(),i=CODESITE_getProduct();if(i)if(i=="more")e.push("site_directory");else if(i=="search")e.push("cse");else if(i=="support")e.push(i);else if(i=="events")e.push(i);else if(c=="product_doc"){e.push(c);
e.push(i+"_doc")}else{if(c=="product_home"){e.push(c);e.push(i+"_home")}}else c=="codesite_home"&&e.push(c);e.push("intl_"+CODESITE_langLoc);return e.join(",")}function f(){if(!CODESITE_reportedToCSI){var e=a();CODESITE_CSITimer.load.name=e;CODESITE_CSITimer.toc.name=e;window.setTimeout(function(){for(var c in CODESITE_CSITimer)window.jstiming.report(CODESITE_CSITimer[c])},CODESITE_CSIReportDelay);window.CODESITE_reportedToCSI=true}}jQuery(document).ready(function(){CODESITE_CSITimer.load.tick("dom")});
jQuery(window).load(function(){CODESITE_CSITimer.load.tick("plt");f()})})(jQuery);window.CODESITE_langCode={en:"English",de:"Deutsch",es:"Espa\u00f1ol",fa:"\u0641\u0627\u0631\u0633\u06cc",ja:"\u65e5\u672c\u8a9e",ko:"\ud55c\uad6d\uc5b4","pt-BR":"Portugu\u00eas (Brasil)",ru:"P\u0443\u0441\u0441\u043a\u0438\u0439",vi:"Ti\u1ebfng Vi\u1ec7t","zh-CN":"\u4e2d\u6587 (\u7b80\u4f53)","zh-TW":"\u4e2d\u6587 (\u7e41\u9ad4)"};
window.CODESITE_prodLang=[{url:"/apis/orkut/",langloc:["en","es","ja","ko","pt-BR","ru","vi","zh-CN","zh-TW"]},{url:"/apis/maps/",langloc:["en","es","de","ja","ko","pt-BR","ru","zh-CN","zh-TW"]},{url:"/apis/ajaxlanguage/",langloc:["en","es","de","ja","fa","pt-BR","zh-CN"]}];(function(){var b=/\/\/([^\/]*)?(\/intl\/[^\/]*)?(\/.*)?/,a=/\/intl\/(([a-zA-Z]+)(-[a-zA-Z]+)?)(_[a-zA-Z]+)?/,f=a.exec(window.location.href);if(f==null){window.CODESITE_langLoc="en";window.CODESITE_langUrl=""}else{window.CODESITE_langLoc=f[1];window.CODESITE_langUrl=f[0].replace(/_ALL/,"")}jQuery(document).ready(window.CODESITE_langSelectInit=function(e,c){var i=e("#lang-dropdown")[0];if(i){var d=e("#menuIcon-lang-dropdown")[0],h=null;c=c||window.location;c=b.exec(c.href);for(var r=0;r<window.CODESITE_prodLang.length;r++)if(c[3].indexOf(window.CODESITE_prodLang[r].url)>=
0){h=window.CODESITE_prodLang[r].langloc;break}h||(h=["en","es","ja","ko","pt-BR","ru","zh-CN","zh-TW"]);i=new Menu(i,null,null,function(){CODESITE_click("/gb/sc/langselect/"+CODESITE_langLoc)},d);for(d=0;d<h.length;d++){c=h[d];r=CODESITE_localeRedirect(c,window.location,false);i.addItem(window.CODESITE_langCode[c],r)}e("body").append(i.menu)}});window.CODESITE_localeRedirect=function(e,c,i){c=c||window.location;var d=b.exec(c.href);i=i==null?true:false;var h=c.href;if(d){h=d[3]?"http://"+d[1]+"/intl/"+
e+d[3]:"http://"+d[1]+"/intl/"+e+"/";if(i)c.href=h}return h};window.CODESITE_redirectToI18nContent=function(e,c){c=c||CODESITE_localeRedirect;e=(e=a.exec(e.href))&&e[1]||"en";c(e,null);return false}})(jQuery);(function(){function b(c){return window.encodeURIComponent?encodeURIComponent(c):escape(c)}function a(c){return window.decodeURIComponent?decodeURIComponent(c):unescape(c)}RegExp.escape=function(){var c=["/",".","*","+","?","|","(",")","[","]","{","}","\\"],i=new RegExp("(\\"+c.join("|\\")+")","g");return function(d){return d.replace(i,"\\$1")}}();window.CODESITE_minWidth=function(){var c=[],i=function(){if(CODESITE_minWidth)for(var d=0,h=c[0]||null;d<c.length;++d,h=c[d])try{if(h.parent_.offsetWidth<=
h.minWidth_){h.style.width=h.minWidth_+"px";h.style.overflow="hidden"}else{h.style.width="";h.style.overflow=""}}catch(r){}};if(jQuery.browser.msie){jQuery(window).resize(i);jQuery(i)}return function(d,h){if(jQuery.browser.msie){d=jQuery(d)[0];d.minWidth_=h-0;d.parent_=d.parentNode;c.push(d)}}}();window.CODESITE_createImageBar=function(c,i){c=new google.feeds.Feed(c);c.setResultFormat(google.feeds.Feed.XML_FORMAT);c.setNumEntries(2);c.load(function(d){if(!d.error){var h=jQuery(i);d=jQuery("item",
d.xmlDocument);var r=0;if(d.length>=2)r=2;for(var m=['<div class="post techtalk"><div class="screenshot"><a href="@link"><img alt="@origTitle" src="@thumb" height="80" width="90"></a></div><div class="info"><div class="name"><a href="@link" title="@origTitle">@title</a></div><div class="author videodateformat">',CODESITE_msgs.imagebar.POSTED_ON," @date</div></div></div>"].join(""),z=jQuery('<div class="g-section g-tpl-50-50 gc-techtalk"><div class="g-unit g-first">&nbsp;</div><div class="g-unit">&nbsp;</div></div>'),
A=0;A<r;A++){var H=jQuery("title:first",d[A]).text(),E=H,N=jQuery("link:first",d[A]).text(),P=N.substring(31),I;if((I=d.eq(A).find("atom\\:updated, updated")).length){var O=I.eq(0).text().replace(/(\d{4})-(\d{2})-(\d{2})T.*/,"$2 $3 $1").split(" ");I=new Date;I.setFullYear(O[2],O[0]-1,O[1])}else if((I=d.eq(A).find("dc\\:date, date")).length)I=new Date(I.eq(0).text());O=google.feeds.getElementsByTagNameNS(d[A],"http://search.yahoo.com/mrss/","thumbnail")[0];var ia=O.getAttribute("url");O.getAttribute("width");
O.getAttribute("height");I=I.getMonth()+1+"/"+I.getDate()+"/"+I.getFullYear();H=jQuery(m.replace(/@link/g,N).replace(/@videoid/g,P).replace(/@thumb/g,ia).replace(/@origTitle/g,H).replace(/@title/g,E).replace(/@date/g,I));jQuery(".g-unit:eq("+A+")",z).prepend(H)}h.append(z)}})};window.CODESITE_loadFeedAPI=function(){google.load("feeds","1",{callback:CODESITE_initFeedAPI})};jQuery(function(){jQuery("#searchForm").show();jQuery("#searchForm2").hide()});window.CODESITE_initFeedAPI=function(){if(CODESITE_codeVideoDiv.length)if(typeof _homepageGadgetData_!==
"undefined"){CODESITE_createImageBar(_homepageGadgetData_.homepageVideoFeedUrl,"#gc-codevideo");CODESITE_minWidth("#codesiteContent",1000)}if(CODESITE_macRecentChangesDiv.length){var c=new BlogPreview(document.getElementById("recentchanges"));c.show("http://googlemacplayground.blogspot.com/atom.xml","changes")}};function f(){var c="http://google-code-feed-gadget.googlecode.com/svn/build/prod/feedgadget/feedgadget.xml",i="",d="#parent="+escape(/[^?]*/.exec(window.location));if(/gadgettest=1/.exec(window.location)){c=
c.replace("/prod/","/test/");i="&debug=1&nocache=1"}var h=/\/intl\/(.*?)\//.exec(document.location);h=h?["&lang=",h[1]].join(""):"";c="http://www.gmodules.com/gadgets/ifr?synd=code&url="+c+h+i+d+"&";function r(N){var P="",I;if(typeof N=="string"){if(N!="")P="&"+b(N)}else for(I in N)P+=["&",I,"=",b(N[I])].join("");return P}if(CODESITE_codeBlogDiv.length){var m=[];d=window._apiGadgetData_||window._homepageGadgetData_;h=d.blogOptions;var z=410,A="100%",H="__MSG_blogs__";i="";if(h){A=h.width||A;z=h.height||
z;H=h.up_gadgetTitle||H;i=h.xtraFeeds||i}if(d.blogFeedUrl&&d.blogFeedUrl.length){if(!d.blogFeedName||d.blogFeedName.length==0)d.blogFeedName="__MSG_blogs__";m.push(b([d.blogFeedName,":",jQuery.trim(d.blogFeedUrl)].join("")))}d.googleCodeBlogIntlFeedUrl&&d.googleCodeBlogIntlFeedUrl.length&&m.push(b(["__MSG_blogs.local__:",jQuery.trim(d.googleCodeBlogIntlFeedUrl)].join("")));d.googleCodeBlogFeedUrl&&d.googleCodeBlogFeedUrl.length&&m.push(b(["__MSG_blogs.googleCode__:",jQuery.trim(d.googleCodeBlogFeedUrl)].join("")));
d.relatedDeveloperBlogsFeedUrl&&d.relatedDeveloperBlogsFeedUrl.length&&m.push(b(["__MSG_blogs.related__:",jQuery.trim(d.relatedDeveloperBlogsFeedUrl)].join("")));if(i.length){i=a(i).split("|");for(d=0;d<i.length;d++)m.push(b(jQuery.trim(i[d])))}if(m.length)jQuery('<iframe frameborder="0">').attr({src:[c,"up_showaddbutton=true&up_random=true&up_defer=true&up_gadgetTitle=",b(H),"&up_feeds=",m.join("|"),r(h||"")].join(""),frameborder:"0",width:A,height:z}).css({border:"none"}).appendTo(CODESITE_codeBlogDiv)}if(CODESITE_featuredDiv.length){var E=
[];d=window._apiGadgetData_||window._homepageGadgetData_;h=d.groupOptions;z=410;A="100%";H="__MSG_groups.community__";i="";if(h){A=h.width||A;z=h.height||z;H=h.up_gadgetTitle||H;i=h.xtraFeeds||i}d.featuredProjectsFeedUrl&&d.featuredProjectsFeedUrl.length&&E.push(b(["featured:__MSG_featured.projects__:",jQuery.trim(d.featuredProjectsFeedUrl)].join("")));if(d.groupFeedUrl&&d.groupFeedUrl.length){if(!d.groupFeedName||d.groupFeedName.length==0)d.groupFeedName="__MSG_groups.community__";E.push(b([d.groupFeedName,
":",jQuery.trim(d.groupFeedUrl)].join("")))}d.featureFeedUrl&&d.featureFeedUrl.length&&E.push(b(["featured:__MSG_featured.projects__:",jQuery.trim(d.featureFeedUrl)].join("")));d.articleFeedUrl&&d.articleFeedUrl.length&&E.push(b(["__MSG_articles__:",jQuery.trim(d.articleFeedUrl)].join("")));d.userGroupsFeedUrl&&d.userGroupsFeedUrl.length&&E.push(b(["__MSG_groups.user__:",jQuery.trim(d.userGroupsFeedUrl)].join("")));if(i.length){i=a(i).split("|");for(d=0;d<i.length;d++)E.push(b(jQuery.trim(i[d])))}if(E.length)jQuery('<iframe frameborder="0">').attr({src:[c,
"up_showaddbutton=true&up_defer=true&up_gadgetTitle=",b(H),"&up_feeds=",E.join("|"),r(h||"")].join(""),frameborder:"0",width:A,height:z}).css({border:"none"}).appendTo(CODESITE_featuredDiv)}}jQuery(function(){try{prettyPrint()}catch(c){}});jQuery(function(){var c=jQuery("#gc-pagecontent"),i=jQuery("#gc-toc");if(c.length){var d=jQuery('<div id="gc-collapsible-arrow">'),h=jQuery('<div id="gc-collapsible">'),r=function(m){var z=c.offset();d.css({left:z.left+"px",top:(m.pageY||m.clientY)+"px"})};c.css("position",
"relative").append(h);jQuery(document.body).append(d);jQuery.browser.msie&&jQuery.browser.version<7&&c.css("left","-5px");c.is(".skip-collapsible")||h.mouseover(function(m){h.addClass("hover");if(i.is(":hidden")){h.css("left","-3px");d.addClass("collapsed")}else d.removeClass("collapsed");d.show();r(m)}).mousemove(function(m){r(m)}).mouseout(function(){h.removeClass("hover");h.css("left","");d.hide()}).click(function(){d.hide();h.removeClass("hover").css("left","");i.toggle();if(i.is(":visible")){c.css("margin-left",
"");jQuery.browser.msie&&jQuery.browser.version<7&&c.css("left","-5px")}else{c.css("margin-left","0px");jQuery.browser.msie&&jQuery.browser.version<7&&c.css("left","")}});h.height(c.height())}});jQuery(window.CODESITE_createVideoAndGadgets=function(){CODESITE_codeBlogDiv=jQuery("#gc-blog-gadget");CODESITE_featuredDiv=jQuery("#gc-community-gadget");CODESITE_codeVideoDiv=jQuery("#gc-codevideo");CODESITE_macRecentChangesDiv=jQuery("#recentchanges");if(CODESITE_codeVideoDiv.length||CODESITE_macRecentChangesDiv.length)if(typeof window.google===
"undefined"||typeof window.google.feeds==="undefined"){var c=document.createElement("script");c.src="http://www.google.com/jsapi?key=internal-codesite&callback=CODESITE_loadFeedAPI";c.type="text/javascript";document.getElementsByTagName("head")[0].appendChild(c)}else CODESITE_loadFeedAPI();if(CODESITE_codeBlogDiv.length||CODESITE_featuredDiv.length)f()});window.CODESITE_getIntlUrl=function(c){var i=["/intl/","/p/","/u/","/hosting/","/support/","/soc/","/codejam/","/apis/youtube/dashboard/"];if(c.indexOf("/")==
0){for(var d in i)if(c.indexOf(i[d])>=0)return c;return CODESITE_langUrl+c}else return c};window.CODESITE_getProduct=function(c){c=c||window.location.href;var i=/https?:\/\/[^\/]*(\/intl\/[^\/]*)?(\/apis)?(\/([a-z0-9]*))?\//;c=i.exec(c);if(!c)return"";return(c=c[4])?c:""};jQuery(window).load(function(){window.setTimeout(function(){jQuery.ajax({type:"GET",url:"http://www.google-analytics.com/ga.js",dataType:"script",success:e,cache:true})},0)});function e(){if(window._gat)try{siteTracker=window._gat._getTracker("UA-18071-1");
siteTracker._trackPageview()}catch(c){}}window.CODESITE_click=function(c){window.setTimeout(function(){if(window.siteTracker)try{siteTracker._trackPageview(c)}catch(i){}},0)}})(jQuery);var CSE={QUERY_REGEX_HASH:/([^\#]*)\#(p=([^&]*)&)?q=(.*)$/,QUERY_REGEX_QUES:/([^\?]*)\?(p=([^&]*)&)?q=(.*)$/,CSE_URL:"http://code.google.com/cse/googlecode-context.xml",searchControl:{},recentQuery:"",showingSearchResults:false,iframeUrlInSync:true,init:function(){CSE.searchControl=new GSearchControl;CSE.searchControl.setResultSetSize(GSearch.LARGE_RESULTSET);CSE.searchControl.setLinkTarget(GSearch.LINK_TARGET_TOP);var b=CSE.getProductParam();if(CODESITE_getSearchTabTitle(b)!=null){CSE.addSearcher(b,
false);CODESITE_getSearchTabTitle(b,true)!=null&&CSE.addSearcher(b,true)}CSE.addSearcher("google_code",false);CSE.addSearcher("discussion",true);CSE.addSearcher("project_hosting",false);b=new GvideoSearch;b.setQueryAddition("ytchannel:GoogleDevelopers");b.setResultSetSize(GSearch.SMALL_RESULTSET);b.setUserDefinedLabel(CODESITE_getSearchTabTitle("developer_videos"));CSE.searchControl.addSearcher(b);b=document.getElementById("searchControl");var a=new GdrawOptions;a.setDrawMode(GSearchControl.DRAW_MODE_TABBED);
CSE.searchControl.draw(b,a);CSE.checkHash(CSE.QUERY_REGEX_HASH,window.location.href)},addSearcher:function(b,a){var f=new GwebSearch;a?f.setSiteRestriction({crefUrl:CSE.CSE_URL},b+"_groups"):f.setSiteRestriction({crefUrl:CSE.CSE_URL},b);f.setUserDefinedLabel(CODESITE_getSearchTabTitle(b,a));CSE.searchControl.addSearcher(f)},checkHash:function(b,a){if(b=b.exec(a)){b=decodeURI(b[4]);if(b!=""&&b!=CSE.recentQuery){jQuery("#gsearchInput").attr("value",b);CSE.executeQuery(b)}}else{if(CSE.showingSearchResults){jQuery("#searchControl").hide();
jQuery("#codesiteContent").show();CSE.recentQuery="";CSE.showingSearchResults=false;window.history.back(-1)}return false}return true},getProductParam:function(){var b=CSE.QUERY_REGEX_HASH.exec(window.location.href),a="";if(b&&b[4]){a=decodeURI(b[3]);if(CODESITE_getSearchTabTitle(a)==null)a=""}return a},executeQuery:function(b){if(b!="")if(CSE.iframeUrlInSync){var a=CSE.getProductParam();CSE.handleAnalytics(b,a);a=a!=""?"p="+encodeURI(a)+"&q="+encodeURI(b):"q="+encodeURI(b);jQuery.browser.msie&&CSE.handleIeHistory(a);
CSE.recentQuery=b;CODESITE_setURL("#"+a);jQuery("#searchControl").show();jQuery("#codesiteContent").hide();CSE.showingSearchResults=true;a=CSE.makeNoResultsHtml(b);CSE.searchControl.setNoResultsString(a);CSE.searchControl.execute(b)}},handleIeHistory:function(b){CSE.iframeUrlInSync=false;window.backiFrame.location.search=b;var a=window.setInterval(f,window.CODESITE_backButton.IFRAME_POLLING_INTERVAL);function f(){if(window.backiFrame.location.search.substring(1)==b){CSE.iframeUrlInSync=true;window.clearInterval(a)}}
},makeNoResultsHtml:function(b){for(var a=[CODESITE_msgs.search.NO_RESULTS_FOUND,"<b>",CSE.escapeHtml(b),"</b><br><br>",CODESITE_msgs.search.SUGGESTIONS_TITLE,":<br><br><ul>"].join(""),f=0,e=CODESITE_msgs.search.SUGGESTIONS_ITEMS.length;f<e;f++)a=[a,"<li>",CODESITE_msgs.search.SUGGESTIONS_ITEMS[f],"</li>"].join("");return[a,'</ul><br><a href="',CODESITE_msgs.search.SEARCH_URL,encodeURI(b),'">',CODESITE_msgs.search.TRY_WEBSEARCH,"</a>."].join("")},handleAnalytics:function(b,a){var f=jQuery("#searchControl").css("display")==
"block"?jQuery("div.gsc-tabhActive").text():"";b="/search/?q="+b+"&product="+a+"&tab="+f;if(window.siteTracker)try{siteTracker._trackPageview(b)}catch(e){}},escapeHtml:function(b){return b.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\'/g,"&#039;").replace(/\"/g,"&quot;")},pollHash:function(){if(jQuery.browser.msie)CSE.iframeUrlInSync&&CSE.checkHash(CSE.QUERY_REGEX_QUES,window.backiFrame.location.href)&&CSE.checkHash(CSE.QUERY_REGEX_HASH,window.location.href);else CSE.checkHash(CSE.QUERY_REGEX_HASH,
window.location.href)}};window.CODESITE_CSE=CSE;window.CODESITE_setURL=function(b){location.href=b};window.executeGSearch=function(b){if(b!="")if(CODESITE_CSE.iframeUrlInSync){var a=CODESITE_getProduct();if(a=="search")CODESITE_CSE.executeQuery(b);else{if(CODESITE_getSearchTabTitle(a)==null)a="";b=a!=""?"p="+encodeURI(a)+"&q="+encodeURI(b):"q="+encodeURI(b);CODESITE_setURL(CODESITE_langUrl+"/search/#"+b)}}};
window.CODESITE_getSearchTabTitle=function(b,a){if(!b)return null;var f=CODESITE_productDictionary.dictionariesList;for(var e in f){var c=CODESITE_productDictionary[f[e]].entries[b];if(c)if(a){if(c.groupsTitle)return c.groupsTitle}else return c.searchTabTitle||c.title}f=CODESITE_productDictionary.dictionariesList;for(e in f)if(c=CODESITE_productDictionary_default[f[e]].entries[b])if(a){if(c.groupsTitle)return c.groupsTitle}else return c.searchTabTitle||c.title;return null};(function(){function b(a,f){this.results_=[];this.buttonEl_=jQuery("#"+f);this.inputFieldEl_=jQuery("#"+a);var e=this;jQuery(this.buttonEl_).focus(function(){e.hideResultsWindow_()});this.searchResultsEl_=jQuery('<div id="cs-searchresults">');this.searchResultsEl_.click(function(c){(event||c).cancelBubble=true});this.searchResultsEl_.appendTo(document.body);jQuery('<div id="cs-recommended">').html(CODESITE_msgs.search.SUGGESTIONS).appendTo(this.searchResultsEl_);a=0;for(f=1;a<this.MAX_RESULTS_;a++,
f++)jQuery('<div id="searchResult'+f+'">').appendTo(this.searchResultsEl_);jQuery(document.body).click(function(c){return e.handleBodyClick_.call(e,c)});jQuery(document).keydown(function(c){return e.handleBodyKeyDown_.call(e,c)}).keypress(function(c){return e.handleBodyKeyPress_.call(e,c)}).keyup(function(c){return e.handleBodyKeyUp_.call(e,c)});jQuery(window).resize(function(c){e.handleBodyResize_.call(e,c)});window.onpageshow=function(c){c.persisted&&e.hideResultsWindow_()};this.inputFieldEl_.keyup(function(c){return e.handleInputKeyUp_.call(e,
c)}).focus(function(c){return e.handleInputFocus_.call(e,c)}).blur(function(c){return e.handleInputBlur_.call(e,c)}).click(function(c){return e.handleInputClick_.call(e,c)}).attr("autocomplete","off");this.initialized_=!!(this.inputFieldEl_.length&&this.searchResultsEl_.length&&this.buttonEl_.length)}b.prototype={results_:null,initialized_:false,searchActive_:true,resultsWindowHidden_:true,inputFieldEl_:0,searchResultsEl_:0,inputFieldHasFocus_:0,activeResult_:0,arrowKeyProcessed_:false,typedQuery_:"",
backgroundHover:"#3366CC",foregroundHover:"#ffffff",backgroundOff:"#ffffff",foregroundOff:"#000000",MAX_RESULTS_:7,FIRST_RESULT_:1,getQueryFromInputField_:function(){return jQuery.trim(this.inputFieldEl_.val().toLowerCase())},querySearch_:function(){if(this.searchActive_)if(this.typedQuery_.length==0)this.hideResultsWindow_();else{this.results_.splice(0,this.results_.length);var a=CODESITE_productDictionary.dictionariesList;for(var f in a){var e=CODESITE_productDictionary[a[f]];if(e.includeInSearchSuggest)for(var c in e.entries){var i=
e.entries[c],d=0,h=new RegExp("(?:\\s|^)"+RegExp.escape(this.typedQuery_)),r=i.title.toLowerCase().match(h);if(r!=null)d=2;for(var m in i.keywords){r=m.match(h);if(r!=null)d+=i.keywords[m];r=this.typedQuery_.split(" ");if(r.length>1)for(c=0;c<r.length;c++){var z=new RegExp("(?:\\s|^)"+r[c]);z=m.match(z);if(z!=null)d+=i.keywords[m]}}d>0&&this.results_.push({match:d,title:i.title,url:CODESITE_getIntlUrl(i.url)})}}this.results_.sort(this.sortMatches_);this.results_.length=Math.min(this.results_.length,
6);this.prepareResultsWindow_()}},sortMatches_:function(a,f){f=f.match;a=a.match;return f<a?-1:f>a?1:0},createSearchResultDiv:function(a){var f=a+1,e=this,c=jQuery("#searchResult"+f);c.attr("class","cs-searchresult").css({display:"block",textAlign:"left",zoom:"1"}).html(['<a tabindex="-1" id="searchResultLink',f,'" href="',this.results_[a].url,'">',this.results_[a].title,"</a>"].join("")).unbind().mouseover(function(){e.deactivateAllResults_();e.activateSearchResult_(f)}).mouseout(function(){e.deactivateSearchResult_(f)}).click(function(){window.location.href=
e.results_[a].url})},prepareResultsWindow_:function(){this.activeResult_=0;if(this.results_.length==0)this.hideResultsWindow_();else{for(var a=0;a<this.results_.length;a++)this.createSearchResultDiv(a);this.deactivateAllResults_();var f=this.results_.length+1;a=jQuery("#searchResult"+f);var e=this;a.attr("class","").css({textAlign:"right",display:"block",zoom:"1"}).html('<a style="color: #0000ff; text-decoration: underline;" id="searchResultLink'+f+'"> '+CODESITE_msgs.search.MORE+" &raquo;</a>").unbind().mouseup(function(){e.hideResultsWindow_();
executeGSearch(e.inputFieldEl_.val())}).mouseover(function(){e.deactivateAllResults_();e.activateSearchResult_(f)}).mouseout(function(){e.deactivateSearchResult_(f)});for(a=f+1;a<=this.MAX_RESULTS_;a++)jQuery("#searchResult"+a).hide();this.resultsWindowHidden_&&this.showResultsWindow_()}},updateDimensions_:function(){if(this.searchActive_){var a=this.inputFieldEl_.offset();a.left+=3;this.searchResultsEl_.css({left:a.left+"px",top:a.top+this.inputFieldEl_[0].offsetHeight+2+"px",width:this.inputFieldEl_.css("width")})}},
showResultsWindow_:function(){if(this.searchActive_){this.searchResultsEl_.css("visibility","hidden");this.updateDimensions_();this.searchResultsEl_.css("display","block");this.searchResultsEl_.css("visibility","visible");this.resultsWindowHidden_=false}},hideResultsWindow_:function(){if(!this.resultsWindowHidden_){this.searchResultsEl_.hide();this.resultsWindowHidden_=true;this.activeResult_=0}},activateSearchResult_:function(a){this.inputFieldEl_[0].blur();var f=jQuery("#searchResult"+a);a=jQuery("#searchResultLink"+
a);f.length&&f.css("backgroundColor",this.backgroundHover);a.length&&a.css("color","white")},deactivateSearchResult_:function(a){var f=jQuery("#searchResult"+a),e=jQuery("#searchResultLink"+a);f&&f.css("background",this.backgroundOff);if(e&&a==this.results_.length+1)e.css("color","#0000ff");else e&&e.css("color",this.foregroundOff)},deactivateAllResults_:function(){for(var a=0,f=this.results_.length+1;a<f;a++)this.deactivateSearchResult_(a+1)},activateNextSearchResult_:function(){if(this.results_.length>
0)if(this.activeResult_<=this.results_.length){this.deactivateSearchResult_(this.activeResult_);this.activeResult_++;this.activateSearchResult_(this.activeResult_)}},activatePrevSearchResult_:function(){if(this.results_.length>0)if(this.activeResult_==this.FIRST_RESULT_){this.deactivateSearchResult_(this.activeResult_);this.activeResult_=0;this.inputFieldEl_[0].focus()}else if(this.activeResult_>this.FIRST_RESULT_){this.deactivateSearchResult_(this.activeResult_);this.activeResult_--;this.activateSearchResult_(this.activeResult_)}},
handleInputKeyUp_:function(a){if(this.initialized_)if(this.searchActive_){a=a||window.event;a=a.which?a.which:a.keyCode;if(a==13){this.hideResultsWindow_();executeGSearch(this.inputFieldEl_.val())}else{a=this.getQueryFromInputField_();if(a!=this.typedQuery_){this.typedQuery_=a;this.querySearch_()}return true}}},handleBodyKeyDown_:function(a){var f=true,e=false;if(this.initialized_){a=a||window.event;var c=a.which?a.which:a.keyCode;a=a.target?a.target:a.srcElement;for(var i=jQuery("#searchResultLink"+
this.activeResult_),d=[this.inputFieldEl_[0],document.documentElement,document.body],h=0;h<d.length;h++)if(a==d[h])e=true;if(!e)return true;switch(c){case 13:if(this.activeResult_>=0){if(this.activeResult_==this.results_.length+1){this.hideResultsWindow_();executeGSearch(this.inputFieldEl_.val())}else if(i.length)location.href=i.attr("href");f=false}break;case 27:if(this.searchActive_){this.resultsWindowHidden_?this.inputFieldEl_.val(""):this.hideResultsWindow_();f=false}else{this.searchActive_=true;
this.inputFieldEl_[0].focus();f=true}break;case 40:case 63233:if(this.resultsWindowHidden_&&this.inputFieldHasFocus_&&c!=39){this.searchActive_=true;this.querySearch_();f=false}else if(!this.resultsWindowHidden_&&(this.activeResult_>0||c!=39)){this.deactivateAllResults_();this.activateNextSearchResult_();f=false;this.arrowKeyProcessed_=true}break;case 38:case 63235:if(!this.resultsWindowHidden_){this.deactivateAllResults_();this.activatePrevSearchResult_();f=false;this.arrowKeyProcessed_=true}break;
case 37:case 39:if(!this.inputFieldHasFocus_&&!this.resultsWindowHidden_){this.arrowKeyProcessed_=false;this.inputFieldEl_[0].focus()}}}return f},handleBodyKeyPress_:function(a){if(this.initialized_){a=a||window.event;a=a.which?a.which:a.keyCode;if(this.arrowKeyProcessed_&&a>=37&&a<=40)return false;return true}},handleBodyKeyUp_:function(a){var f=true;a=a||window.event;this.arrowKeyProcessed_=false;return f},handleBodyResize_:function(){this.updateDimensions_();return true},handleInputBlur_:function(){this.inputFieldHasFocus_=
0},handleInputFocus_:function(){this.inputFieldHasFocus_=0.5;this.initialized_&&this.deactivateAllResults_()},handleInputClick_:function(a){a=a||window.event;this.searchActive_=a.cancelBubble=true;if(this.inputFieldHasFocus_==1)this.resultsWindowHidden_&&this.querySearch_();else this.inputFieldHasFocus_=1},handleBodyClick_:function(a){a=a||window.event;(a=a.target?a.target:a.srcElement)&&a.parentNode&&this.hideResultsWindow_()}};window.CODESITE_asYouTypeSearch=b;jQuery(function(){try{new b("gsearchInput",
"gsearchButton")}catch(a){}})})(jQuery);(function(){var b={POLLING_INTERVAL:450,IFRAME_POLLING_INTERVAL:50,init:function(){var a=window.location.href.match(/\/search\//);if(jQuery.browser.msie||jQuery.browser.mozilla||navigator.userAgent.indexOf("Chrome")!=-1||jQuery.browser.safari&&navigator.userAgent.indexOf("Version/")!=-1)b.poll(a)},poll:function(a){a&&window.setInterval(function(){a&&window.CODESITE_CSE.pollHash()},b.POLLING_INTERVAL)}};window.CODESITE_backButton=b})(jQuery);jQuery(document).ready(function(){window.CODESITE_backButton.init()});(function(){var b=true,a=null,f=false;window.PR_SHOULD_USE_CONTINUATION=b;window.PR_TAB_WIDTH=8;window.PR_normalizedHtml=window.PR=window.prettyPrintOne=window.prettyPrint=void 0;window._pr_isIE6=function(){var X=navigator&&navigator.userAgent&&/\bMSIE 6\./.test(navigator.userAgent);window._pr_isIE6=function(){return X};return X};var e="!",c="!=",i="!==",d="#",h="%",r="%=",m="&",z="&&",A="&&=",H="&=",E="(",N="*",P="*=",I="+=",O=",",ia="-=",ab="->",sa="/",bb="/=",cb=":",db="::",ta=";",Y="<",eb="<<",
fb="<<=",gb="<=",hb="=",ib="==",jb="===",Z=">",kb=">=",lb=">>",mb=">>=",nb=">>>",ob=">>>=",pb="?",ua="@",V="[",S="^",qb="^=",rb="^^",sb="^^=",tb="{",aa="|",ub="|=",vb="||",wb="||=",xb="~",yb="break",zb="case",Ab="continue",Bb="delete",Cb="do",Db="else",Eb="finally",Fb="instanceof",Gb="return",Hb="throw",Ib="try",Jb="typeof",Kb="(?:^^|[+-]",Lb="\\$1",Mb=")\\s*",va="&amp;",wa="&lt;",xa="&gt;",Nb="&quot;",Ob="&#",ya="x",Pb="'",za='"',Aa=" ",Qb="XMP",Rb="</",Sb='="',K="",Q="\\",Tb="b",Ub="t",Vb="n",Wb=
"v",Xb="f",Yb="r",Zb="u",$b="0",ac="1",bc="2",cc="3",dc="4",ec="5",fc="6",gc="7",hc="\\x0",ic="\\x",ja="-",ka="]",jc="\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]",ba="g",kc="\\B",lc="\\b",mc="\\D",nc="\\d",oc="\\S",pc="\\s",qc="\\W",rc="\\w",sc="(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)",Ba="(?:",tc=")",uc="gi",la="PRE",vc='<!DOCTYPE foo PUBLIC "foo bar">\n<foo />',
wc="\t",Ca="\n",xc="[^<]+|<!--[\\s\\S]*?--\>|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>|</?[a-zA-Z][^>]*>|<",Da="nocode",yc=' $1="$2$3$4"',R="pln",zc="string",ca="lang-",Ea="src",W="str",Ac="'\"",Bc="'\"`",Fa="\"'",T="com",Cc="lang-regex",Dc="(/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/)",Ga="kwd",Ec="^(?:",Fc=")\\b",Gc=" \r\n\t\u00a0",ma="lit",Ha="typ",Hc="0123456789",da="pun",Ic="break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try alignof align_union asm axiom bool concept concept_map const_cast constexpr decltype dynamic_cast explicit export friend inline late_check mutable namespace nullptr reinterpret_cast static_assert static_cast template typeid typename typeof using virtual wchar_t where break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try boolean byte extends final finally implements import instanceof null native package strictfp super synchronized throws transient as base by checked decimal delegate descending event fixed foreach from group implicit in interface internal into is lock object out override orderby params partial readonly ref sbyte sealed stackalloc string select uint ulong unchecked unsafe ushort var break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try debugger eval export function get null set undefined var with Infinity NaN caller delete die do dump elsif eval exit foreach for goto if import last local my next no our print package redo require sub undef unless until use wantarray while BEGIN END break continue do else for if return while and as assert class def del elif except exec finally from global import in is lambda nonlocal not or pass print raise try with yield False True None break continue do else for if return while alias and begin case class def defined elsif end ensure false in module next nil not or redo rescue retry self super then true undef unless until when yield BEGIN END break continue do else for if return while case done elif esac eval fi function in local set then until ",
na="</span>",Jc='<span class="',Kc='">',Lc="$1&nbsp;",Mc="&nbsp;<br />",Nc="<br />",Ia="console",Oc="cannot override language handler %s",Ja="default-markup",Ka="default-code",La="dec",ea="lang-js",fa="lang-css",Pc="lang-in.tag",Qc="htm",Rc="html",Sc="mxml",Tc="xhtml",Uc="xml",Vc="xsl",Wc=" \t\r\n",oa="atv",Ma="tag",Na="atn",Xc="lang-uq.val",Yc="in.tag",Zc="uq.val",$c="break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try alignof align_union asm axiom bool concept concept_map const_cast constexpr decltype dynamic_cast explicit export friend inline late_check mutable namespace nullptr reinterpret_cast static_assert static_cast template typeid typename typeof using virtual wchar_t where ",
ad="c",bd="cc",cd="cpp",dd="cxx",ed="cyc",fd="m",gd="null true false",hd="json",id="break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try boolean byte extends final finally implements import instanceof null native package strictfp super synchronized throws transient as base by checked decimal delegate descending event fixed foreach from group implicit in interface internal into is lock object out override orderby params partial readonly ref sbyte sealed stackalloc string select uint ulong unchecked unsafe ushort var ",
jd="cs",kd="break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try boolean byte extends final finally implements import instanceof null native package strictfp super synchronized throws transient ",ld="java",md="break continue do else for if return while case done elif esac eval fi function in local set then until ",
nd="bsh",od="csh",pd="sh",qd="break continue do else for if return while and as assert class def del elif except exec finally from global import in is lambda nonlocal not or pass print raise try with yield False True None ",rd="cv",sd="py",td="caller delete die do dump elsif eval exit foreach for goto if import last local my next no our print package redo require sub undef unless until use wantarray while BEGIN END ",ud="perl",vd="pl",wd="pm",xd="break continue do else for if return while alias and begin case class def defined elsif end ensure false in module next nil not or redo rescue retry self super then true undef unless until when yield BEGIN END ",
yd="rb",zd="break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try debugger eval export function get null set undefined var with Infinity NaN ",Ad="js",Bd="regex",Oa="pre",Pa="code",Qa="xmp",Ra="prettyprint",Cd="class",Dd="br",Ed="\r";(function(){var X=function(){for(var g=
[e,c,i,d,h,r,m,z,A,H,E,N,P,I,O,ia,ab,sa,bb,cb,db,ta,Y,eb,fb,gb,hb,ib,jb,Z,kb,lb,mb,nb,ob,pb,ua,V,S,qb,rb,sb,tb,aa,ub,vb,wb,xb,yb,zb,Ab,Bb,Cb,Db,Eb,Fb,Gb,Hb,Ib,Jb],j=Kb,o=0;o<g.length;++o)j+=aa+g[o].replace(/([^=<>:&a-z])/g,Lb);j+=Mb;return j}(),Sa=/&/g,Ta=/</g,Ua=/>/g,Fd=/\"/g;function Gd(g){return g.replace(Sa,va).replace(Ta,wa).replace(Ua,xa).replace(Fd,Nb)}function pa(g){return g.replace(Sa,va).replace(Ta,wa).replace(Ua,xa)}var Hd=/&lt;/g,Id=/&gt;/g,Jd=/&apos;/g,Kd=/&quot;/g,Ld=/&amp;/g,Md=/&nbsp;/g;
function Nd(g){var j=g.indexOf(m);if(j<0)return g;for(--j;(j=g.indexOf(Ob,j+1))>=0;){var o=g.indexOf(ta,j);if(o>=0){var k=g.substring(j+3,o),t=10;if(k&&k.charAt(0)===ya){k=k.substring(1);t=16}k=parseInt(k,t);isNaN(k)||(g=g.substring(0,j)+String.fromCharCode(k)+g.substring(o+1))}}return g.replace(Hd,Y).replace(Id,Z).replace(Jd,Pb).replace(Kd,za).replace(Ld,m).replace(Md,Aa)}function Va(g){return Qb===g.tagName}function ga(g,j){switch(g.nodeType){case 1:var o=g.tagName.toLowerCase();j.push(Y,o);for(var k=
0;k<g.attributes.length;++k){var t=g.attributes[k];if(t.specified){j.push(Aa);ga(t,j)}}j.push(Z);for(k=g.firstChild;k;k=k.nextSibling)ga(k,j);if(g.firstChild||!/^(?:br|link|img)$/.test(o))j.push(Rb,o,Z);break;case 2:j.push(g.name.toLowerCase(),Sb,Gd(g.value),za);break;case 3:case 4:j.push(pa(g.nodeValue));break}}function Wa(g){for(var j=0,o=f,k=f,t=0,y=g.length;t<y;++t){var x=g[t];if(x.ignoreCase)k=b;else if(/[a-z]/i.test(x.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,K))){o=b;k=f;break}}function v(n){if(n.charAt(0)!==
Q)return n.charCodeAt(0);switch(n.charAt(1)){case Tb:return 8;case Ub:return 9;case Vb:return 10;case Wb:return 11;case Xb:return 12;case Yb:return 13;case Zb:case ya:return parseInt(n.substring(2),16)||n.charCodeAt(1);case $b:case ac:case bc:case cc:case dc:case ec:case fc:case gc:return parseInt(n.substring(1),8);default:return n.charCodeAt(1)}}function C(n){if(n<32)return(n<16?hc:ic)+n.toString(16);n=String.fromCharCode(n);if(n===Q||n===ja||n===V||n===ka)n=Q+n;return n}function B(n){var q=n.substring(1,
n.length-1).match(new RegExp(jc,ba));n=[];for(var s=[],w=q[0]===S,p=w?1:0,l=q.length;p<l;++p){var u=q[p];switch(u){case kc:case lc:case mc:case nc:case oc:case pc:case qc:case rc:n.push(u);continue}u=v(u);var D;if(p+2<l&&ja===q[p+1]){D=v(q[p+2]);p+=2}else D=u;s.push([u,D]);if(!(D<65||u>122)){D<65||u>90||s.push([Math.max(65,u)|32,Math.min(D,90)|32]);D<97||u>122||s.push([Math.max(97,u)&-33,Math.min(D,122)&-33])}}s.sort(function(L,Xa){return L[0]-Xa[0]||Xa[1]-L[1]});q=[];u=[NaN,NaN];for(p=0;p<s.length;++p){l=
s[p];if(l[0]<=u[1]+1)u[1]=Math.max(u[1],l[1]);else q.push(u=l)}s=[V];w&&s.push(S);s.push.apply(s,n);for(p=0;p<q.length;++p){l=q[p];s.push(C(l[0]));if(l[1]>l[0]){l[1]+1>l[0]&&s.push(ja);s.push(C(l[1]))}}s.push(ka);return s.join(K)}function G(n){var q=n.source.match(new RegExp(sc,ba)),s=q.length,w=[],p,l=0;for(p=0;l<s;++l){var u=q[l];if(u===E)++p;else if(Q===u.charAt(0)){var D=+u.substring(1);if(D&&D<=p)w[D]=-1}}for(l=1;l<w.length;++l)if(-1===w[l])w[l]=++j;for(p=l=0;l<s;++l){u=q[l];if(u===E){++p;if(w[p]===
undefined)q[l]=Ba}else if(Q===u.charAt(0))if((D=+u.substring(1))&&D<=p)q[l]=Q+w[p]}for(p=l=0;l<s;++l)if(S===q[l]&&S!==q[l+1])q[l]=K;if(n.ignoreCase&&o)for(l=0;l<s;++l){u=q[l];n=u.charAt(0);if(u.length>=2&&n===V)q[l]=B(u);else if(n!==Q)q[l]=u.replace(/[a-zA-Z]/g,function(L){L=L.charCodeAt(0);return V+String.fromCharCode(L&-33,L|32)+ka})}return q.join(K)}var F=[];t=0;for(y=g.length;t<y;++t){x=g[t];if(x.global||x.multiline)throw new Error(K+x);F.push(Ba+G(x)+tc)}return new RegExp(F.join(aa),k?uc:ba)}
var qa=a;function Od(g){if(a===qa){var j=document.createElement(la);j.appendChild(document.createTextNode(vc));qa=!/</.test(j.innerHTML)}if(qa){j=g.innerHTML;if(Va(g))j=pa(j);return j}j=[];for(g=g.firstChild;g;g=g.nextSibling)ga(g,j);return j.join(K)}function Pd(g){var j=0;return function(o){for(var k=a,t=0,y=0,x=o.length;y<x;++y){var v=o.charAt(y);switch(v){case wc:k||(k=[]);k.push(o.substring(t,y));t=g-j%g;for(j+=t;t>=0;t-=16)k.push("                ".substring(0,t));t=y+1;break;case Ca:j=0;break;
default:++j}}if(!k)return o;k.push(o.substring(t));return k.join(K)}}var Qd=new RegExp(xc,ba),Rd=/^<\!--/,Sd=/^<\[CDATA\[/,Td=/^<br\b/i,Ya=/^<(\/?)([a-zA-Z]+)/;function Ud(g){var j=g.match(Qd),o=[],k=0,t=[];if(j)for(var y=0,x=j.length;y<x;++y){var v=j[y];if(v.length>1&&v.charAt(0)===Y){if(!Rd.test(v))if(Sd.test(v)){o.push(v.substring(9,v.length-3));k+=v.length-12}else if(Td.test(v)){o.push(Ca);++k}else if(v.indexOf(Da)>=0&&Vd(v)){var C=v.match(Ya)[2],B=1,G;G=y+1;a:for(;G<x;++G){var F=j[G].match(Ya);
if(F&&F[2]===C)if(F[1]===sa){if(--B===0)break a}else++B}if(G<x){t.push(k,j.slice(y,G+1).join(K));y=G}else t.push(k,v)}else t.push(k,v)}else{v=Nd(v);o.push(v);k+=v.length}}return{source:o.join(K),tags:t}}function Vd(g){return!!g.replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,yc).match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/)}function ra(g,j,o,k){if(j){g={source:j,b:g};o(g);k.push.apply(k,g.c)}}function U(g,j){var o={},k;(function(){for(var x=g.concat(j),v=[],C={},B=0,G=x.length;B<G;++B){var F=
x[B],n=F[3];if(n)for(var q=n.length;--q>=0;)o[n.charAt(q)]=F;F=F[1];n=K+F;if(!C.hasOwnProperty(n)){v.push(F);C[n]=a}}v.push(/[\0-\uffff]/);k=Wa(v)})();var t=j.length,y=function(x){var v=x.source,C=x.b,B=[C,R],G=0;v=v.match(k)||[];for(var F={},n=0,q=v.length;n<q;++n){var s=v[n],w=F[s],p,l;if(typeof w===zc)l=f;else{var u=o[s.charAt(0)];if(u){p=s.match(u[1]);w=u[0]}else{for(l=0;l<t;++l){u=j[l];if(p=s.match(u[1])){w=u[0];break}}p||(w=R)}if((l=w.length>=5&&ca===w.substring(0,5))&&!(p&&p[1])){l=f;w=Ea}l||
(F[s]=w)}u=G;G+=s.length;if(l){l=p[1];var D=s.indexOf(l),L=D+l.length;w=w.substring(5);ra(C+u,s.substring(0,D),y,B);ra(C+u+D,l,Za(w,l),B);ra(C+u+L,s.substring(L),y,B)}else B.push(C+u,w)}x.c=B};return y}function M(g){var j=[],o=[];if(g.tripleQuotedStrings)j.push([W,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,a,Ac]);else g.multiLineStrings?j.push([W,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
a,Bc]):j.push([W,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,a,Fa]);if(g.hashComments)g.cStyleComments?j.push([T,/^#(?:[^\r\n\/]|\/(?!\*)|\/\*[^\r\n]*?\*\/)*/,a,d]):j.push([T,/^#[^\r\n]*/,a,d]);if(g.cStyleComments){o.push([T,/^\/\/[^\r\n]*/,a]);o.push([T,/^\/\*[\s\S]*?(?:\*\/|$)/,a])}g.regexLiterals&&o.push([Cc,new RegExp(S+X+Dc)]);g=g.keywords.replace(/^\s+|\s+$/g,K);g.length&&o.push([Ga,new RegExp(Ec+g.replace(/\s+/g,aa)+Fc),a]);j.push([R,/^\s+/,a,Gc]);o.push([ma,/^@[a-z_$][a-z_$@0-9]*/i,
a,ua],[Ha,/^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/,a],[R,/^[a-z_$][a-z_$@0-9]*/i,a],[ma,/^(?:0x[a-f0-9]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+\-]?\d+)?)[a-z]*/i,a,Hc],[da,/^.[^\s\w\.$@\'\"\`\/\#]*/,a]);return U(j,o)}var Wd=M({keywords:Ic,hashComments:b,cStyleComments:b,multiLineStrings:b,regexLiterals:b});function Xd(g){var j=g.source,o=g.f,k=g.c,t=[],y=0,x=a,v=a,C=0,B=0,G=Pd(window.PR_TAB_WIDTH),F=/([\r\n ]) /g,n=/(^| ) /gm,q=/\r\n?|\n/g,s=/[ \r\n]$/,w=b;function p(u){if(u>y){if(x&&x!==v){t.push(na);
x=a}if(!x&&v){x=v;t.push(Jc,x,Kc)}var D=pa(G(j.substring(y,u))).replace(w?n:F,Lc);w=s.test(D);var L=window._pr_isIE6()?Mc:Nc;t.push(D.replace(q,L));y=u}}for(;1;){var l;if(l=C<o.length?B<k.length?o[C]<=k[B]:b:f){p(o[C]);if(x){t.push(na);x=a}t.push(o[C+1]);C+=2}else if(B<k.length){p(k[B]);v=k[B+1];B+=2}else break}p(j.length);x&&t.push(na);g.a=t.join(K)}var ha={};function J(g,j){for(var o=j.length;--o>=0;){var k=j[o];if(ha.hasOwnProperty(k))Ia in window&&console.i(Oc,k);else ha[k]=g}}function Za(g,j){g&&
ha.hasOwnProperty(g)||(g=/^\s*</.test(j)?Ja:Ka);return ha[g]}J(Wd,[Ka]);J(U([],[[R,/^[^<?]+/],[La,/^<!\w[^>]*(?:>|$)/],[T,/^<\!--[\s\S]*?(?:-\->|$)/],[ca,/^<\?([\s\S]+?)(?:\?>|$)/],[ca,/^<%([\s\S]+?)(?:%>|$)/],[da,/^(?:<[%?]|[%?]>)/],[ca,/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],[ea,/^<script\b[^>]*>([\s\S]+?)<\/script\b[^>]*>/i],[fa,/^<style\b[^>]*>([\s\S]+?)<\/style\b[^>]*>/i],[Pc,/^(<\/?[a-z][^<>]*>)/i]]),[Ja,Qc,Rc,Sc,Tc,Uc,Vc]);J(U([[R,/^[\s]+/,a,Wc],[oa,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,a,Fa]],
[[Ma,/^^<\/?[a-z](?:[\w:-]*\w)?|\/?>$/],[Na,/^(?!style\b|on)[a-z](?:[\w:-]*\w)?/],[Xc,/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[da,/^[=<>\/]+/],[ea,/^on\w+\s*=\s*\"([^\"]+)\"/i],[ea,/^on\w+\s*=\s*\'([^\']+)\'/i],[ea,/^on\w+\s*=\s*([^\"\'>\s]+)/i],[fa,/^sty\w+\s*=\s*\"([^\"]+)\"/i],[fa,/^sty\w+\s*=\s*\'([^\']+)\'/i],[fa,/^sty\w+\s*=\s*([^\"\'>\s]+)/i]]),[Yc]);J(U([],[[oa,/^[\s\S]+/]]),[Zc]);J(M({keywords:$c,hashComments:b,cStyleComments:b}),[ad,bd,cd,dd,ed,fd]);J(M({keywords:gd}),[hd]);J(M({keywords:id,
hashComments:b,cStyleComments:b}),[jd]);J(M({keywords:kd,cStyleComments:b}),[ld]);J(M({keywords:md,hashComments:b,multiLineStrings:b}),[nd,od,pd]);J(M({keywords:qd,hashComments:b,multiLineStrings:b,tripleQuotedStrings:b}),[rd,sd]);J(M({keywords:td,hashComments:b,multiLineStrings:b,regexLiterals:b}),[ud,vd,wd]);J(M({keywords:xd,hashComments:b,multiLineStrings:b,regexLiterals:b}),[yd]);J(M({keywords:zd,cStyleComments:b,regexLiterals:b}),[Ad]);J(U([],[[W,/^[\s\S]+/]]),[Bd]);function $a(g){var j=g.e,
o=g.d;g.a=j;try{var k=Ud(j),t=k.source;g.source=t;g.b=0;g.f=k.tags;Za(o,t)(g);Xd(g)}catch(y){if(Ia in window){console.log(y);console.h()}}}function Yd(g,j){g={e:g,d:j};$a(g);return g.a}function Zd(g){for(var j=window._pr_isIE6(),o=[document.getElementsByTagName(Oa),document.getElementsByTagName(Pa),document.getElementsByTagName(Qa)],k=[],t=0;t<o.length;++t)for(var y=0,x=o[t].length;y<x;++y)k.push(o[t][y]);o=a;var v=Date;v.now||(v={now:function(){return(new Date).getTime()}});var C=0,B;function G(){for(var n=
window.PR_SHOULD_USE_CONTINUATION?v.now()+250:Infinity;C<k.length&&v.now()<n;C++){var q=k[C];if(q.className&&q.className.indexOf(Ra)>=0){var s=q.className.match(/\blang-(\w+)\b/);if(s)s=s[1];for(var w=f,p=q.parentNode;p;p=p.parentNode)if((p.tagName===Oa||p.tagName===Pa||p.tagName===Qa)&&p.className&&p.className.indexOf(Ra)>=0){w=b;break}if(!w){w=Od(q);w=w.replace(/(?:\r\n?|\n)$/,K);B={e:w,d:s,g:q};$a(B);F()}}}if(C<k.length)setTimeout(G,250);else g&&g()}function F(){var n=B.a;if(n){var q=B.g;if(Va(q)){for(var s=
document.createElement(la),w=0;w<q.attributes.length;++w){var p=q.attributes[w];if(p.specified){var l=p.name.toLowerCase();if(l===Cd)s.className=p.value;else s.setAttribute(p.name,p.value)}}s.innerHTML=n;q.parentNode.replaceChild(s,q);q=s}else q.innerHTML=n;if(j&&q.tagName===la){n=q.getElementsByTagName(Dd);for(q=n.length;--q>=0;){s=n[q];s.parentNode.replaceChild(document.createTextNode(Ed),s)}}}}G()}window.PR_normalizedHtml=ga;window.prettyPrintOne=Yd;window.prettyPrint=Zd;window.PR={combinePrefixPatterns:Wa,
createSimpleLexer:U,registerLangHandler:J,sourceDecorator:M,PR_ATTRIB_NAME:Na,PR_ATTRIB_VALUE:oa,PR_COMMENT:T,PR_DECLARATION:La,PR_KEYWORD:Ga,PR_LITERAL:ma,PR_NOCODE:Da,PR_PLAIN:R,PR_PUNCTUATION:da,PR_SOURCE:Ea,PR_STRING:W,PR_TAG:Ma,PR_TYPE:Ha}})()})();(function(){function b(a){this.parentElem=a.parent;this.controlsElem=a.controls;this.contentElem=a.content;if(!(!this.parentElem||!this.controlsElem||!this.contentElem)){b.active[this.index=b.active.length]=this;var f=this;this.toggleElem=jQuery('<img src="images/cleardot.gif">').addClass("collapsible-control").mouseover(function(){var e=jQuery(this);e.addClass("collapsible-hover")}).mouseout(function(){var e=jQuery(this);e.removeClass("collapsible-hover")});this.controlsElem.mousedown(function(){var e=
jQuery(f.toggleElem),c=jQuery(f.contentElem);if(c.is(":visible")){e.addClass("collapsible-plus").removeClass("collapsible-minus");c.hide()}else{e.addClass("collapsible-minus").removeClass("collapsible-plus");c.show()}});if(this.parentElem.is(".closed"))a.opened=false;if(this.parentElem.is(".opened"))a.opened=true;if(a.opened===true)this.toggleElem.addClass("collapsible-minus");else{this.toggleElem.addClass("collapsible-plus");this.contentElem.hide()}this.controlsElem.prepend(this.toggleElem);this.parentElem.addClass("collapsible-done")}}
b.prototype={index:-1,parentElem:null,controlsElem:null,contentElem:null,toggleElem:null};jQuery.extend(b,{active:[],convert:function(){for(var a=jQuery(".collapsible"),f=0;f<a.length;f++)if(a[f].className.indexOf("collapsible-done")==-1){var e=jQuery(".collapsible-controls",a[f]),c=jQuery(".collapsible-content",a[f]);e.length&&c.length&&new b({parent:jQuery(a[f]),controls:e,content:c})}}});window.CODESITE_collapsible=b;jQuery(function(){CODESITE_collapsible.convert()})})();(function(){var b=function(h,r,m){this.numCompleteTranslations=0;this.contentContainers=h;this.originalText=[];this.translatedText=[];this.srcLang=r;this.destLang=m;for(h=0;h<this.contentContainers.length;h++)this.originalText.push(this.contentContainers[h].innerHTML)};b.prototype.translationComplete=function(h,r,m,z){if(m==200&&!z){for(m=0;m<r.length;m++)if(r[m].responseStatus!=200){r.slice(m);m--}this.translatedText[h]=r;this.numCompleteTranslations++;if(this.numCompleteTranslations==this.numTranslations){h=
[];for(m=0;m<this.translatedText.length;m++)h=h.concat(this.translatedText[m]);this.translatedText=h;for(m=0;m<this.translatedText.length;m++)if(this.translatedText[m].responseStatus==200)this.contentContainers[m].innerHTML=this.translatedText[m].responseData.translatedText}}};b.prototype.createScriptURLs=function(){var h=this.contentContainers,r=this.srcLang,m=this.destLang,z=[];r="http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&callback=CODESITE_newsBlogTH.translationComplete&langpair="+
r+"%7C"+m;m=0;for(var A=r+"&context="+m,H=0;H<h.length;H++){var E=encodeURIComponent(h[H].innerHTML);if(E)if((A+E).length<1800)A+="&q="+E;else{z.push(A);m++;A=r+"&context="+m;if((A+E).length<1800)A+="&q="+E}}z.push(A);return z};b.prototype.translate=function(){if(this.translatedText.length>0)for(var h=0;h<this.translatedText.length;h++){if(this.translatedText[h].responseStatus==200)this.contentContainers[h].innerHTML=this.translatedText[h].responseData.translatedText}else{var r=this.createScriptURLs();
this.numTranslations=r.length;for(h=0;h<r.length;h++)jQuery.ajax({type:"GET",url:r[h],dataType:"script"})}};b.prototype.revert=function(){for(var h=0;h<this.contentContainers.length;h++)jQuery(this.contentContainers[h]).text(this.originalText[h])};function a(){window.CODESITE_newsBlogTH.translate();jQuery("#gc-translate-direction").html("&nbsp;&larr;");jQuery(this).unbind();jQuery(this).click(f)}function f(){window.CODESITE_newsBlogTH.revert();jQuery("#gc-translate-direction").html("&nbsp;&rarr;");
jQuery(this).unbind();jQuery(this).click(a)}function e(h){switch(h){case "pt-BR":return"pt-PT";default:return h}}var c=document.getElementById("news")||null;if(c&&CODESITE_langLoc&&typeof window.CODESITE_langCode[CODESITE_langLoc]!=="undefined"){c=c.getElementsByTagName("p");for(var i=[],d=0;d<c.length;d++)c[d].className.indexOf("blog-entry-summary")!=-1&&i.push(c[d]);window.CODESITE_newsBlogTH=new b(i,"",e(CODESITE_langLoc));b=jQuery("#gc-translate-blogs");b.text(window.CODESITE_langCode[CODESITE_langLoc]);
b.click(a)}})(jQuery);(function(b){function a(){var f=window.location.pathname.replace(/\/index[.]html$/,"/");return"http://"+window.location.hostname+f}window.CODESITE_displayComments=function(){var f=b('<h2 id="commentWidgetTitle">User Notes</h2>'+CODESITE_zipItDesc+'<div id="commentwidget"></div>');b("#gc-pagecontent").append(f);f=a();google.annotations.create("CommentThread","commentwidget",{entity:{url:f},inline:true,collapsiblePoster:true,commentTemplate:'<div class="commentHeader"><z:Nickname/> - <z:DateTime/> <z:NumUsersFoundThisHelpful/></div><div class="commentContent"><z:CommentDisplay/></div><div class="commentHelpful">Was this note helpful? <z:VotingEditor/></div><div class="commentSpam"><z:ReportSpamLink/></div>'});
google.annotations.fetch()};window.CODESITE_initComments=function(f,e,c){f=f||"http://www.google.com";e=e||window.location;var i=c||b.getScript;if(e.pathname.indexOf("/intl/")==-1){c="&callback=CODESITE_displayComments&appid=92";if(e.hostname!="code.google.com")c+="&dev=1";var d=f+"/reviews/scripts/annotations_bootstrap.js?"+c;b(function(){i(d)})}}})(jQuery);
