if(window.jstiming){window.jstiming.beaconImageReferences_={};window.jstiming.reportCounter_=1;var getTick=function(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();
else if(window.chrome&&window.chrome.csi)e+="&tran="+window.chrome.csi().tran}catch(c){}if(b.dapperCookie_)e+="&"+b.dapperCookie_;var i=b.t,d=i.start,h=[];for(var t in i)t!="start"&&d&&h.push(t+"."+getTick(b,t));delete i.start;if(a)for(var o in a)e+="&"+o+"="+a[o];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 B=window.jstiming.reportCounter_++;window.jstiming.beaconImageReferences_[B]=a;a.onload=a.onerror=
function(){delete window.jstiming.beaconImageReferences_[B]};a.src=b;a=null;return b}};(function(){var b={dictionariesList:["products","programs","searchSuggest","searchResultTabs"],products:{includeInSearchSuggest:true,entries:{android:{title:"Android",groupsTitle:"Android \u7f51\u4e0a\u8bba\u575b",url:"/android/",keywords:{"\u79fb\u52a8\u8bbe\u5907":10}},gdata:{title:"Google \u6570\u636e API",groupsTitle:"Google Data API \u7f51\u4e0a\u8bba\u575b",url:"/apis/gdata/",keywords:{api:1,"\u4f9b\u7a3f":1,"\u6761\u76ee":6,Gentry:10,"Data API":10,java:1}},blogger:{title:"Blogger \u6570\u636e API \uff08\u5b9e\u9a8c\u5ba4\uff09",
groupsTitle:"Blogger Data API \u7f51\u4e0a\u8bba\u575b",url:"/apis/blogger/",keywords:{api:1,"\u4f9b\u7a3f":1,"\u6761\u76ee":2,Gentry:1,"Data API":4}},chromium:{title:"Chromium",groupsTitle:"Chromium \u7f51\u4e0a\u8bba\u575b",url:"/chromium/",keywords:{"\u6d4f\u89c8\u5668":1,chrome:1,chromium:1,v8:1}},feedburner:{title:"Feedburner API\uff08\u5b9e\u9a8c\u5ba4\uff09",groupsTitle:"FeedBurner \u7f51\u4e0a\u8bba\u575b",url:"/apis/feedburner/",keywords:{"\u4f9b\u7a3f":10}},accounts:{title:"Google \u5e10\u6237\u9a8c\u8bc1",
groupsTitle:"Google \u5e10\u6237\u9a8c\u8bc1\u7f51\u4e0a\u8bba\u575b",url:"/apis/accounts/",keywords:{api:1,"\u4f9b\u7a3f":1,"\u6761\u76ee":1,"\u5de5\u4f5c\u4eba\u5458":1}},adsense:{title:"Google AdSense API",groupsTitle:"Google AdSense API \u7f51\u4e0a\u8bba\u575b",url:"/apis/adsense/",keywords:{"\u5e7f\u544a":1,API:1}},adwords:{title:"Google AdWords API",groupsTitle:"Google AdWords API \u7f51\u4e0a\u8bba\u575b",url:"/apis/adwords/",keywords:{"\u5e7f\u544a":2,API:1}},ajax:{title:"Google AJAX API",
groupsTitle:"Google AJAX API \u7f51\u4e0a\u8bba\u575b",url:"/apis/ajax/",keywords:{ajax:10,API:10}},ajaxfeeds:{title:"Google AJAX \u4f9b\u7a3f API",groupsTitle:"Google AJAX \u4f9b\u7a3f API \u7f51\u4e0a\u8bba\u575b",url:"/apis/ajaxfeeds/",keywords:{ajax:8,api:5,"\u4f9b\u7a3f":6}},ajaxlanguage:{title:"Google AJAX \u8bed\u8a00 API",groupsTitle:"Google AJAX \u8bed\u8a00 API \u7f51\u4e0a\u8bba\u575b",url:"/apis/ajaxlanguage/",keywords:{ajax:8,api:5,"\u8bed\u8a00":10}},ajaxsearch:{title:"Google AJAX \u641c\u7d22 API",
groupsTitle:"Google AJAX \u641c\u7d22 API \u7f51\u4e0a\u8bba\u575b",url:"/apis/ajaxsearch/",keywords:{ajax:9,api:10,"\u641c\u7d22":6,"\u7ffb\u8bd1":5}},analytics:{title:"Google Analytics\uff08\u5206\u6790\uff09",groupsTitle:"Google Analytics\uff08\u5206\u6790\uff09\u7f51\u4e0a\u8bba\u575b",url:"/apis/analytics/",keywords:{"\u5de5\u5177":1,api:1,"\u6570\u636e API":1}},appengine:{title:"Google App Engine",groupsTitle:"Google App Engine \u7f51\u4e0a\u8bba\u575b",url:"/appengine/",keywords:{api:5,"\u5de5\u5177":1,
java:8,eclipse:1,app:8,"app engine":10,"\u63d2\u4ef6":1}},googleapps:{title:"Google \u4f01\u4e1a\u5e94\u7528\u5957\u4ef6\u5f00\u53d1\u4eba\u5458\u5de5\u5177",url:"/googleapps/",keywords:{"Google \u4f01\u4e1a\u5e94\u7528\u5957\u4ef6":10,"\u5c0f\u5de5\u5177":1,"\u4f01\u4e1a":1,"app engine":1,"\u5546\u6237":1,"\u9632\u706b\u5899":1,sdc:1}},apps:{title:"Google \u4f01\u4e1a\u5e94\u7528\u5957\u4ef6 API",groupsTitle:"Google \u4f01\u4e1a\u5e94\u7528\u5957\u4ef6 API \u7f51\u4e0a\u8bba\u575b",url:"/apis/apps/",
keywords:{API:1}},base:{title:"Google Base \u6570\u636e API \uff08\u5b9e\u9a8c\u5ba4\uff09",groupsTitle:"Google Base Data API \u7f51\u4e0a\u8bba\u575b",url:"/apis/base/",keywords:{api:1,"\u4f9b\u7a3f":1,"\u6761\u76ee":2,Gentry:1,"Data API":2}},books:{title:"Google \u56fe\u4e66\u641c\u7d22 API \uff08\u5b9e\u9a8c\u5ba4\uff09",groupsTitle:"Google \u56fe\u4e66\u641c\u7d22 API \u7f51\u4e0a\u8bba\u575b",url:"/apis/books/",keywords:{ajax:9,api:10,"\u641c\u7d22":1,"\u4f9b\u7a3f":1,"\u56fe\u4e66":1}},calendar:{title:"Google \u65e5\u5386 API \u548c\u5de5\u5177",
groupsTitle:"Google \u65e5\u5386 API \u548c\u5de5\u5177\u7f51\u4e0a\u8bba\u575b",url:"/apis/calendar/",keywords:{api:1,"\u4f9b\u7a3f":5,"\u6761\u76ee":2,"\u5c0f\u5de5\u5177":3,Gentry:1,"Data API":3,"\u5de5\u5177":1}},chart:{title:"Google \u56fe\u8868 API",groupsTitle:"Google \u56fe\u8868 API \u7f51\u4e0a\u8bba\u575b",url:"/apis/chart/",keywords:{api:1,"\u56fe\u8868":1}},checkout:{title:"Google Checkout API",groupsTitle:"Google Checkout API \u7f51\u4e0a\u8bba\u575b",url:"/apis/checkout/",keywords:{API:5}},
csearch:{title:"Google \u4ee3\u7801\u641c\u7d22\uff08\u5b9e\u9a8c\u5ba4\uff09",url:"http://www.google.com/codesearch",keywords:{"\u641c\u7d22":1}},codesearch:{title:"Google \u4ee3\u7801\u641c\u7d22\u6570\u636e API \uff08\u5b9e\u9a8c\u5ba4\uff09",groupsTitle:"Google \u4ee3\u7801\u641c\u7d22 Data API \u7f51\u4e0a\u8bba\u575b",url:"/apis/codesearch/",keywords:{api:1,"\u4f9b\u7a3f":1,"\u6761\u76ee":1,Gentry:1,"\u641c\u7d22":1}},customsearch:{title:"Google \u81ea\u5b9a\u4e49\u641c\u7d22 API",groupsTitle:"Google \u81ea\u5b9a\u4e49\u641c\u7d22 API \u7f51\u4e0a\u8bba\u575b",
url:"/apis/customsearch/",keywords:{api:1,"\u5e7f\u544a":1,"\u81ea\u5b9a\u4e49":1,"\u641c\u7d22":3,cse:1}},contacts:{title:"Google \u901a\u8baf\u5f55 API",groupsTitle:"Google \u901a\u8baf\u5f55 API \u7f51\u4e0a\u8bba\u575b",url:"/apis/contacts/",keywords:{api:1,"\u4f9b\u7a3f":1,"\u6761\u76ee":2,Gentry:1,"\u8054\u7cfb\u4eba":1,"Data API":4}},coupons:{title:"Google Coupon \u4f9b\u7a3f \uff08\u5b9e\u9a8c\u5ba4\uff09",url:"/apis/coupons/",keywords:{"\u4f9b\u7a3f":1}},desktop:{title:"Google \u684c\u9762 API\uff08\u5b9e\u9a8c\u5ba4\uff09",
groupsTitle:"Google Desktop API \u7f51\u4e0a\u8bba\u575b",url:"/apis/desktop/",keywords:{"\u5c0f\u5de5\u5177":1,"\u641c\u7d22":1}},documents:{title:"Google \u5728\u7ebf\u6587\u6863\u5217\u8868\u6570\u636e API",groupsTitle:"Google Documents \u5217\u8868 Data API \u7f51\u4e0a\u8bba\u575b",url:"/apis/documents/",keywords:{api:1,"\u4f9b\u7a3f":1,"\u6761\u76ee":2,Gentry:1,"Data API":3}},"in-stream":{title:"DoubleClick In-Stream\uff08\u5b9e\u9a8c\u5ba4\uff09",url:"/apis/in-stream/",keywords:{api:1,DoubleClick:10,
"\u5e7f\u544a":1,"\u89c6\u9891":1,flash:1}},earth:{title:"Google \u5730\u7403 API",groupsTitle:"Google \u5730\u7403 API \u7f51\u4e0a\u8bba\u575b",url:"/apis/earth/",keywords:{api:4,"\u5f00\u53d1\u4eba\u5458":1,"\u5f00\u53d1\u4eba\u5458\u65e5":1,"\u5730\u7406":6,"\u5730\u56fe":6,kml:6}},eclipse:{title:"Eclipse Google \u63d2\u4ef6",url:"/eclipse/",keywords:{java:3,gwt:1,"app engine":1,"plug-in":10}},finance:{title:"Google \u8d22\u7ecf\u6570\u636e API\uff08\u5b9e\u9a8c\u5ba4\uff09",url:"/apis/finance/",
keywords:{api:4,"\u4f9b\u7a3f":1,"\u6570\u636e API":1}},flashmaps:{title:"\u9002\u7528\u4e8e Flash \u7684 Google \u5730\u56fe API",url:"/apis/maps/documentation/flash/",keywords:{ajax:7,api:4,actionscript:1,"\u5730\u7406":6,"\u5730\u56fe":6}},friendconnect:{title:"Google Friend Connect API\uff08\u5b9e\u9a8c\u5ba4\uff09",url:"/apis/friendconnect/",keywords:{api:5,"\u5c0f\u5de5\u5177":5,"\u793e\u4ea4":10,"\u597d\u53cb":10}},gadgets:{title:"\u5c0f\u5de5\u5177 API",groupsTitle:"\u5c0f\u5de5\u5177 API \u7f51\u4e0a\u8bba\u575b",
url:"/apis/gadgets/",keywords:{"\u8d22\u52a1":1,api:8,"\u5c0f\u5de5\u5177":6}},gears:{title:"Gears\uff08\u5b9e\u9a8c\u5ba4\uff09",groupsTitle:"Gears \u7f51\u4e0a\u8bba\u575b",url:"/apis/gears/",keywords:{ajax:5,api:9,"\u5de5\u5177":1}},health:{title:"Google Health API",groupsTitle:"Google Health \u5f00\u53d1\u4eba\u5458\u7f51\u4e0a\u8bba\u575b",url:"/apis/health/",keywords:{"Data API":3,"\u4f9b\u7a3f":1,"\u5065\u5eb7":1,java:1}},igoogle:{title:"iGoogle \u5f00\u53d1\u4eba\u5458\u4e3b\u9875\uff08\u5b9e\u9a8c\u5ba4\uff09",
groupsTitle:"iGoogle \u5f00\u53d1\u4eba\u5458\u7f51\u4e0a\u8bba\u575b",url:"/apis/igoogle/",keywords:{"\u5e7f\u544a":3,API:1,"\u5c0f\u5de5\u5177":1,"\u793e\u4ea4":1}},themes:{title:"iGoogle \u4e3b\u9898 API\uff08\u5b9e\u9a8c\u5ba4\uff09",url:"/apis/themes/",keywords:{API:1}},kml:{title:"KML",groupsTitle:"KML \u7f51\u4e0a\u8bba\u575b",url:"/apis/kml/",keywords:{api:1,"\u5730\u7406":4,"\u5730\u56fe":1}},mapplets:{title:"Google Mapplets",url:"/apis/maps/documentation/mapplets/",keywords:{api:1,"\u5c0f\u5de5\u5177":1,
"\u5730\u7406":5,"\u5730\u56fe":1}},maps:{title:"Google \u5730\u56fe API",groupsTitle:"Google \u5730\u56fe API \u7f51\u4e0a\u8bba\u575b",url:"/apis/maps/",keywords:{ajax:7,api:4,"\u5730\u7406":6,"\u5730\u56fe":6}},o3d:{title:"O3D API\uff08\u5b9e\u9a8c\u5ba4\uff09",groupsTitle:"O3D \u7f51\u4e0a\u8bba\u575b",url:"/apis/o3d/",keywords:{"\u56fe\u5f62":10,"\u5f00\u6e90":1,javascript:1,"3d":10}},opensocial:{title:"OpenSocial",groupsTitle:"OpenSocial \u7f51\u4e0a\u8bba\u575b",url:"/apis/opensocial/",keywords:{"\u793e\u4ea4":10,
"\u5f00\u6e90":2,API:8}},orkut:{title:"Orkut \u5f00\u53d1\u4eba\u5458\u4e3b\u9875",groupsTitle:"Orkut \u7f51\u4e0a\u8bba\u575b",url:"/apis/orkut/",keywords:{"\u793e\u4ea4":8}},safebrowsing:{title:"Google \u5b89\u5168\u6d4f\u89c8 API\uff08\u5b9e\u9a8c\u5ba4\uff09",groupsTitle:"Google Safe Browsing API \u7f51\u4e0a\u8bba\u575b",url:"/apis/safebrowsing/",keywords:{api:1,"\u4f9b\u7a3f":1,"\u6761\u76ee":1,Gentry:1}},securedataconnector:{title:"Google \u5b89\u5168\u6570\u636e\u8fde\u63a5\u5668",groupsTitle:"Google \u4f01\u4e1a\u5e94\u7528\u5957\u4ef6 API \u8bba\u575b",
url:"/securedataconnector/",keywords:{"\u6570\u636e API":3,sdc:10,"\u5c0f\u5de5\u5177":1,"\u9632\u706b\u5899":10,"\u4f01\u4e1a":1,"app engine":1,"\u7f51\u7edc":1,"Google \u4f01\u4e1a\u5e94\u7528\u5957\u4ef6":2}},sitemaps:{title:"Google Sitemaps",url:"https://www.google.com/webmasters/tools/docs/en/about.html",keywords:{"\u641c\u7d22":1,"\u5de5\u5177":1}},sketchup:{title:"Google SketchUp Ruby API",groupsTitle:"Google SketchUp Ruby API \u7f51\u4e0a\u8bba\u575b",url:"/apis/sketchup/",keywords:{api:1,
"\u5730\u7406":3}},socialgraph:{title:"Social Graph API\uff08\u5b9e\u9a8c\u5ba4\uff09",groupsTitle:"Social Graph API \u7f51\u4e0a\u8bba\u575b",url:"/apis/socialgraph/",keywords:{"\u793e\u4ea4":9}},spreadsheets:{title:"Google \u7535\u5b50\u8868\u683c\u6570\u636e API \uff08\u5b9e\u9a8c\u5ba4\uff09",groupsTitle:"Google Spreadsheets Data API \u7f51\u4e0a\u8bba\u575b",url:"/apis/spreadsheets/",keywords:{api:1,"\u4f9b\u7a3f":1,"\u6761\u76ee":2,Gentry:1,"Data API":4}},staticmaps:{title:"Google Static Maps API",
url:"/apis/maps/documentation/staticmaps/",keywords:{api:1,"\u5730\u7406":6,"\u5730\u56fe":2}},talk:{title:"\u9762\u5411\u5f00\u53d1\u4eba\u5458\u7684 Google Talk\uff08\u5b9e\u9a8c\u5ba4\uff09",groupsTitle:"Google Talk XMPP \u7f51\u4e0a\u8bba\u575b",url:"/apis/talk/",keywords:{API:1}},toolbar:{title:"Google \u5de5\u5177\u680f API\uff08\u5b9e\u9a8c\u5ba4\uff09",url:"http://www.google.com/tools/toolbar/buttons/apis",keywords:{api:1,"\u5de5\u5177":1}},transit:{title:"Google \u516c\u4ea4\u641c\u7d22\u4f9b\u7a3f\u89c4\u8303",
groupsTitle:"Google \u516c\u4ea4\u641c\u7d22\u4f9b\u7a3f\u7f51\u4e0a\u8bba\u575b",url:"/transit/spec/transit_feed_specification.html",keywords:{"\u4f9b\u7a3f":1,"\u5730\u7406":1,"\u5730\u56fe":1}},visualization:{title:"Google \u53ef\u89c6\u5316 API",groupsTitle:"Google \u53ef\u89c6\u5316 API \u7f51\u4e0a\u8bba\u575b",url:"/apis/visualization/",keywords:{ajax:1,api:3,Gentry:1,"\u5c0f\u5de5\u5177":3}},webtoolkit:{title:"Google Web Toolkit",groupsTitle:"Google Web Toolkit \u7f51\u4e0a\u8bba\u575b",url:"/webtoolkit/",
keywords:{ajax:6,java:1,"\u5de5\u5177":6,eclipse:1,gwt:10}},picasa:{title:"Picasa API \uff08\u5b9e\u9a8c\u5ba4\uff09",groupsTitle:"Picasa API \u7f51\u4e0a\u8bba\u575b",url:"/apis/picasa/",keywords:{API:3,Gentry:1}},picasaweb:{title:"Picasa \u7f51\u7edc\u76f8\u518c\u6570\u636e API",groupsTitle:"Picasa \u7f51\u7edc\u76f8\u518c Data API \u7f51\u4e0a\u8bba\u575b",url:"/apis/picasaweb/",keywords:{"\u4f9b\u7a3f":1,"\u6761\u76ee":1,Gentry:1,"Data API":3}},v8:{title:"V8",url:"/apis/v8/",keywords:{api:1,"\u6d4f\u89c8\u5668":1,
chrome:1,chromium:1,"\u5de5\u5177":1}},wave:{title:"Google Wave API",groupsTitle:"Google Wave API \u7f51\u4e0a\u8bba\u575b",url:"/apis/wave",keywords:{wave:10,"\u673a\u5668\u4eba":5,"\u5c0f\u5de5\u5177":1,"\u5d4c\u5165":3,"\u6269\u5c55":1}},webelements:{title:"Google \u7f51\u9875\u5143\u7d20",url:"http://www.google.com/webelements/",keywords:{"\u5143\u7d20":10,"\u65b0\u95fb":1,"\u65e5\u5386":1,"\u5730\u56fe":1,youtube:1,"\u7535\u5b50\u8868\u683c":1,"\u6f14\u793a\u6587\u7a3f":1,"\u641c\u7d22":1}},
webmastertools:{title:"Google \u7f51\u7ad9\u7ba1\u7406\u5458\u5de5\u5177\u6570\u636e API\uff08\u5b9e\u9a8c\u5ba4\uff09",groupsTitle:"\u7f51\u7ad9\u7ba1\u7406\u5458\u5de5\u5177\u6570\u636e API \u7f51\u4e0a\u8bba\u575b",url:"/apis/webmastertools/",keywords:{"\u6570\u636e API":1,"\u641c\u7d22":1,"\u5de5\u5177":1}},youtube:{title:"YouTube API",groupsTitle:"YouTube Data API \u7f51\u4e0a\u8bba\u575b",url:"/apis/youtube/",keywords:{"\u4f9b\u7a3f":4,"\u6761\u76ee":2,Gentry:6}}}},programs:{includeInSearchSuggest:true,
entries:{opensource:{title:"OpenSource",url:"/opensource/",keywords:{"\u5f00\u6e90":10}},soc:{title:"Google Summer of Code",url:"/soc/",keywords:{"\u5f00\u6e90":5}},ghop:{title:"\u9ad8\u5ea6\u5f00\u653e\u7684\u53c2\u4e0e\u6027\u7ade\u8d5b",url:"/opensource/ghop/2007-8/",keywords:{"\u5f00\u6e90":2}},projectHosting:{title:"\u9879\u76ee\u6258\u7ba1",url:"/hosting/",keywords:{"\u5f00\u6e90":6}},mac:{title:"Google Mac \u5f00\u53d1\u4eba\u5458\u56ed\u5730",url:"/mac/",keywords:{"\u5f00\u6e90":2,osx:6,apple:6,
iphone:6}},edu:{title:"Google \u7f16\u7a0b\u5b66\u9662",groupsTitle:"Google \u7f16\u7a0b\u5b66\u9662\u7f51\u4e0a\u8bba\u575b",url:"/edu/",keywords:{"\u6559\u80b2\u5de5\u4f5c\u8005":1}},doctype:{title:"Google DocType",groupsTitle:"Google DocType \u7f51\u4e0a\u8bba\u575b",url:"/doctype/",keywords:{"\u6559\u80b2\u5de5\u4f5c\u8005":1}},speed:{title:"\u8ba9\u6211\u4eec\u4f7f\u7f51\u7edc\u8fd0\u8f6c\u66f4\u5feb",groupsTitle:"\u4f7f\u7f51\u7edc\u8fd0\u8f6c\u66f4\u5feb",url:"/speed/",keywords:{"\u901f\u5ea6":8,
"\u6027\u80fd":9}},"page-speed":{title:"Page Speed",groupsTitle:"Page Speed \u793e\u533a",url:"/speed/page-speed/",keywords:{"\u901f\u5ea6":8,"\u6027\u80fd":9}},events:{title:"\u5f00\u53d1\u4eba\u5458\u6d3b\u52a8",url:"/events/",keywords:{"\u5f00\u53d1\u4eba\u5458":1,gdd:1,"\u5f00\u53d1\u4eba\u5458\u65e5":1}},googleio:{title:"Google I/O",url:"/events/io/",keywords:{API:1,Gentry:1,"google io":10,"\u6d3b\u52a8":10,io:10}},gtug:{title:"Google \u6280\u672f\u7528\u6237\u7f51\u4e0a\u8bba\u575b",url:"http://www.gtugs.org/",
keywords:{gtug:10,"\u6d3b\u52a8":9,"\u7f51\u4e0a\u8bba\u575b":1,"\u6280\u672f":1,"\u7528\u6237":1}},developerday:{title:"\u5f00\u53d1\u4eba\u5458\u65e5",url:"/events/developerday/",keywords:{"\u5f00\u53d1\u4eba\u5458":1,"\u5f00\u53d1\u4eba\u5458\u65e5":1,gdd:10,"\u6d3b\u52a8":2,"Google \u5f00\u53d1\u4eba\u5458\u65e5":10}},campfire:{title:"Google Campfire One",url:"/campfire/",keywords:{"\u5f00\u53d1\u4eba\u5458":1}}}},searchSuggest:{includeInSearchSuggest:true,entries:{adsenseforaudio:{title:"Google \u8bed\u97f3 AdSense API\uff08\u4e0d\u5efa\u8bae\u4f7f\u7528\uff09",
url:"/apis/adsenseforaudio/",keywords:{"\u5e7f\u544a":1,API:1}},gme:{title:"Google \u6df7\u642d\u7f16\u8f91\u5668\uff08\u4e0d\u5efa\u8bae\u4f7f\u7528\uff09",url:"/gme/",keywords:{ajax:2,"\u6761\u76ee":1,Gentry:1,"\u5de5\u5177":5}},notebook:{title:"Google \u8bb0\u4e8b\u672c\u6570\u636e API\uff08\u4e0d\u5efa\u8bae\u4f7f\u7528\uff09",url:"/apis/notebook/",keywords:{api:1,"\u4f9b\u7a3f":1,"\u6761\u76ee":1,Gentry:1,"Data API":3}},gra:{title:"Google \u6536\u97f3\u673a\u81ea\u52a8\u5316 API\uff08\u4e0d\u5efa\u8bae\u4f7f\u7528\uff09",
url:"/apis/gra/",keywords:{java:1,api:1,"\u6536\u97f3\u673a":10,"\u81ea\u52a8\u5316":3}},soapsearch:{title:"Google SOAP \u641c\u7d22 API\uff08\u4e0d\u5efa\u8bae\u4f7f\u7528\uff09",url:"/apis/soapsearch/",keywords:{soap:1,api:1,"\u641c\u7d22":1}},support:{title:"\u77e5\u8bc6\u5e93",url:"/support/",keywords:{"\u5e38\u89c1\u95ee\u9898\u89e3\u7b54":1}},codeblog:{title:"Google \u4ee3\u7801\u535a\u5ba2",url:"http://google-code-updates.blogspot.com/",keywords:{"\u5f00\u53d1\u4eba\u5458":1}},featuredprojects:{title:"\u7279\u8272\u9879\u76ee",
url:"http://google-code-featured.blogspot.com/",keywords:{"\u5f00\u53d1\u4eba\u5458":1}},opensourceprojects:{title:"\u5f00\u6e90\u9879\u76ee",url:"/hosting/projects.html",keywords:{"\u5f00\u6e90":1}},qualify:{title:"\u5f00\u53d1\u4eba\u5458\u8d44\u683c",url:"/qualify/",keywords:{"\u8d44\u683c":10,"\u8bc1\u4e66":10,"\u57f9\u8bad":10}},protocolbuffers:{title:"Protocol Buffers",groupsTitle:"Protocol Buffers \u7f51\u4e0a\u8bba\u575b",url:"/apis/protocolbuffers/",keywords:{"\u5e8f\u5217\u5316":10,"\u5f00\u6e90":4,
API:8,"\u7ed3\u6784\u5316\u6570\u636e":10,"\u6570\u636e":1}}}},searchResultTabs:{includeInSearchSuggest:false,entries:{google_code:{title:"Google \u4ee3\u7801\u7f51\u7ad9"},discussion:{title:"Google Code Groups",groupsTitle:"Google \u4ee3\u7801\u7f51\u4e0a\u8bba\u575b"},project_hosting:{title:"\u9879\u76ee\u6258\u7ba1"}}}};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=null;c=c||window.location;c=b.exec(c.href);for(var h=0;h<window.CODESITE_prodLang.length;h++)if(c[3].indexOf(window.CODESITE_prodLang[h].url)>=
0){d=window.CODESITE_prodLang[h].langloc;break}d||(d=["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)});for(c=0;c<d.length;c++){h=d[c];var t=CODESITE_localeRedirect(h,window.location,false);i.addItem(window.CODESITE_langCode[h],t)}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(t){}};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 t=0;if(d.length>=2)t=2;for(var o=['<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(""),B=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>'),
D=0;D<t;D++){var I=jQuery("title:first",d[D]).text(),J=I,P=jQuery("link:first",d[D]).text(),S=P.substring(31),H;if((H=d.eq(D).find("atom\\:updated, updated")).length){var N=H.eq(0).text().replace(/(\d{4})-(\d{2})-(\d{2})T.*/,"$2 $3 $1").split(" ");H=new Date;H.setFullYear(N[2],N[0]-1,N[1])}else if((H=d.eq(D).find("dc\\:date, date")).length)H=new Date(H.eq(0).text());N=google.feeds.getElementsByTagNameNS(d[D],"http://search.yahoo.com/mrss/","thumbnail")[0];var U=N.getAttribute("url");N.getAttribute("width");
N.getAttribute("height");H=H.getMonth()+1+"/"+H.getDate()+"/"+H.getFullYear();I=jQuery(o.replace(/@link/g,P).replace(/@videoid/g,S).replace(/@thumb/g,U).replace(/@origTitle/g,I).replace(/@title/g,J).replace(/@date/g,H));jQuery(".g-unit:eq("+D+")",B).prepend(I)}h.append(B)}})};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 t(P){var S="",H;if(typeof P=="string"){if(P!="")S="&"+b(P)}else for(H in P)S+=["&",H,"=",b(P[H])].join("");return S}if(CODESITE_codeBlogDiv.length){var o=[];d=window._apiGadgetData_||window._homepageGadgetData_;h=d.blogOptions;var B=410,D="100%",I="__MSG_blogs__";i="";if(h){D=h.width||D;B=h.height||
B;I=h.up_gadgetTitle||I;i=h.xtraFeeds||i}if(d.blogFeedUrl&&d.blogFeedUrl.length){if(!d.blogFeedName||d.blogFeedName.length==0)d.blogFeedName="__MSG_blogs__";o.push(b([d.blogFeedName,":",jQuery.trim(d.blogFeedUrl)].join("")))}d.googleCodeBlogIntlFeedUrl&&d.googleCodeBlogIntlFeedUrl.length&&o.push(b(["__MSG_blogs.local__:",jQuery.trim(d.googleCodeBlogIntlFeedUrl)].join("")));d.googleCodeBlogFeedUrl&&d.googleCodeBlogFeedUrl.length&&o.push(b(["__MSG_blogs.googleCode__:",jQuery.trim(d.googleCodeBlogFeedUrl)].join("")));
d.relatedDeveloperBlogsFeedUrl&&d.relatedDeveloperBlogsFeedUrl.length&&o.push(b(["__MSG_blogs.related__:",jQuery.trim(d.relatedDeveloperBlogsFeedUrl)].join("")));if(i.length){i=a(i).split("|");for(d=0;d<i.length;d++)o.push(b(jQuery.trim(i[d])))}if(o.length)jQuery('<iframe frameborder="0">').attr({src:[c,"up_showaddbutton=true&up_random=true&up_defer=true&up_gadgetTitle=",b(I),"&up_feeds=",o.join("|"),t(h||"")].join(""),frameborder:"0",width:D,height:B}).css({border:"none"}).appendTo(CODESITE_codeBlogDiv)}if(CODESITE_featuredDiv.length){var J=
[];d=window._apiGadgetData_||window._homepageGadgetData_;h=d.groupOptions;B=410;D="100%";I="__MSG_groups.community__";i="";if(h){D=h.width||D;B=h.height||B;I=h.up_gadgetTitle||I;i=h.xtraFeeds||i}d.featuredProjectsFeedUrl&&d.featuredProjectsFeedUrl.length&&J.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__";J.push(b([d.groupFeedName,
":",jQuery.trim(d.groupFeedUrl)].join("")))}d.featureFeedUrl&&d.featureFeedUrl.length&&J.push(b(["featured:__MSG_featured.projects__:",jQuery.trim(d.featureFeedUrl)].join("")));d.articleFeedUrl&&d.articleFeedUrl.length&&J.push(b(["__MSG_articles__:",jQuery.trim(d.articleFeedUrl)].join("")));d.userGroupsFeedUrl&&d.userGroupsFeedUrl.length&&J.push(b(["__MSG_groups.user__:",jQuery.trim(d.userGroupsFeedUrl)].join("")));if(i.length){i=a(i).split("|");for(d=0;d<i.length;d++)J.push(b(jQuery.trim(i[d])))}if(J.length)jQuery('<iframe frameborder="0">').attr({src:[c,
"up_showaddbutton=true&up_defer=true&up_gadgetTitle=",b(I),"&up_feeds=",J.join("|"),t(h||"")].join(""),frameborder:"0",width:D,height:B}).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">'),t=function(o){var B=c.offset();d.css({left:B.left+"px",top:(o.pageY||o.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(o){h.addClass("hover");if(i.is(":hidden")){h.css("left","-3px");d.addClass("collapsed")}else d.removeClass("collapsed");d.show();t(o)}).mousemove(function(o){t(o)}).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=="query")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+"/query/#"+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();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_:"",
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_)),t=i.title.toLowerCase().match(h);if(t!=null)d=2;for(var o in i.keywords){t=o.match(h);if(t!=null)d+=i.keywords[o];t=this.typedQuery_.split(" ");if(t.length>1)for(c=0;c<t.length;c++){var B=new RegExp("(?:\\s|^)"+t[c]);B=o.match(B);if(B!=null)d+=i.keywords[o]}}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;if(this.inputFieldEl_[0] != null){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(/\/query\//);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()});window.PR_SHOULD_USE_CONTINUATION=true,window.PR_TAB_WIDTH=8,window.PR_normalizedHtml=window.PR=window.prettyPrintOne=window.prettyPrint=void 0,window._pr_isIE6=function(){var b=navigator&&navigator.userAgent&&navigator.userAgent.match(/\bMSIE ([678])\./);return b=b?+b[1]:false,window._pr_isIE6=function(){return b},b},function(){var b=true,a=null,f="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 typeof ",
e=f+"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 using virtual wchar_t where ",c=f+"abstract boolean byte extends final finally implements import instanceof null native package strictfp super synchronized throws transient ",i=c+"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 ";
f=f+"debugger eval export function get null set undefined var with Infinity NaN ";var d="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 ",h="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 ",t="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 ",
o="break continue do else for if return while case done elif esac eval fi function in local set then until ",B=e+i+f+d+h+t+o,D=function(){var g=["!","!=","!==","#","%","%=","&","&&","&&=","&=","(","*","*=","+=",",","-=","->","/","/=",":","::",";","<","<<","<<=","<=","=","==","===",">",">=",">>",">>=",">>>",">>>=","?","@","[","^","^=","^^","^^=","{","|","|=","||","||=","~","break","case","continue","delete","do","else","finally","instanceof","return","throw","try","typeof"],j="(?:^^|[+-]",k;for(k=
0;k<g.length;++k)j+="|"+g[k].replace(/([^=<>:&a-z])/g,"\\$1");return j+=")\\s*",j}(),I=/&/g,J=/</g,P=/>/g,S=/\"/g,H,N,U,aa,ba,ca,da,ea,fa,ga,ha,ia,ja,W;function oa(g){return g.replace(I,"&amp;").replace(J,"&lt;").replace(P,"&gt;").replace(S,"&quot;")}function X(g){return g.replace(I,"&amp;").replace(J,"&lt;").replace(P,"&gt;")}ha=/&lt;/g,ga=/&gt;/g,ba=/&apos;/g,ja=/&quot;/g,aa=/&amp;/g,ia=/&nbsp;/g;function pa(g){var j=g.indexOf("&"),k,l,m,z;if(j<0)return g;for(--j;(j=g.indexOf("&#",j+1))>=0;)l=g.indexOf(";",
j),l>=0&&(m=g.substring(j+3,l),z=10,m&&m.charAt(0)==="x"&&(m=m.substring(1),z=16),k=parseInt(m,z),isNaN(k)||(g=g.substring(0,j)+String.fromCharCode(k)+g.substring(l+1)));return g.replace(ha,"<").replace(ga,">").replace(ba,"'").replace(ja,'"').replace(ia," ").replace(aa,"&")}function ka(g){return"XMP"===g.tagName}U=/[\r\n]/g;function qa(g,j){var k;return"PRE"===g.tagName?b:U.test(j)?(k="",g.currentStyle?(k=g.currentStyle.whiteSpace):window.getComputedStyle&&(k=window.getComputedStyle(g,a).whiteSpace),
!k||k==="pre"):b}function V(g,j){var k,l,m;switch(g.nodeType){case 1:m=g.tagName.toLowerCase(),j.push("<",m);for(l=0;l<g.attributes.length;++l){k=g.attributes[l];if(k.specified)j.push(" "),V(k,j)}j.push(">");for(k=g.firstChild;k;k=k.nextSibling)V(k,j);(g.firstChild||!/^(?:br|link|img)$/.test(m))&&j.push("</",m,">");break;case 2:j.push(g.name.toLowerCase(),'="',oa(g.value),'"');break;case 3:case 4:j.push(X(g.nodeValue))}}function la(g){var j=0,k=false,l=false,m,z,u,C;for(m=0,z=g.length;m<z;++m){u=
g[m];if(u.ignoreCase)l=b;else if(/[a-z]/i.test(u.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){k=b,l=false;break}}function r(y){if(y.charAt(0)!=="\\")return y.charCodeAt(0);switch(y.charAt(1)){case "b":return 8;case "t":return 9;case "n":return 10;case "v":return 11;case "f":return 12;case "r":return 13;case "u":case "x":return parseInt(y.substring(2),16)||y.charCodeAt(1);case "0":case "1":case "2":case "3":case "4":case "5":case "6":case "7":return parseInt(y.substring(1),8);default:return y.charCodeAt(1)}}
function E(y){var q;return y<32?(y<16?"\\x0":"\\x")+y.toString(16):(q=String.fromCharCode(y),(q==="\\"||q==="-"||q==="["||q==="]")&&(q="\\"+q),q)}function F(y){var q=y.substring(1,y.length-1).match(new RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g"));y=[];var v=[],A=q[0]==="^",n,w,p,s,x,O,K;for(w=A?1:0,s=q.length;w<s;++w){O=q[w];switch(O){case "\\B":case "\\b":case "\\D":case "\\d":case "\\S":case "\\s":case "\\W":case "\\w":y.push(O);
continue}p=r(O),w+2<s&&"-"===q[w+1]?(n=r(q[w+2]),w+=2):(n=p),v.push([p,n]),n<65||p>122||(n<65||p>90||v.push([Math.max(65,p)|32,Math.min(n,90)|32]),n<97||p>122||v.push([Math.max(97,p)&-33,Math.min(n,122)&-33]))}v.sort(function(M,R){return M[0]-R[0]||R[1]-M[1]}),n=[],p=[NaN,NaN];for(w=0;w<v.length;++w)K=v[w],K[0]<=p[1]+1?(p[1]=Math.max(p[1],K[1])):n.push(p=K);x=["["],A&&x.push("^"),x.push.apply(x,y);for(w=0;w<n.length;++w)K=n[w],x.push(E(K[0])),K[1]>K[0]&&(K[1]+1>K[0]&&x.push("-"),x.push(E(K[1])));
return x.push("]"),x.join("")}function G(y){var q=y.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g")),v=q.length,A=[],n,w,p,s,x;for(s=0,p=0;s<v;++s)x=q[s],x==="("?++p:"\\"===x.charAt(0)&&(w=+x.substring(1),w&&w<=p&&(A[w]=-1));for(s=1;s<A.length;++s)-1===A[s]&&(A[s]=++j);for(s=0,p=0;s<v;++s)x=q[s],x==="("?(++p,A[p]===void 0&&(q[s]="(?:")):"\\"===x.charAt(0)&&(w=+x.substring(1),
w&&w<=p&&(q[s]="\\"+A[p]));for(s=0,p=0;s<v;++s)"^"===q[s]&&"^"!==q[s+1]&&(q[s]="");if(y.ignoreCase&&k)for(s=0;s<v;++s)x=q[s],n=x.charAt(0),x.length>=2&&n==="["?(q[s]=F(x)):n!=="\\"&&(q[s]=x.replace(/[a-zA-Z]/g,function(O){O=O.charCodeAt(0);return"["+String.fromCharCode(O&-33,O|32)+"]"}));return q.join("")}C=[];for(m=0,z=g.length;m<z;++m){u=g[m];if(u.global||u.multiline)throw new Error(""+u);C.push("(?:"+G(u)+")")}return new RegExp(C.join("|"),l?"gi":"g")}H=a;function ra(g){var j,k;a===H&&(k=document.createElement("PRE"),
k.appendChild(document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />')),H=!/</.test(k.innerHTML));if(H)return j=g.innerHTML,ka(g)?(j=X(j)):qa(g,j)||(j=j.replace(/(<br\s*\/?>)[\r\n]+/g,"$1").replace(/(?:[\r\n]+[ \t]*)+/g," ")),j;j=[];for(g=g.firstChild;g;g=g.nextSibling)V(g,j);return j.join("")}function sa(g){var j=0;return function(k){var l=a,m=0,z,u,C,r;for(u=0,C=k.length;u<C;++u){z=k.charAt(u);switch(z){case "\t":for(l||(l=[]),l.push(k.substring(m,u)),r=g-j%g,j+=r;r>=0;r-=16)l.push("                ".substring(0,
r));m=u+1;break;case "\n":j=0;break;default:++j}}return l?(l.push(k.substring(m)),l.join("")):k}}ea=new RegExp("[^<]+|<!--[\\s\\S]*?--\>|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>|</?[a-zA-Z](?:[^>\"']|'[^']*'|\"[^\"]*\")*>|<","g"),fa=/^<\!--/,da=/^<!\[CDATA\[/,ca=/^<br\b/i,W=/^<(\/?)([a-zA-Z][a-zA-Z0-9]*)/;function ta(g){g=g.match(ea);var j=[],k=0,l=[],m,z,u,C,r,E,F,G;if(g)for(z=0,E=g.length;z<E;++z){r=g[z];if(r.length>1&&r.charAt(0)==="<"){if(!fa.test(r))if(da.test(r))j.push(r.substring(9,r.length-3)),k+=r.length-
12;else if(ca.test(r))j.push("\n"),++k;else if(r.indexOf("nocode")>=0&&ua(r)){F=r.match(W)[2],m=1;for(u=z+1;u<E;++u)if((G=g[u].match(W))&&G[2]===F)if(G[1]==="/"){if(--m===0)break}else++m;u<E?(l.push(k,g.slice(z,u+1).join("")),z=u):l.push(k,r)}else l.push(k,r)}else C=pa(r),j.push(C),k+=C.length}return{source:j.join(""),tags:l}}function ua(g){return!!g.replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,' $1="$2$3$4"').match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/)}function Y(g,j,k,l){var m;
if(j)m={source:j,basePos:g},k(m),l.push.apply(l,m.decorations)}function T(g,j){var k={},l,m,z,u;return function(){var C=g.concat(j),r=[],E={},F,G,y,q,v,A,n;for(G=0,q=C.length;G<q;++G){v=C[G],n=v[3];if(n)for(F=n.length;--F>=0;)k[n.charAt(F)]=v;A=v[1],y=""+A,E.hasOwnProperty(y)||(r.push(A),E[y]=a)}r.push(/[\0-\uffff]/),u=la(r)}(),m=j.length,z=/\S/,l=function(C){var r=C.source,E=C.basePos,F,G,y,q,v,A,n,w,p,s,x,O,K,M,R,Z;F=[E,"pln"],s=0,Z=r.match(u)||[],O={};for(K=0,w=Z.length;K<w;++K){M=Z[K],x=O[M],
n=void 0;if(typeof x==="string")v=false;else{if(p=k[M.charAt(0)])n=M.match(p[1]),x=p[0];else{for(r=0;r<m;++r){p=j[r],n=M.match(p[1]);if(n){x=p[0];break}}n||(x="pln")}v=x.length>=5&&"lang-"===x.substring(0,5),v&&!(n&&typeof n[1]==="string")&&(v=false,x="src"),v||(O[M]=x)}R=s,s+=M.length,v?(G=n[1],q=M.indexOf(G),y=q+G.length,n[2]&&(y=M.length-n[2].length,q=y-G.length),A=x.substring(5),Y(E+R,M.substring(0,q),l,F),Y(E+R+q,G,ma(A,G),F),Y(E+R+y,M.substring(y),l,F)):F.push(E+R,x)}C.decorations=F},l}function Q(g){var j=
[],k=[],l,m;return g.tripleQuotedStrings?j.push(["str",/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,a,"'\""]):g.multiLineStrings?j.push(["str",/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,a,"'\"`"]):j.push(["str",/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,a,"\"'"]),g.verbatimStrings&&
k.push(["str",/^@\"(?:[^\"]|\"\")*(?:\"|$)/,a]),g.hashComments&&(g.cStyleComments?(j.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,a,"#"]),k.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,a])):j.push(["com",/^#[^\r\n]*/,a,"#"])),g.cStyleComments&&(k.push(["com",/^\/\/[^\r\n]*/,a]),k.push(["com",/^\/\*[\s\S]*?(?:\*\/|$)/,a])),g.regexLiterals&&(l="/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/",
k.push(["lang-regex",new RegExp("^"+D+"("+l+")")])),m=g.keywords.replace(/^\s+|\s+$/g,""),m.length&&k.push(["kwd",new RegExp("^(?:"+m.replace(/\s+/g,"|")+")\\b"),a]),j.push(["pln",/^\s+/,a," \r\n\t\u00a0"]),k.push(["lit",/^@[a-z_$][a-z_$@0-9]*/i,a],["typ",/^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/,a],["pln",/^[a-z_$][a-z_$@0-9]*/i,a],["lit",/^(?:0x[a-f0-9]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+\-]?\d+)?)[a-z]*/i,a,"0123456789"],["pun",/^.[^\s\w\.$@\'\"\`\/\#]*/,a]),T(j,k)}B=Q({keywords:B,hashComments:b,
cStyleComments:b,multiLineStrings:b,regexLiterals:b});function va(g){var j=g.source,k=g.extractedTags,l=g.decorations,m=[],z=0,u=a,C=a,r=0,E=0,F=sa(window.PR_TAB_WIDTH),G=/([\r\n ]) /g,y=/(^| ) /gm,q=/\r\n?|\n/g,v=/[ \r\n]$/,A=b,n;function w(p){var s,x;p>z&&(u&&u!==C&&(m.push("</span>"),u=a),!u&&C&&(u=C,m.push('<span class="',u,'">')),s=X(F(j.substring(z,p))).replace(A?y:G,"$1&nbsp;"),A=v.test(s),x=window._pr_isIE6()?"&nbsp;<br />":"<br />",m.push(s.replace(q,x)),z=p)}for(;b;){r<k.length?E<l.length?
(n=k[r]<=l[E]):(n=b):(n=false);if(n)w(k[r]),u&&(m.push("</span>"),u=a),m.push(k[r+1]),r+=2;else if(E<l.length)w(l[E]),C=l[E+1],E+=2;else break}w(j.length),u&&m.push("</span>"),g.prettyPrintedHtml=m.join("")}N={};function L(g,j){var k,l;for(l=j.length;--l>=0;)k=j[l],N.hasOwnProperty(k)?"console"in window&&console.warn("cannot override language handler %s",k):(N[k]=g)}function ma(g,j){return g&&N.hasOwnProperty(g)||(g=/^\s*</.test(j)?"default-markup":"default-code"),N[g]}L(B,["default-code"]),L(T([],
[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]),L(T([["pln",/^[\s]+/,a," \t\r\n"],["atv",/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,
a,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],["pun",/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]),L(T([],[["atv",/^[\s\S]+/]]),["uq.val"]),L(Q({keywords:e,
hashComments:b,cStyleComments:b}),["c","cc","cpp","cxx","cyc","m"]),L(Q({keywords:"null true false"}),["json"]),L(Q({keywords:i,hashComments:b,cStyleComments:b,verbatimStrings:b}),["cs"]),L(Q({keywords:c,cStyleComments:b}),["java"]),L(Q({keywords:o,hashComments:b,multiLineStrings:b}),["bsh","csh","sh"]),L(Q({keywords:h,hashComments:b,multiLineStrings:b,tripleQuotedStrings:b}),["cv","py"]),L(Q({keywords:d,hashComments:b,multiLineStrings:b,regexLiterals:b}),["perl","pl","pm"]),L(Q({keywords:t,hashComments:b,
multiLineStrings:b,regexLiterals:b}),["rb"]),L(Q({keywords:f,cStyleComments:b,regexLiterals:b}),["js"]),L(T([],[["str",/^[\s\S]+/]]),["regex"]);function na(g){var j=g.sourceCodeHtml,k=g.langExtension,l,m;g.prettyPrintedHtml=j;try{m=ta(j),l=m.source,g.source=l,g.basePos=0,g.extractedTags=m.tags,ma(k,l)(g),va(g)}catch(z){"console"in window&&(console.log(z),console.trace())}}function wa(g,j){g={sourceCodeHtml:g,langExtension:j};return na(g),g.prettyPrintedHtml}function xa(g){var j=window._pr_isIE6(),
k=j===6?"\r\n":"\r",l=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],m=[],z,u,C,r,E,F;for(u=0;u<l.length;++u)for(C=0,E=l[u].length;C<E;++C)m.push(l[u][C]);l=a,z=Date,z.now||(z={now:function(){return(new Date).getTime()}}),r=0;function G(){for(var q=window.PR_SHOULD_USE_CONTINUATION?z.now()+250:Infinity,v,A,n,w,p;r<m.length&&z.now()<q;++r){A=m[r];if(A.className&&A.className.indexOf("prettyprint")>=0){n=A.className.match(/\blang-(\w+)\b/),
n&&(n=n[1]),w=false;for(p=A.parentNode;p;p=p.parentNode)if((p.tagName==="pre"||p.tagName==="code"||p.tagName==="xmp")&&p.className&&p.className.indexOf("prettyprint")>=0){w=b;break}w||(v=ra(A),v=v.replace(/(?:\r\n?|\n)$/,""),F={sourceCodeHtml:v,langExtension:n,sourceNode:A},na(F),y())}}r<m.length?setTimeout(G,250):g&&g()}function y(){var q=F.prettyPrintedHtml,v,A,n,w,p,s;if(q){n=F.sourceNode;if(ka(n)){s=document.createElement("PRE");for(w=0;w<n.attributes.length;++w)v=n.attributes[w],v.specified&&
(A=v.name.toLowerCase(),A==="class"?(s.className=v.value):s.setAttribute(v.name,v.value));s.innerHTML=q,n.parentNode.replaceChild(s,n),n=s}else n.innerHTML=q;if(j&&n.tagName==="PRE"){v=n.getElementsByTagName("br");for(q=v.length;--q>=0;)p=v[q],p.parentNode.replaceChild(document.createTextNode(k),p)}}}G()}window.PR_normalizedHtml=V,window.prettyPrintOne=wa,window.prettyPrint=xa,window.PR={combinePrefixPatterns:la,createSimpleLexer:T,registerLangHandler:L,sourceDecorator:Q,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",
PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ"}}();(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,t,o){this.numCompleteTranslations=0;this.contentContainers=h;this.originalText=[];this.translatedText=[];this.srcLang=t;this.destLang=o;for(h=0;h<this.contentContainers.length;h++)this.originalText.push(this.contentContainers[h].innerHTML)};b.prototype.translationComplete=function(h,t,o,B){if(o==200&&!B){for(o=0;o<t.length;o++)if(t[o].responseStatus!=200){t.slice(o);o--}this.translatedText[h]=t;this.numCompleteTranslations++;if(this.numCompleteTranslations==this.numTranslations){h=
[];for(o=0;o<this.translatedText.length;o++)h=h.concat(this.translatedText[o]);this.translatedText=h;for(o=0;o<this.translatedText.length;o++)if(this.translatedText[o].responseStatus==200)this.contentContainers[o].innerHTML=this.translatedText[o].responseData.translatedText}}};b.prototype.createScriptURLs=function(){var h=this.contentContainers,t=this.srcLang,o=this.destLang,B=[];t="http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&callback=CODESITE_newsBlogTH.translationComplete&langpair="+
t+"%7C"+o;o=0;for(var D=t+"&context="+o,I=0;I<h.length;I++){var J=encodeURIComponent(h[I].innerHTML);if(J)if((D+J).length<1800)D+="&q="+J;else{B.push(D);o++;D=t+"&context="+o;if((D+J).length<1800)D+="&q="+J}}B.push(D);return B};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 t=this.createScriptURLs();
this.numTranslations=t.length;for(h=0;h<t.length;h++)jQuery.ajax({type:"GET",url:t[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,qualityScore:0.415,comparisonType:3,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);

